Ver os registros do Java Spring Boot do AWS Elastic Beanstalk no AWS CloudWatch
Estou lendo a documentação, mas não estou entendendo o acesso simples ao log do aplicativo Java via CloudWatch do AWS Elastic Beanstalk.
Eu tenho um aplicativo Java Spring Boot simples implantado no Elastic Beanstalk como um arquivo JAR usando a plataforma Java Corretto 11 com HTTPS. Ele criou com sucesso uma instância EC2 e um balanceador de carga. Posso acessar o site via HTTPS. Posso ver estatísticas de log de acesso simples na seção de monitoramento de ambiente do Elastic Beanstalk.
Mas para onde vão os logs do Java e como posso examiná-los no CloudWatch?
O Usando Elastic Beanstalk com Amazon CloudWatch Logs documentação parece ser sobre o legado agente CloudWatch Logs , não o novo agente CloudWatch unificada. Seja qual for o caso, essa página diz:
Elastic Beanstalk configura grupos de log em CloudWatch Logs para os vários arquivos de log que ele transmite.
Mas em CloudWatch Logs não tenho grupos de log. Então, algo já está errado.
Meu aplicativo Spring Boot JAR está sendo executado no Elastic Beanstalk. Quais são as minhas próximas etapas para visualizar os logs do Spring Boot no CloudWatch Logs?
Respostas
O segredo é que para o ambiente AWS Elastic Beanstalk, em Configuração, há uma seção "Instance log streaming to CloudWatch Logs". A configuração Fluxo de log deve ser habilitada.
Isso é mencionado na documentação Usando Elastic Beanstalk com Amazon CloudWatch Logs (ênfase adicionada):
Quando você habilita o streaming de log da instância para CloudWatch Logs, o Elastic Beanstalk envia arquivos de log das instâncias do seu ambiente para CloudWatch Logs.