如何修改CloudWatch Agent的日志上报所属区域?
可能的配置错误原因
- 配置优先级被覆盖:awslogs 代理读取区域配置的优先级高于
awslogs.conf的[general]段配置的情况有两种:一是root用户的AWS CLI配置文件/root/.aws/credentials或/root/.aws/config中指定了region = us-east-1,二是实例全局awslogs配置文件/etc/sysconfig/awslogs中设置了REGION=us-east-1,以上两个位置的区域参数优先级都会高于你在awslogs.conf中设置的值。 - 配置修改未生效:修改
awslogs.conf后未重启对应服务,配置不会生效,代理会一直沿用启动时加载的旧配置运行。 - 代理配置文件路径匹配错误:如果你安装的是新版统一 CloudWatch Agent 而非旧版独立awslogs代理,它默认不会读取
awslogs.conf文件,而是加载/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json配置文件,你在旧配置文件中写入的us-east-2区域参数不会被识别。
修复步骤
- 检查root用户AWS配置,执行
cat /root/.aws/config确认是否存在region = us-east-1配置,如有修改为region = us-east-2。 - 检查
/etc/sysconfig/awslogs文件,确认REGION参数值为us-east-2。 - 确认你使用的日志代理类型:
- 旧版awslogs代理:执行
systemctl restart awslogs重启服务加载新配置 - 新版CloudWatch Agent:在JSON配置的
agent字段下添加"region": "us-east-2",执行amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json重载配置,再执行systemctl restart amazon-cloudwatch-agent重启服务。
- 旧版awslogs代理:执行
内容的提问来源于stack exchange,提问作者JPNagarajan
相关产品推荐
相关产品推荐

