更新至所需版本的代理或 Amazon EKS 加载项
2024 年 8 月 9 日之后,CloudWatch Application Signals 将不再支持旧版的 Amazon CloudWatch 可观测性 EKS 加载项、CloudWatch 代理和 Amazon Distro for OpenTelemetry 自动检测代理。
对于 Amazon CloudWatch 可观测性 EKS 加载项,将不支持早于
v1.7.0-eksbuild.1
的版本。对于 CloudWatch 代理,将不支持早于
1.300040.0
的版本。对于 Amazon Distro for OpenTelemetry 自动检测代理:
对于 Java,将不支持早于
1.32.2
的版本。对于 Python,将不支持早于
0.2.0
的版本。
重要
最新版本的代理包括对 Application Signals 指标架构的更新。这些更新不向后兼容,如果使用不兼容的版本,则可能会导致数据问题。为确保无缝过渡到新功能,请执行以下操作:
如果您的应用程序在 Amazon EKS 上运行,则请务必在更新 Amazon CloudWatch 可观测性加载项后重新启动所有已检测的应用程序。
对于在其他平台上运行的应用程序,请确保将 CloudWatch 代理和 Amazon OpenTelemetry 自动检测代理同时升级到最新版本。
以下各节中的说明可以帮助您更新到支持的版本。
目录
更新 Amazon CloudWatch 可观测性 EKS 加载项
要更新 Amazon CloudWatch 可观测性 EKS 加载项,您可以使用 Amazon Web Services Management Console 或 Amazon CLI。
使用控制台
使用控制台升级加载项
从以下位置打开 Amazon EKS 控制台:https://console.aws.amazon.com/eks/home#/clusters
。 选择要更新的 Amazon EKS 集群的名称。
选择加载项选项卡,然后选择 Amazon CloudWatch 可观测性。
依次选择编辑、要更新到的版本和保存更改。
请务必选择
v1.7.0-eksbuild.1
或更高版本。输入以下 Amazon CLI 命令之一以重新启动服务。
# Restart a deployment kubectl rollout restart deployment/
name
# Restart a daemonset kubectl rollout restart daemonset/name
# Restart a statefulset kubectl rollout restart statefulset/name
使用 Amazon CLI
使用 Amazon CLI 升级加载项
输入以下命令以查找最新版本。
aws eks describe-addon-versions \ --addon-name amazon-cloudwatch-observability
输入以下命令以更新加载项。将
$VERSION
替换为版本v1.7.0-eksbuild.1
或更高版本。将$AWS_REGION
和$CLUSTER
替换为您的区域和集群名称。aws eks update-addon \ --region
$AWS_REGION
\ --cluster-name$CLUSTER
\ --addon-name amazon-cloudwatch-observability \ --addon-version$VERSION
\ # required only if the advanced configuration is used. --configuration-values$JSON_CONFIG
注意
如果您为加载项使用自定义配置,则可以在 启用 CloudWatch Application Signals 中找到用于
$JSON_CONFIG
的配置示例。输入以下 Amazon CLI 命令之一以重新启动服务。
# Restart a deployment kubectl rollout restart deployment/
name
# Restart a daemonset kubectl rollout restart daemonset/name
# Restart a statefulset kubectl rollout restart statefulset/name
更新 CloudWatch 代理和 ADOT 代理
如果您的服务在 Amazon EKS 以外的架构上运行,则需要同时升级 CloudWatch 代理和 ADOT 自动检测代理才能使用最新的 Application Signals 功能。
在 Amazon ECS 上更新
为在 Amazon ECS 上运行的服务升级您的代理
创建新的任务定义修订。有关更多信息,请参阅使用控制台更新任务定义。
将
ecs-cwagent
容器的$IMAGE
替换为 Amazon ECR 上 cloudwatch-agent的最新映像标签。 如果您升级到固定版本,则请务必使用版本
1.300040.0
或更高版本。将
init
容器的$IMAGE
替换为以下位置的最新映像标签:对于 Java,请使用 aws-observability/adot-autoinstrumentation-java
如果您升级到固定版本,则请务必使用版本
1.32.2
或更高版本。对于 Python,请使用 aws-observability/adot-autoinstrumentation-python
如果您升级到固定版本,则请务必使用版本
0.2.0
或更高版本。
按照 步骤 4:使用 CloudWatch 代理检测您的应用程序 中的说明更新应用程序容器中的 Application Signals 环境变量。
使用新任务定义部署服务。
在 Amazon EC2 或其他架构上进行更新
为在 Amazon ECS 或其他架构上运行的服务升级您的代理
按照 下载 CloudWatch 代理软件包 中的说明操作,将 CloudWatch 代理升级到最新版本。请务必选择版本
1.300040.0
或更高版本。从以下位置之一下载最新版本的 Amazon Distro for OpenTelemetry 自动检测代理:
对于 Java,请使用 aws-otel-java-instrumentation
如果您升级到固定版本,则请务必选择
1.32.2
或更高版本。对于 Python,请使用 aws-otel-python-instrumentation
如果您升级到固定版本,则请务必选择
0.2.0
或更高版本。
将更新的 Application Signals 环境变量应用于您的应用程序,然后启动该应用程序。有关更多信息,请参阅 步骤 3:检测您的应用程序并将其启动。