云监控代理未将日志发送到云监控

5

我正在尝试将两个日志发送到CloudWatch。

这是这两个日志:

  1. /var/log/apache2/access.log
  2. /var/log/apache2/error.log

我使用amazon-cloudwatch-agent-config-wizard创建配置文件,以下是文件的一部分,显示了正确的文件路径:

"collect_list": [
    {
         "file_path": "/var/log/apache2/access.log",
         "log_group_name": "*group_name*",
         "log_stream_name": "apache-access"
    },
    {
         "file_path": "/var/log/apache2/error.log",
         "log_group_name": "group-name*",
         "log_stream_name": "apache-error"
    }
]

我用以下方式加载了配置文件:

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s

运行过程中未遇到任何错误,亚马逊云监控代理日志中也没有显示错误。

检查Amazon CloudWatch代理的状态,显示它正在运行且没有错误。还指出模式是有效的。

所有这一切的独特之处在于,我已删除旧的CloudWatch代理并安装了新的代理。我在两个EC2实例上完成了此操作,其中一个完全正常工作,而另一个则无法将日志发送到CloudWatch。

简而言之,为什么日志没有上传到CloudWatch?我该如何进行故障排除?

非常感谢您提供任何帮助。


2
以下是一份关于如何设置CloudWatch的逐步指南,包括屏幕截图和终端输出 https://github.com/nicholsonjf/e15/blob/master/independent-study/README.md - nicholsonjf
2个回答

13

所以问题最终是基于权限的。CloudWatch配置向导默认使用cwagent作为运行CloudWatch的用户,这也在官方指南中再次强调。

将运行使用更改为root解决了该问题,即使在尝试运行时相关文件都具有777权限。

您要编辑的配置文件是:

sudo nano /opt/aws/amazon-cloudwatch-agent/bin/config.json

在文件顶部,您会看到:

"agent": {
    "metrics_collection_interval": 60,
    "run_as_user": "cwagent"
},

您需要将 run_as_user 更改为 root,例如:

"agent": {
    "metrics_collection_interval": 60,
    "run_as_user": "root"
},

修改完毕后,只需重新加载配置文件:

sudo /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json -s

然后重新启动服务:

sudo systemctl restart amazon-cloudwatch-agent.service

您应该会看到日志进入 CloudWatch。预计会有一些补偿。


我想第一次遇到这个问题时我使用了FACL。我想可能是在更新中丢失了它们。可能仍然基于权限。现在我想也许我只需要重新应用它们。 - ficuscr

2

检查

  • CloudWatch代理程序日志-/opt/aws/amazon-cloudwatch-agent/logs/amazon-cloudwatch-agent.log。 在这里,您应该看到类似于-Reading from /var/log/apache2/access.log的一些行,适用于两个文件。

  • 检查代理程序toml文件以确保已配置两个文件路径并检查区域- /opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.toml


感谢您的帮助!最终问题是与权限相关的。 - Alex

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接