Ist es möglich, eine Liste der laufenden Prozesse mit einem Cloudwatch-Alarm abzurufen?

9

Wir haben eine EC2-Instanz (Ubuntu) mit einigen Java-basierten Anwendungen und in letzter Zeit sind wir von hohen CPU-Auslastungsspitzen betroffen, die einen unserer Cloudwatch-Alarme auslösen. Als wir auf den Server kommen, um die CPU-Auslastung zu überprüfen, haben sich die Dinge beruhigt.

Was wir gerne in einer der Alarm-E-Mails sehen würden, ist eine Liste der laufenden Prozesse und ihrer CPU-Auslastung (%) zum Zeitpunkt des Alarms. Ist das überhaupt möglich?

jtalarico
quelle

Antworten:

0

Um Ihre Frage zu beantworten, nein. Sie können CloudWatch nicht so konfigurieren, dass die Prozesse auf Ihrem Server aufgelistet werden, wenn ein Schwellenwert erreicht wird. Sie müssten eine andere Software verwenden, um dies zu erreichen. CloudWatch zeichnet nur Metriken auf. Wenn Sie beispielsweise wissen möchten, wie viele Prozesse ausgeführt werden, können Sie CloudWatch so konfigurieren, dass dies überwacht wird.

bwight
quelle
1

Ich empfehle Ihnen, die Prozessabrechnung zu verwenden und alle 10 Minuten (Standard) Systemdaten-Snapshots zu erfassen oder 5 Minuten zu reduzieren, wenn Sie eine bessere Auflösung benötigen.

apt-get install atop acct

Dann können Sie leicht überprüfen, was irgendwann mit Syntax wie los war

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

Das obige Beispiel zeigt Ihnen, was zwischen 00:00 und 00:05 Uhr im Snapshot der Systemnutzung vor sich ging

Hrvoje Špoljar
quelle
1

Ich habe keine Erfahrung mit ähnlichen Aufgaben, aber theoretisch ist es möglich, dies mit vorhandenen Bausteinen zu tun:

CloudWatch -> SNS -> HTTP/HTTPS -> homebrew webapp -> collect data and email it
  • Richten Sie Ihren CloudWatch-Alarm so ein, dass er eine SNS-Nachricht zu einem Thema veröffentlicht, wenn er ausgelöst wird.
  • Lassen Sie auf Ihrer EC2-Instanz eine Webanwendung ausführen, die bei einem Treffer einer bestimmten Adresse die Liste der ausgeführten Prozesse sammelt und per E-Mail versendet.
  • Fügen Sie dem SNS-Thema mit dem Endpunkt der Webanwendung ein Abonnement hinzu. Sie können entweder HTTP oder HTTPS als Protokoll auswählen.

Sie können dies mit dem Vorschlag kombinieren, atopIhre Webanwendung zu verwenden und zu konfigurieren, um die letzten N-Minuten-Ausgaben zu senden.

ento
quelle