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

9

Temos uma instância do EC2 (Ubuntu) que tem alguns aplicativos baseados em Java e, ultimamente, estamos sendo atingidos por altos picos de utilização de CPU que acionam um dos nossos alarmes do Cloudwatch. No momento em que entramos no servidor para ver 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 de cpu (%) no momento do alarme. Isso é possível?

    
por jtalarico 07.10.2012 / 17:37

3 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 é atingido. Você teria que usar algum outro software para conseguir isso. O CloudWatch registra apenas métricas, por exemplo, se você quisesse saber quantos processos estavam sendo executados, então você poderia configurar o CloudWatch para monitorar isso.

    
por 08.10.2012 / 17:02
1

Eu sugiro que você tente usar a contabilidade de processo e execute em cima para coletar instantâneos de dados do sistema a cada 10 min (padrão) ou reduza 5 min 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 a sintaxe

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

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

    
por 07.10.2012 / 23:33
1

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

CloudWatch -> SNS -> HTTP/HTTPS -> homebrew webapp -> collect data and email it
  • Configure seu alarme do CloudWatch para que ele publique uma mensagem do SNS para um tópico quando ele disparar.
  • Tenha um webapp em execução na sua instância do EC2 que, quando um determinado endereço é atingido, coleta a lista de processos em execução e envia um e-mail para ele.
  • Adicione uma assinatura ao tópico do SNS com o ponto de extremidade do webapp. Você pode escolher HTTP ou HTTPS como o protocolo.

Você pode combinar isso com a sugestão de usar atop e configurar seu webapp para enviar as saídas recentes de N-minutos.

    
por 08.11.2012 / 01:22