Fazer streaming de informações de integridade do ambiente do Elastic Beanstalk para o Amazon CloudWatch Logs - AWS Elastic Beanstalk

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

Fazer streaming de informações de integridade do ambiente do Elastic Beanstalk para o Amazon CloudWatch Logs

Se você habilitar o relatório de integridade avançada para seu ambiente, poderá configurar o ambiente para fazer streaming de informações de integridade para o CloudWatch Logs. Esse streaming é independente do streaming de logs de instância do Amazon EC2. Este tópico descreve o processo de streaming de informações de integridade do ambiente. Para obter mais informações sobre streaming de logs de instância, consulte Usar o Elastic Beanstalk com o Amazon CloudWatch Logs.

Quando você configura o streaming de integridade do ambiente, o Elastic Beanstalk cria um grupo de logs do CloudWatch Logs para a integridade do ambiente. O nome do grupo de logs é /aws/elasticbeanstalk/environment-name/environment-health.log. Dentro desse grupo de logs, o Elastic Beanstalk cria streams de logs denominados YYYY-MM-DD#<hash-suffix> (pode haver mais de um stream de logs por data).

Quando o status de integridade do ambiente é alterado, o Elastic Beanstalk adiciona um registro ao stream de logs de integridade. O registro representa a transição do status de integridade – o novo status e uma descrição do motivo da alteração. Por exemplo, o status de um ambiente pode se alterar para Grave porque o load balancer está falhando. Para obter uma descrição do status de integridade avançada, consulte Status e cores de integridade.

Pré-requisitos para fazer streaming da integridade do ambiente para o CloudWatch Logs

Para habilitar o streaming de integridade do ambiente para o CloudWatch Logs, é necessário atender às seguintes condições:

  • Plataforma: você precisa usar uma versão de plataforma compatível com os relatórios de integridade aprimorada.

  • Permissões: é necessário conceder determinadas permissões relacionadas ao registro em log ao Elastic Beanstalk para que ele possa atuar em seu nome com o objetivo de fazer streaming de informações de integridade do ambiente. Se o ambiente não estiver usando uma função de serviço criada pelo Elastic Beanstalk para ele, aws-elasticbeanstalk-service-role ou a função vinculada ao serviço de sua conta, AWSServiceRoleForElasticBeanstalk, lembre-se de adicionar as permissões a seguir à sua função de serviço personalizada.

    { "Effect": "Allow", "Action": [ "logs:DescribeLogStreams", "logs:CreateLogStream", "logs:PutLogEvents" ], "Resource": "arn:aws:logs:*:*:log-group:/aws/elasticbeanstalk/*:log-stream:*" }

Fazer streaming de logs de integridade do ambiente para o CloudWatch Logs

É possível habilitar o streaming de integridade do ambiente para o CloudWatch Logs usando o console do Elastic Beanstalk, a CLI do EB ou as opções de configuração.

Fazer streaming de logs de integridade do ambiente usando o console do Elastic Beanstalk

Como fazer streaming de logs de integridade do ambiente para o CloudWatch Logs
  1. Abra o console do Elastic Beanstalk e, na lista Regions (Regiões), selecione a sua Região da AWS.

  2. No painel de navegação, selecione Ambientes e selecione o nome do ambiente na lista.

    nota

    Se você tiver muitos ambientes, use a barra de pesquisa para filtrar a lista de ambientes.

  3. No painel de navegação, escolha Configuration (Configuração).

  4. Na categoria de configuração Monitoring (Monitoramento), escolha Edit (Editar).

  5. Em Health reporting (Relatório de integridade), verifique se System (Sistema) está definido como Enhanced (Avançado).

  6. Em Health event streaming to CloudWatch Logs (Streaming de eventos de integridade para o CloudWatch Logs)

    • Ative Log streaming (Streaming de logs).

    • Defina Retention (Retenção) com o número de dias para salvar os logs.

    • Selecione a configuração Lifecycle (Ciclo de vida) que determina se os logs devem ser salvos depois que o ambiente é encerrado.

  7. Para salvar as alterações, escolha Apply (Aplicar) na parte inferior da página.

Depois de ativar o streaming de logs, você poderá voltar para a categoria ou a página de configuração Monitoring (Monitoramento) para encontrar o link Log Group (Grupo de logs). Clique neste link para ver os logs de integridade do ambiente no console do CloudWatch.

Streaming de logs de integridade do ambiente usando a EB CLI

Para habilitar o streaming de logs de integridade do ambiente para o CloudWatch Logs usando a CLI do EB, use o comando eb logs.

$ eb logs --cloudwatch-logs enable --cloudwatch-log-source environment-health

Você também pode usar eb logs para recuperar logs do CloudWatch Logs. Por exemplo, o comando a seguir recupera todos os logs de integridade para seu ambiente e os salva em um diretório em .elasticbeanstalk/logs.

$ eb logs --all --cloudwatch-log-source environment-health

Streaming de logs de integridade do ambiente usando arquivos de configuração

Ao criar ou atualizar um ambiente, você pode usar um arquivo de configuração para definir e configurar o streaming de logs de integridade do ambiente para o CloudWatch Logs. Para usar o exemplo abaixo, copie o texto em um arquivo com a extensão .config no diretório .ebextensions, no nível superior do pacote de origem de seu aplicativo. O exemplo configura o Elastic Beanstalk para habilitar o streaming de logs de integridade do ambiente, manter os logs depois de encerrar o ambiente e salvá-los por 30 dias.

exemplo Arquivo de configuração de streaming de integridade
############################################################################ ## Sets up Elastic Beanstalk to stream environment health information ## to Amazon CloudWatch Logs. ## Works only for environments that have enhanced health reporting enabled. ############################################################################ option_settings: aws:elasticbeanstalk:cloudwatch:logs:health: HealthStreamingEnabled: true ### Settings below this line are optional. # DeleteOnTerminate: Delete the log group when the environment is # terminated. Default is false. If false, the health data is kept # RetentionInDays days. DeleteOnTerminate: false # RetentionInDays: The number of days to keep the archived health data # before it expires, if DeleteOnTerminate isn't set. Default is 7 days. RetentionInDays: 30

Sobre opções padrão e valores válidos, consulte aws:elasticbeanstalk:cloudwatch:logs:health.