Exemplo: como usar métricas personalizadas do Amazon CloudWatch - 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á.

Exemplo: como usar métricas personalizadas do Amazon CloudWatch

Este tópico fornece um exemplo de configuração que integra as métricas do Elastic Beanstalk com o agente do Amazon CloudWatch para plataformas baseadas no Amazon Linux 2 e versões posteriores. O exemplo de configuração usa arquivos e comandos em um arquivo de configuração .ebextensions.

O Amazon CloudWatch é um serviço web que permite monitorar, gerenciar e publicar várias métricas, bem como configurar ações de alarmes com base em dados de métricas. É possível definir métricas personalizadas para seu próprio uso, e o Elastic Beanstalk enviará essas métricas para o Amazon CloudWatch. Assim que o Amazon CloudWatch contiver suas métricas personalizadas, você poderá visualizar as que estão no console do Amazon CloudWatch.

Importante

Os scripts de monitoramento do Amazon CloudWatch estão obsoletos. O agente do CloudWatch agora substituiu os scripts de monitoramento do CloudWatch para coletar métricas e logs.

Se você ainda estiver migrando dos scripts de monitoramento obsoletos para o agente e precisar de informações sobre os scripts de monitoramento, consulte Preterido: Coletar métricas usando os scripts de monitoramento do CloudWatch no Guia do usuário do Amazon EC2.

O agente do Amazon CloudWatch

O agente do Amazon CloudWatch permite a coleta de métricas e logs do CloudWatch de instâncias do Amazon EC2 e de servidores on-premises entre sistemas operacionais. O agente oferece suporte a métricas coletadas no nível do sistema. Ele também oferece suporte para a coleta de métricas personalizadas de aplicações ou serviços. Para obter mais informações sobre o agente do CloudWatch, consulte Coletar métricas e logs com o agente do CloudWatch no Guia do usuário do Amazon CloudWatch.

nota

Os Relatórios aprimorados de integridade do Elastic Beanstalk têm suporte nativo para a publicação de uma ampla variedade de métricas de instância e ambiente do CloudWatch. Para mais detalhes, consulte Publicar métricas personalizadas do Amazon CloudWatch para um ambiente.

Arquivo de configuração .Ebextensions

Este exemplo usa arquivos e comandos em um arquivo de configuração .ebextensions para configurar e executar o agente do Amazon CloudWatch na plataforma Amazon Linux 2. O agente faz parte do pacote do Amazon Linux 2. Se você estiver usando um sistema operacional diferente, etapas adicionais para instalar o agente podem ser necessárias. Para obter mais informações, consulte Instalar o agente do CloudWatch no Guia do usuário do Amazon CloudWatch.

Para usar esse exemplo, salve-o em um arquivo chamado cloudwatch.config em um diretório chamado .ebextensions no nível superior do diretório do projeto e implante a aplicação usando o console do Elastic Beanstalk (inclua o diretório .ebextensions em seu pacote de origem) ou na CLI do EB.

Para obter mais informações sobre esses arquivos de configuração, consulte Personalização avançada de ambiente com arquivos de configuração (.ebextensions).

.ebextensions/cloudwatch.config

files: "/opt/aws/amazon-cloudwatch-agent/bin/config.json": mode: "000600" owner: root group: root content: | { "agent": { "metrics_collection_interval": 60, "run_as_user": "root" }, "metrics": { "namespace": "System/Linux", "append_dimensions": { "AutoScalingGroupName": "${aws:AutoScalingGroupName}" }, "metrics_collected": { "mem": { "measurement": [ "mem_used_percent" ] } } } } container_commands: start_cloudwatch_agent: command: /opt/aws/amazon-cloudwatch-agent/bin/amazon-cloudwatch-agent-ctl -a append-config -m ec2 -s -c file:/opt/aws/amazon-cloudwatch-agent/bin/config.json

Este arquivo tem duas seções:

  • files: essa seção adiciona o arquivo de configuração do agente. Ela indica quais métricas e logs o agente deve enviar para o Amazon CloudWatch. Neste exemplo, estamos enviando apenas a métrica mem_used_percent. Para obter uma lista completa das métricas no nível do sistema que são compatíveis com o agente do Amazon CloudWatch, consulte Métricas coletadas pelo agente do CloudWatch no Guia do usuário do Amazon CloudWatch.

  • container_commands: essa seção contém o comando que inicia o agente, passando o arquivo de configuração como um parâmetro. Para obter mais detalhes sobre o container_commands, consulte Comandos de contêiner.

Permissões

As instâncias do ambiente precisam das permissões adequadas do IAM para publicar métricas personalizadas do Amazon CloudWatch, usando o agente do CloudWatch. Você pode conceder permissões às instâncias do ambiente adicionando-as ao perfil da instância do ambiente. Você pode adicionar permissões ao perfil da instância antes ou depois da implantação de seu aplicativo.

Para conceder permissões para publicar métricas do CloudWatch
  1. Abra o console do IAM em https://console.aws.amazon.com/iam/.

  2. No painel de navegação, escolha Perfis.

  3. Escolha a função de perfil da instância de seu ambiente. Por padrão, ao criar um ambiente com o console do Elastic Beanstalk ou com a CLI do EB, ela é aws-elasticbeanstalk-ec2-role.

  4. Escolha a aba Permissões.

  5. Em Permissions Policies (Políticas de permissões), na seção Permissions (Permissões) escolha Attach policies (Anexar políticas).

  6. Em Attach Permissions (Anexar políticas), escolha a política gerenciada pela AWS CloudWatchAgentServerPolicy. Clique em Attach Policy (Anexar política).

Para obter mais informações sobre o gerenciamento de políticas, consulte Trabalhar com políticas no Guia do usuário do IAM.

Visualizar métricas no console do CloudWatch

Após a implantação do arquivo de configuração do CloudWatch no ambiente, consulte o console do Amazon CloudWatch para visualizar suas métricas. As métricas personalizadas estarão localizadas no namespace CWAgent.

Para obter mais informações, consulte Visualização de métricas disponíveis no Manual do usuário do Amazon CloudWatch.