【问题标题】:Cloudwatch agent not sending logs to cloudwatchCloudwatch 代理未将日志发送到 cloudwatch
【发布时间】:2020-02-27 17:20:02
【问题描述】:

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

这是两个日志:

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

我使用 amazon-cloudwatch-agent-config-wizard 创建了配置文件,这里是显示正确文件路径的文件的 sn-p:

"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?我该怎么做才能解决这个问题?

任何帮助将不胜感激。

【问题讨论】:

标签: amazon-web-services amazon-cloudwatch


【解决方案1】:

所以问题原来是基于权限的。 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。想我可能在更新时丢失了它们。可能仍然基于许可。现在想也许我只需要重新申请它们。
【解决方案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。

【讨论】:

  • 感谢您的帮助!最终成为与权限相关的问题。
猜你喜欢
  • 2020-01-25
  • 2019-12-01
  • 2022-07-14
  • 2018-03-10
  • 1970-01-01
  • 1970-01-01
  • 2020-06-29
  • 2020-10-23
  • 1970-01-01
相关资源
最近更新 更多