View a markdown version of this page

使用 CloudWatch 日志见解进行监控 - AWS 上的分布式负载测试

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

使用 CloudWatch 日志见解进行监控

此解决方案部署了四个 CloudWatch Logs Insights 保存的查询,这些查询显示在 CloudWatch Logs Insights 控制台的 “已保存查询 这些查询无需您编写自定义查询即可查看测试编排、错误、任务失败和孤儿清理。

每个查询名称都包含堆栈名称和区域,以便在多个部署中进行识别。例如:DLT - Test Timeline [my-stack us-east-1]

使用已保存的查询

要运行已保存的查询,请执行以下操作:

  1. 打开 “CloudWatch 日志见解” 控制台

  2. 在左侧面板中,展开 “已保存的查询”。

  3. 选择前缀为的DLT -查询。

  4. 如果查询包含占位符值REPLACE_WITH_TEST_RUN_ID,例如,请将其替换为测试结果中的实际测试运行 ID。

  5. 选择运行查询

DLT-测试时间表

显示跨所有编排 Lambda 函数运行的单个测试的完整生命周期。使用此查询可以跟踪从测试创建到完成的事件顺序。

属性

字段

@timestamp, logEvent, message, region, error

筛选条件

testRunId = "REPLACE_WITH_TEST_RUN_ID"

排序

@timestamp asc

限制

500

REPLACE_WITH_TEST_RUN_ID替换为您要调查的测试运行 ID。

DLT-测试错误

显示在 Lambda 函数和 ECS 任务之间运行的单个测试的所有 ERROR-level 条目。使用此查询可以确定测试失败或产生意外结果时的根本原因。

属性

字段

@timestamp, logEvent, message, region, taskId, error

筛选条件

testRunId = "REPLACE_WITH_TEST_RUN_ID" and level = "ERROR"

排序

@timestamp asc

REPLACE_WITH_TEST_RUN_ID替换为您要调查的测试运行 ID。

DLT-任务失败

显示各个 ECS 任务失败以及停止代码和故障分类。使用此查询来了解测试期间特定的 Fargate 任务停止的原因。

属性

字段

@timestamp, testId, testRunId, region, taskArn, stopCode, exitCode, stopCategory, stoppedReason

筛选条件

logEvent = "TASK_FAILURE_DETECTED"

排序

@timestamp desc

限制

50

此查询不需要测试运行 ID,它会显示所有测试运行中最近的所有任务失败。

DLT-孤儿清理

显示孤立 ECS 服务检测的历史记录。使用此查询来验证每小时的孤儿清理过程是否在查找和删除废弃的服务。

属性

字段

@timestamp, logEvent, message, region, cluster, orphanCount, orphanTestIds

筛选条件

logEvent = "ORPHAN_DETECTED"

排序

@timestamp desc

限制

50