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 fornece um conjunto de métricas relacionadas à sua instância para o CloudWatch no namespace AWS/EC2. Isso inclui a utilização da CPU e um conjunto de métricas do NetworkIn e do NetWorkout.
Observação: o EC2 não fornece métricas relacionadas ao uso da memória no nível do sistema operacional ou às métricas de uso do 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 seu armazenamento e uso da API.
Resolução
Observação: se você receber erros ao executar comandos da AWS Command Line Interface (AWS CLI), consulte Solucionar erros da AWS CLI. Além disso, verifique se você está usando a versão mais recente da AWS CLI.
Você pode baixar e instalar o agente do CloudWatch manualmente usando a AWS CLI ou pode integrá-lo ao AWS Systems Manager Agent (SSM Agent).
Observação: o agente CloudWatch é compatível com sistemas Windows e Linux.
Realize as etapas a seguir para instalar o agente CloudWatch:
-
Crie perfis ou usuários do IAM que ativem o agente que coleta métricas do servidor. Opcionalmente, integre com o AWS Systems Manager. Anexe esse perfil do IAM à instância do EC2 na qual você deseja instalar o agente.
-
Baixe o pacote do agente e, em seguida, instale o pacote do agente.
-
Crie o arquivo de configuração do agente CloudWatch e, em seguida, especifique as métricas que você deseja coletar.
Esse exemplo de código 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}"
}
}
}
Esse exemplo de código mostra um arquivo básico de configuração de agente para sistemas Windows:
{
"metrics": {
"metrics_collected": {
"LogicalDisk": {
"measurement": [
"% Free Space"
],
"resources": [
"*"
]
},
"Memory": {
"measurement": [
"% Committed Bytes In Use"
]
}
},
"append_dimensions": {
"InstanceId": "${aws:InstanceId}"
}
}
}
-
Inicie o agente em sua instância do EC2.
Por padrão, o agente ativo reporta métricas da sua instância para o namespace CWAgent no CloudWatch. Se você tiver problemas, consulte Solucionar problemas do atendente do CloudWatch.
Informações relacionadas
Monitorar instâncias usando o CloudWatch