amazon-cloudwatch-agent se apaga cada vez que se recarga la aplicación

amazon-cloudwatch-agent se apaga cada vez que se recarga la aplicación

Tengo una aplicación Tomcat en Elastic Beanstalk y quiero enviar registros a Cloudwatch Logs. Con ese fin, configuré log4j para escribir en un archivo, y en .ebextension, amazon-cloudwatch-agentse instala y se ejecuta.

commands:
#  00_download_and_install:
#    command: rpm --upgrade --force https://s3.amazonaws.com/amazoncloudwatch-agent/amazon_linux/amd64/latest/amazon-cloudwatch-agent.rpm
  01_start:
    command: /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a fetch-config -m ec2 -c file:/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json -s
packages:
  yum:
    amazon-cloudwatch-agent: []
files:
  "/opt/aws/amazon-cloudwatch-agent/etc/amazon-cloudwatch-agent.json":
    content: |
       {...
       }

Desafortunadamente, cada vez que implemento la aplicación en Elastic Beanstalk, el agente se apaga y tengo que reiniciarlo manualmente a través de ssh.

Respuesta1

Si configura la transmisión de registros predeterminada como deshabilitada en la configuración del entorno, Beanstalk detendrá el agente de Cloudwatch durante la implementación. Desafortunadamente, lo hace poco después de que se ejecuta el comando ebextension para iniciar el agente.

Para resolver este problema, utilicé un enlace posterior a la implementación de la plataforma, que se ejecuta después de la implementación y, por lo tanto, anula el cierre del agente desde el valor predeterminado de Beanstalk.

Simplemente coloque un script de shell que contenga el comando de inicio en ./platform/hooks/postdeploy/ en su paquete de aplicación.

información relacionada