将 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:
。如果是在 Amazon EC2 上运行的本机 Kubernetes,则是cluster-name
/Namespace
k8s:
。cluster-name
/Namespace
-
实例元数据中的资源标签 – 对于 Amazon EC2 工作负载,代理可以使用
AutoScalingGroup
标签。您必须设置实例元数据,以便代理能够访问标签。
-
默认情况下,未运行 Kubernetes 的 Amazon EC2 实例将获得环境名称
ec2:default
。