ServiceLens 问题排查 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅中国的 Amazon Web Services 服务入门

ServiceLens 问题排查

如果您在使用 CloudWatch ServiceLens 时遇到问题,以下部分可为您提供帮助。

我未看到我的所有日志

如何将日志配置为根据服务显示在 ServiceLens 中。

  • 如果已在 API Gateway 中启用了日志记录,则会显示 API Gateway 日志。

  • 如果您使用的是最新版本的 X-Ray 开发工具包和 CloudWatch 代理,则会显示 Amazon ECS 和 Amazon EKS 日志。有关更多信息,请参阅 部署 ServiceLens

  • 如果请求 ID 位于日志条目中,则会显示 Lambda 日志。对于下表中列出的情况,此操作会自动发生。对于其他情况,如果运行时未自动包含跟踪 ID,您可以手动包含跟踪 ID。

运行时 方法 请求 ID 是否会自动显示在日志条目中?

Java

context.getLogger.log

aws-lambda-java-log4j2

Java

System.out.println

Python

context.log

logging.info/error/log/etc...

Python

print

Node.js

context.log

console.log/info/error/etc...

dotnet

context.Logger.log

Console.WriteLine()

Go(转到)

fmt.Printf

log.Print

Ruby

puts

我未在服务地图上看到我的所有告警

如果与节点关联的任何告警都处于 ALARM 状态,则 ServiceLens 仅显示该节点的提示图标。

ServiceLens 使用以下逻辑将告警与节点关联:

  • 如果节点代表 Amazon 服务,则包含与该服务关联的命名空间的所有告警都与该节点关联。例如,AWS::Kinesis 类型的节点与基于 CloudWatch 命名空间 AWS/Kinesis 中指标的所有告警关联。

  • 如果节点代表一个 Amazon 资源,则将链接该特定资源上的告警。例如,名为“MyTable”的 AWS::DynamoDB::Table 类型的节点将链接到所有基于具有命名空间 AWS/DynamoDB 的指标且 TableName 维度设置为 MyTable 的告警。

  • 如果节点的类型未知(由名称周围的虚线边框标识),则任何告警均不会与该节点关联。

我未看到服务地图上的某些 Amazon 资源

对于服务地图上要跟踪的 Amazon 资源,必须使用 X-Ray 开发工具包捕获 Amazon 开发工具包。有关 X-Ray 的更多信息,请参阅什么是 Amazon X-Ray

并非每个 Amazon 资源都由一个专用节点表示。对于对服务的所有请求,某些 Amazon 服务由单个节点表示。将显示以下资源类型,并且每个资源对应一个节点:

  • AWS::DynamoDB::Table

  • AWS::Lambda::Function

    Lambda 函数由两个节点表示:一个表示 Lambda 容器,另一个表示函数。这有助于识别 Lambda 函数的冷启动问题。Lambda 容器节点与告警和控制面板的关联方式与 Lambda 函数节点与告警和控制面板的关联方式相同。

  • AWS::ApiGateway::Stage

  • AWS::SQS::Queue

  • AWS::SNS::Topic

我的服务地图包含太多节点

使用 X-Ray 组将您的地图分成多个地图。有关更多信息,请参阅对组使用筛选表达式