Atualmente usando os serviços da web da Amazon, implantei com êxito vários aplicativos no Elastic Beanstalk (com integridade de cluster verde) como contêineres do Docker.
O problema, no entanto, surge quando tento obter os logs com o console; quando eu "solicito logs", nenhum log é encontrado. Quando eu, em seguida, retornar ao painel depois de ter solicitado os logs, um novo evento / erro apareceu:
[Instance: i-123456789] Command failed on instance. Return code: 1 Output: bundleLogs.py --conf-path '/opt/elasticbeanstalk/tasks/bundlelogs.d/*' --location-prefix 'resources/environments/logs/bundle/' Unable to execute method publish_contents_from_filename on any of the target objects. For more detail, check /var/log/eb-activity.log using console or EB CLI.
Tentando resolver o problema, eu fiz SSH no meu cluster e usei o seguinte comando para encontrar os logs em meu contêiner do Docker:
sudo docker exec myinstance cat /var/log/logstash_activity.log
Meus logs são encontrados como esperado.
Tentando aprender mais sobre o erro, dei uma olhada no /var/log/eb-activity.log e encontrei as seguintes linhas:
[2015-07-06T12:54:30.137Z] INFO [26993] - [CMD-BundleLogs] : Starting activity...
[2015-07-06T12:54:30.363Z] INFO [26993] - [CMD-BundleLogs/AddonsBefore] : Starting activity...
[2015-07-06T12:54:30.363Z] INFO [26993] - [CMD-BundleLogs/AddonsBefore] : Completed activity.
[2015-07-06T12:54:30.363Z] INFO [26993] - [CMD-BundleLogs/BundleLogs] : Starting activity...
[2015-07-06T12:54:30.364Z] INFO [26993] - [CMD-BundleLogs/BundleLogs/BundleLogs] : Starting activity...
[2015-07-06T12:54:30.627Z] INFO [26993] - [CMD-BundleLogs/BundleLogs/BundleLogs] : Activity execution failed, because: bundleLogs.py --conf-path '/opt/elasticbeanstalk/tasks/bundlelogs.d/*' --location-prefix 'resources/environments/logs/bundle/'
Unable to execute method publish_contents_from_filename on any of the target objects (Executor::NonZeroExitStatus)
[2015-07-06T12:54:30.627Z] INFO [26993] - [CMD-BundleLogs/BundleLogs/BundleLogs] : Activity failed.
[2015-07-06T12:54:30.627Z] INFO [26993] - [CMD-BundleLogs/BundleLogs] : Activity failed.
[2015-07-06T12:54:30.627Z] INFO [26993] - [CMD-BundleLogs] : Completed activity. Result:
Command CMD-BundleLogs failed.
A mensagem de erro não me ajudou muito, no entanto.
No campo "Logging" do meu Dockerrun.aws.json, dei o caminho "/ var / log", pois é a pasta que contém os logs do meu aplicativo, entre outros. Eu também tentei o valor "/var/log/logstash_activity.log" sem mais sucesso.
Por que o console do Beanstalk não consegue encontrar os registros dos meus aplicativos?