É possível obter uma lista de processos em execução com um alarme do Cloudwatch?

9

Temos uma instância do EC2 (Ubuntu) que possui alguns aplicativos baseados em java e, atualmente, somos atingidos por picos de alta utilização da CPU que acionam um de nossos alarmes do Cloudwatch. Quando entramos no servidor para analisar a utilização da CPU, as coisas se acalmaram.

O que gostaríamos de ver em um dos e-mails de alarme é uma lista de processos em execução e sua utilização da CPU (%) no momento do alarme. Isso é possível?

jtalarico
fonte

Respostas:

0

Para responder à sua pergunta, não. Você não pode configurar o CloudWatch para listar os processos em seu servidor sempre que um limite for atingido. Você precisaria usar outro software para fazer isso. O CloudWatch registra apenas métricas, por exemplo, se você quiser saber quantos processos estão em execução, poderá configurar o CloudWatch para monitorar isso.

bwight
fonte
1

Sugiro que você tente usar a contabilidade do processo e execute o topo para coletar instantâneos de dados do sistema a cada 10 minutos (padrão) ou reduza 5 minutos se precisar de uma melhor resolução.

apt-get install atop acct

Em seguida, você pode verificar facilmente o que estava acontecendo em algum momento usando sintaxe como

atop -r atop.log.file -b 00:00 -e 00:05

O exemplo acima mostrará o que estava acontecendo no instantâneo de uso do sistema entre 00:00 e 00:05

Hrvoje Špoljar
fonte
1

Não tenho experiência em fazer algo semelhante, mas, em teoria, é possível fazê-lo com os blocos de construção existentes:

CloudWatch -> SNS -> HTTP/HTTPS -> homebrew webapp -> collect data and email it
  • Configure o alarme do CloudWatch para publicar uma mensagem do SNS em um tópico quando ele disparar.
  • Tenha um aplicativo da Web em execução na instância do EC2 que, quando um endereço específico é acessado, coleta a lista de processos em execução e o envia por e-mail.
  • Inclua uma assinatura no tópico do SNS com o terminal do aplicativo da web. Você pode escolher HTTP ou HTTPS como o protocolo.

Você pode combinar isso com a sugestão de usar atope configurar seu aplicativo da web para enviar as saídas recentes de N minutos.

ento
fonte