将 CloudWatch 代理与相关遥测结合使用 - Amazon CloudWatch
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

将 CloudWatch 代理与相关遥测结合使用

发送到 CloudWatch 的指标和日志可以包括用于关联遥测的可选实体。实体在浏览相关窗格中使用。CloudWatch 代理发送包含服务名称和环境名称的实体。

代理从以下数据中选择服务名称和环境名称。

服务名称

代理按优先级顺序从以下选项中选择服务名称:

  • Application Signals 检测:代理发送 Application Signals 使用的服务名称。可以通过更改受支持的 OpenTelemetry 检测库使用的 OTEL_SERVICE_NAME 环境变量来覆盖此名称。

  • CloudWatch 代理配置:可以配置代理来使用特定的服务名称。可以在代理、插件、指标、日志或日志文件级别进行此配置。

  • Kubernetes 工作负载名称:对于 Kubernetes 工作负载,代理按以下优先级顺序发送相应容器组(pod)的工作负载名称。

    • 部署名称

    • ReplicaSet 名称

    • StatefulSet 名称

    • DaemonSet 名称

    • CronJob 名称

    • 作业名称

    • 容器组名称

    • 容器名称

  • 实例元数据中的资源标签:对于 Amazon EC2 工作负载,代理按以下顺序从标签发送名称。

    • service

    • 应用程序

    • 应用程序

    您必须设置实例元数据,以便代理能够访问标签。

  • 默认:如果未找到其他服务名称,则代理将发送名称 Unknown

环境名称

代理按优先级顺序从以下选项中选择环境名称:

  • Application Signals 检测:代理发送 Application Signals 使用的环境名称。可以通过设置受支持的 OpenTelemetry 检测库使用的 deployment.environment 环境变量来覆盖此名称。例如,应用程序可以设置环境变量 OTEL_RESOURCE_ATTRIBUTES=deployment.environment=MyEnvironment

  • CloudWatch 代理配置:可以配置代理来使用特定的环境名称。可以在代理、插件、指标、日志或日志文件级别进行此配置。

  • 集群名称和工作空间:如果是 Amazon EKS,则是 eks:cluster-name/Namespace。如果是在 Amazon EC2 上运行的本机 Kubernetes,则是 k8s:cluster-name/Namespace

  • 实例元数据中的资源标签 – 对于 Amazon EC2 工作负载,代理可以使用 AutoScalingGroup 标签。

    您必须设置实例元数据,以便代理能够访问标签。

  • 默认情况下,未运行 Kubernetes 的 Amazon EC2 实例将获得环境名称 ec2:default