CloudWatch 如何找到相关的遥测? - Amazon CloudWatch

CloudWatch 如何找到相关的遥测?

CloudWatch 的探索相关窗格显示了相互关联的指标和日志,但这是如何运作的?

发送到 CloudWatch 的指标和日志可以包括与之相关的可选实体。通常,实体将代表遥测的内容。例如,有关 CPU 使用率的指标与 Amazon EC2 实例有关,它将使用该实例作为其实体。在探索相关窗格中查看该指标时,其中会显示同一实例的其他遥测。

探索相关窗格中的拓扑图(地图)显示当前选定的资源以及相关资源。对于 AWS 资源,CloudWatch 会自动显示其知道的其他相关资源。例如,假设要查看某个 Amazon EC2 实例,地图还将显示挂载到该实例的所有 Amazon EBS 卷。选择一个卷会显示该卷的遥测,并且地图会更新以显示与该卷相关的资源。它还会显示属于同一服务的资源。

与遥测相关的实体信息定义了遥测与之关联的资源,例如 Amazon EC2 实例。但这可能也包括有关资源的上下文数据。例如,如果您的网站应用程序包含 Amazon EC2 实例和数据库等资源,则实体信息可以将网站应用程序作为服务包括在内。在这种情况下,拓扑图将服务显示为相关实体,当您选择它时,它会显示实例和数据库。这可以简化为一项服务查找所有遥测的过程。

注意

CloudWatch 必须在过去三小时内收到包含实体信息的遥测,以便查找相关资源和遥测。

CloudWatch 可以通过不同的方式获取用于遥测的实体:

除了识别资源(例如实例资源和附加卷资源)之间的自然连接外,CloudWatch 还可以按服务对资源进行分组。例如,服务可能是网站应用程序。带 Web 服务器的 Amazon EC2 实例和另一个带数据库的 Amazon EC2 实例可能都属于同一服务,并且基于该服务在拓扑图上进行连接。

CloudWatch 可以通过不同的方式获取遥测服务名称,包括:

  • Application Signals 或 otel 检测遥测使用受支持的 OpenTelemetry 分析库所用的 OTEL_SERVICE_NAME 环境变量来设置服务名称。

  • CloudWatch 代理配置允许配置服务名称。有关更多信息,请参阅 为相关实体配置 CloudWatch 代理服务和环境名称

  • Kubernetes 工作负载使用集群中的相应名称作为服务名称,例如部署、ReplicaSet、容器组(pod)或容器。

  • 对于 Amazon EC2 工作负载,服务可以来自标签(serviceapplicationapp 标签)。

    注意

    要使用标签生成服务名称,必须先为 Amazon EC2 实例设置实例元数据

  • 当您提交自己的遥测时,可以将服务信息添加到数据。有关更多信息,请参阅 如何向发送到 CloudWatch 的自定义遥测添加相关信息

  • 当无法使用上述内容时,CloudWatch 会使用发送指标的 IAM 角色名称作为服务名称。例如,这可以为 Amazon ECS 遥测提供服务名称。