gpt4 book ai didi

amazon-web-services - Cloudwatch 代理未将日志发送到 cloudwatch

转载 作者:行者123 更新时间:2023-12-04 14:45:41 25 4
gpt4 key购买 nike

我正在尝试将两批日志发送到 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-agent.log 中没有遇到任何错误和错误并显示。

检查 Amazon CloudWatch 代理的状态表明它正在运行并且没有错误。还声明架构是有效的。

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

简而言之,为什么日志不上传到 CloudWatch?我该怎么做才能解决这个问题?

任何帮助将不胜感激。

最佳答案

所以问题原来是基于权限的。 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。期待一些回填。

关于amazon-web-services - Cloudwatch 代理未将日志发送到 cloudwatch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58658744/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com