Агент Cloudwatch не отправляет логи в cloudwatch - PullRequest
0 голосов
/ 01 ноября 2019

Я пытаюсь отправить два лота в 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? Что я могу сделать, чтобы устранить эту проблему?

Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 14 ноября 2019

Таким образом, проблема оказалась разрешенной. Мастер конфигурации 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. Ожидайте некоторую засыпку.

0 голосов
/ 13 ноября 2019

Проверка

  • журнал агента 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.

...