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

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

ServiceLens 故障排除

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

我未看到我的所有日志

如何将日志配置为显示在 ServiceLens 中取决于服务。

  • 如果在 API 网关 中打开日志记录,则会显示 API 网关 日志。

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

  • Lambda如果请求 ID 位于日志条目中,则会显示 日志。对于下表中列出的情况,此操作会自动发生。对于其他情况,如果运行时未自动包含跟踪 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()

转到

fmt.Printf

log.Print

Ruby

puts

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

如果与节点关联的任何警报处于 ALARM (警报) 状态,ServiceLens 将仅显示该节点的警报图标。

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

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

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

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

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

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

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

  • AWS::DynamoDB::Table

  • AWS::Lambda::Function

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

  • AWS::ApiGateway::Stage

  • AWS::SQS::Queue

  • AWS::SNS::Topic

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

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