Como posso enviar métricas de memória e disco das minhas instâncias do EC2 para o CloudWatch?

Data da última atualização: 05/04/2022

Quero enviar métricas de memória e disco das minhas instâncias do Amazon Elastic Compute Cloud (Amazon EC2) para o Amazon CloudWatch Metrics. Como posso fazer isso?

Breve descrição

Por padrão, o Amazon EC2 entrega um conjunto de métricas relacionadas à sua instância para o CloudWatch no namespace AWS/EC2. Isso inclui CPUUtilization, um conjunto de métricas de leitura e gravação de disco e um conjunto de métricas NetworkIn e NetworkOut. Mas o EC2 não fornece métricas relacionadas ao uso de memória no nível do sistema operacional ou métricas de uso de disco.

Para encontrar essas métricas e entregá-las ao CloudWatch como métricas personalizadas, instale o agente unificado do CloudWatch. Em seguida, defina essas métricas no arquivo de configuração do agente.

Importante: as métricas personalizadas são cobradas de acordo com o armazenamento e o uso da API.

Resolução

Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), certifique-se de que é a versão mais recente da AWS CLI que você usa.

Você pode baixar e instalar o agente do CloudWatch manualmente usando a AWS CLI ou integrá-lo ao AWS Systems Manager Agent (SSM Agent). O agente do CloudWatch é compatível com sistemas Linux e Windows. Siga estas etapas para instalar o agente do CloudWatch:

1.    Crie funções ou usuários do IAM que permitam ao agente coletar métricas do servidor e, opcionalmente, integrar-se ao AWS Systems Manager. Anexe essa função do IAM à instância do EC2 na qual você deseja instalar o agente.

2.    Baixe o pacote do agente e instale-o.

3.    Crie o arquivo de configuração do agente do CloudWatch e especifique as métricas que você deseja coletar.

Este exemplo mostra um arquivo básico de configuração do agente que relata o uso da memória e as métricas de uso do disco em um sistema Linux:

{
  "metrics": {
    "metrics_collected": {
      "mem": {
        "measurement": [
          "mem_used_percent"
        ]
      },
      "disk": {
        "measurement": [
          "used_percent"
        ],
        "resources": [
          "*"
        ]
      }
    },
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    }
  }
}

Este é um exemplo de um arquivo básico de configuração do agente para sistemas Windows:

{
  "metrics": {
    "metrics_collected": {
      "LogicalDisk": {
        "measurement": [
          "% Free Space"
        ],
        "resources": [
          "*"
        ]
      },
      "Memory": {
        "measurement": [
          "% Committed Bytes In Use"
        ]
      }
    },
    "append_dimensions": {
      "InstanceId": "${aws:InstanceId}"
    }
  }
}

4.    Iniciar o agente em sua instância do EC2.

Quando o agente está em execução, ele relata métricas da sua instância para o namespace CWAgent no CloudWatch, por padrão. Se você tiver problemas, consulte Solucionar problemas do agente do CloudWatch.


Este artigo ajudou?


Precisa de ajuda com faturamento ou suporte técnico?