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

如果我们为英文版本指南提供翻译,那么如果存在任何冲突,将以英文版本指南为准。在提供翻译时使用机器翻译。

ServiceLens 故障排除

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

我未看到我的所有日志

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

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

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

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

Runtime Method 在日志条目中自动请求 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 资源,必须使用 X-Ray 软件开发工具包捕获 AWS 开发工具包。有关 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 组将您的地图分成多个地图。有关更多信息,请参阅对组使用筛选表达式