9 votes

Est-il possible d'obtenir une liste des processus en cours avec une alarme Cloudwatch ?

Nous avons une instance EC2 (Ubuntu) qui possède quelques applications basées sur Java et, dernièrement, nous avons été frappés par des pics d'utilisation du CPU qui ont déclenché l'une de nos alarmes Cloudwatch. Le temps que nous nous rendions sur le serveur pour examiner l'utilisation du processeur, les choses se sont calmées.

Ce que nous aimerions voir dans l'un des courriels d'alarme, c'est une liste des processus en cours et leur utilisation du processeur (%) au moment de l'alarme. Est-ce possible ?

1voto

Hrvoje Špoljar Points 5116

Je vous suggère d'essayer d'utiliser la comptabilité des processus et d'exécuter atop pour collecter des instantanés de données système toutes les 10 minutes (par défaut) ou de réduire à 5 minutes si vous avez besoin d'une meilleure résolution.

apt-get install atop acct

Ensuite, vous pouvez facilement vérifier ce qui se passait à un moment donné en utilisant une syntaxe telle que

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

l'exemple ci-dessus vous montrera ce qui se passait dans l'instantané de l'utilisation du système entre 00:00 et 00:05

1voto

David Schumann Points 129

Je n'ai pas d'expérience dans ce domaine, mais en théorie, il est possible de le faire avec des blocs de construction existants :

CloudWatch -> SNS -> HTTP/HTTPS -> homebrew webapp -> collect data and email it
  • Configurez votre alarme CloudWatch pour qu'elle publie un message SNS sur un sujet lorsqu'elle se déclenche.
  • Faites tourner une application web sur votre instance EC2 qui, lorsqu'une adresse particulière est atteinte, collecte la liste des processus en cours et l'envoie par courrier électronique.
  • Ajouter un abonnement au sujet SNS avec le point de terminaison de la webapp. Vous pouvez choisir HTTP ou HTTPS comme protocole.

Vous pouvez combiner cela avec la suggestion d'utiliser atop et configurez votre webapp pour envoyer les sorties récentes de N minutes.

0voto

SEBASZCHAN Points 397

Pour répondre à votre question, non. Vous ne pouvez pas configurer CloudWatch pour répertorier les processus sur votre serveur chaque fois qu'un seuil est atteint. Vous devez utiliser un autre logiciel pour y parvenir. CloudWatch n'enregistre que les mesures, par exemple, si vous voulez savoir combien de processus sont en cours d'exécution, vous pouvez configurer CloudWatch pour surveiller cela.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X