У меня есть среда Elastic Beanstalk на AWS, где я развертываюсь через контейнер Docker. Я включил журналы по умолчанию из конфигурации пользовательского интерфейса Beanstalk, и мы получаем стандартные журналы, такие как eb-activity.log в CloudWatch.
Моя цель - интегрировать пользовательский файл журнала: logger.log в CloudWatch.
Dockerrun.aws.json выглядит так:
{
"AWSEBDockerrunVersion": "1",
"Ports": [
{
"ContainerPort": "3000"
}
],
"Logging": "/path/to/logs"
}
Затем в .ebextensions / 01_cloudwatch.config У меня есть
files:
/etc/awslogs/config/my_app_log.conf:
content: |
[/var/log/eb-docker/containers/eb-current-app/logger.log]
log_group_name=/aws/elasticbeanstalk/appname/var/log/eb-docker/containers/eb-current-app/logger.log
log_stream_name={instance_id}
file=/var/log/eb-docker/containers/eb-current-app/logger.log
group: root
mode: "000600"
owner: root
eb-пользователь имеет полные разрешения CloudWatch (CloudWatchFullAccess и CloudWatchLogsFullAccess). Также я могу проверить наличие / var / log / eb-docker / container / eb-current-app / logger.log .
Тем не менее, журналы не отображаются в CloudWatch. В этом же каталоге находятся файлы afc818177506-stdouterr.log, которые появляются в CloudWatch, они настраиваются в /etc/awslogs/config/beanstalklogs.conf. Более того, я сделал sudo service awslogs restart .
Есть идеи, как отладить проблему, или вы видите очевидную ошибку, которую я сделал, чтобы logger.log не появился в CloudWatch? Большое спасибо!
PS. Я уже рассматривал подобные вопросы и потратил достаточно времени, чтобы решить проблему без успеха, поэтому вам нужна помощь.