Gostaria de ver todos os meus registros no cloudwatch.
Eu tenho atualmente um ambiente de pé de feijão Elastic multi-docker.
Eu selecionei os logs para enviar para o cloudwatch indo para
Elastic Beanstalk > App > Env > Configuration > Software Configuration > CloudWatch Logs
Isso está ativado.
Quando olho no cloudwatch vejo os seguintes bits ...
/aws/elasticbeanstalk/myapp-staging/var/log/docker-events.log
/aws/elasticbeanstalk/myapp-staging/var/log/eb-activity.log
/aws/elasticbeanstalk/myapp-staging/var/log/eb-ecs-mgr.log
/aws/elasticbeanstalk/myapp-staging/var/log/ecs/ecs-agent.log
/aws/elasticbeanstalk/myapp-staging/var/log/ecs/ecs-init.log
Mas não vejo os registros de acesso / erro do nginx.
Eu tenho isso no meu Dockerrun.aws.json
"mountPoints":[
{
"sourceVolume": "awseb-logs-nginx",
"containerPath": "/var/log/nginx"
}
Se i SSH para a instância com esta contiver, eu posso ver esses logs (quando eu atingir URLS) sendo gerados (como esperado) no caminho local de /var/log/containers/nginx/access.log
etc.
Além disso, se eu for para o EBS > Registra e solicita logs recentes Eu também posso ver o que está no log de acesso, ele não está sendo enviado para o CloudWatch?
Eu queria saber se eu tinha que configurar um Log Group
com o caminho correto, eu tentei isso, mas ele não foi preenchido?
Tenho certeza de que estou perdendo alguma coisa para levar isso para o Cloudwatch, muito obrigado antecipadamente!
Atualização:
Desde então, adicionei o abaixo, que foi sugerido como o que é necessário. Este arquivo fica na pasta .ebextensions
chamada nginx_logs.conf
.
packages:
yum:
awslogs: []
files:
"/etc/awslogs/config/nginx_logs.conf" :
mode: "000600"
owner: root
group: root
content: |
[/var/log/containers/nginx/access.log]
log_group_name = '{"Fn::Join":["/", ["/aws/elasticbeanstalk", { "Ref":"AWSEBEnvironmentName" }, "var/log/containers/nginx/access.log"]]}'
log_stream_name = {instance_id}
file = /var/log/containers/nginx/access.log*
[/var/log//containers/nginx/error.log]
log_group_name = '{"Fn::Join":["/", ["/aws/elasticbeanstalk", { "Ref":"AWSEBEnvironmentName" }, "var/log/containers/nginx/error.log"]]}'
log_stream_name = {instance_id}
file = /var/log/containers/nginx/error.log*
commands:
"01":
command: chkconfig awslogs on
"02":
command: service awslogs restart
Ainda não há alegria, pois novamente ainda posso vê-los quando clico em registros de solicitações ou solicito os últimos 100 registros. Mas nada no cloudwatch ...