Wie man einen Alarm für eine EC2-Instanz mit Cloudwatch erstellt

Cloudwatch fällt unter den Dienst „Management & Governance“ in AWS (Amazon Web Services). Cloudwatch ist ein Überwachungs- und Verwaltungsdienst, der zur Überwachung der Dienste auf AWS und zur Verwaltung der Dienste bei Vorliegen einer bestimmten Bedingung verwendet werden kann. Cloudwatch kann zur Erfassung von Leistungs- und Betriebsdaten (CPU, RAM, Network_IN, Network_Out, etc.) der auf AWS verfügbaren Dienste verwendet werden.

In Bezug auf die Abrechnung bietet Cloudwartch 2 verschiedene Optionen, Free Tier und Paid Tier. Die kostenlose Stufe wird mit grundlegenden Überwachungsmetriken mit einer Frequenz von 5 Minuten geliefert, und die kostenpflichtige Stufe ermöglicht Ihnen die Überwachung mit einer Frequenz von 1 Minute. Dies ist nur ein kleiner Unterschied zwischen Free Tier und Paid Tier. Um mehr über die Rechnungsstellung zu erfahren, klicken Sie hier.

Bevor wir fortfahren, wollen wir einige Begriffe verstehen, die wir später in diesem Artikel sehen werden.

Alarm: Der Alarm wird verwendet, um eine weitere Aktion basierend auf dem Wert der Metrik oder des Ausdrucks relativ zu einem Schwellenwert über eine Anzahl von Zeiträumen durchzuführen

  • OK: Wenn die Metrik innerhalb des von uns angegebenen Bereichs liegt, ist der Alarm im OK-Zustand.
  • IN ALARM: Wenn die Metrik den Schwellenwert überschreitet, geht der Alarm in den Zustand „IN ALARM“ über.
  • INSUFFICIENT_DATA: Wenn die für die Entscheidung erforderlichen Daten fehlen oder unvollständig sind, geht der Alarm in den Zustand „INSUFFICIENT_DATA“ über.

SNS-Thema: Es ist ein logischer Kommunikationskanal in der AWS, über den Benachrichtigungen gesendet werden. Hier werden wir E-Mail als unser SNS(Simple Notification Service)-Thema verwenden

EC2 Aktion: Wolkenwachalarme können zur Durchführung einer bestimmten Aktion verwendet werden. Hier werden wir eine EC2-Instanz stoppen, wenn der Alarm in den Zustand „In Alarm“ geht.

In diesem Artikel sehen wir, wie man eine EC2-Instanz auf ihre CPU-Last hin überwacht. Wir werden einen Alarm erstellen und sehen, wie dieser ausgelöst werden kann, wenn die CPU-Last die angegebene Grenze überschreitet. Wenn dieser Grenzwert erreicht ist, werden wir die EC2-Instanz abschalten, um zu verstehen, wie man bei der Auslösung des Alarms vorgehen muss.

Voraussetzungen

  1. AWS-Konto (Erstellen Sie ein Konto, wenn Sie keins haben)
  2. EC2-Instanz (Klicken Sie hier, um zu lernen, wie man eine EC2-Instanz erstellt, wenn Sie keine haben oder wenn Sie lernen möchten)

Was wir tun werden?

  1. Anmeldung bei AWS.
  2. Erstellen Sie ein SNS-Thema.
  3. Erstellen Sie einen Alarm.
  4. Erhöhen Sie die CPU-Last auf der EC2-Instanz.

Anmeldung bei AWS

  1. Klicken Sie auf hier um zur AWS-Anmeldeseite zu gelangen.

Wenn wir auf den obigen Link klicken, sehen wir eine Webseite wie folgt, auf der wir uns mit unseren Anmeldedaten anmelden müssen.

AWS Login

Sobald wir uns erfolgreich in die AWS einloggen, sehen wir die Hauptkonsole mit allen Diensten, die wie folgt aufgelistet sind.

Ein SNS-Thema erstellen

Um ein SNS-Thema zu erstellen, an das wir eine Benachrichtigung senden werden, klicken Sie auf „Dienste“ und suchen Sie nach SNS. Klicken Sie auf „Einfacher Benachrichtigungsdienst“. Hier werden wir ein SNS-Thema erstellen und eine E-Mail hinzufügen, über die Benachrichtigungen gesendet werden. Merken Sie sich den Namen des Themas, das wir Ihnen geben werden, dies wird im nächsten Schritt benötigt.

Klicken Sie auf „Thema erstellen“, um ein Thema „Einfacher Benachrichtigungsdienst“ zu erstellen.

Geben Sie einen Namen für das zu erstellende Thema an, hier ist es „my-sns-topic“, zu dem Benachrichtigungen gesendet werden. Der Anzeigename ist optional und kann so belassen werden, wie er ist. Andere Einstellungen wie Verschlüsselung, Zugriffsrichtlinien usw. sind fortgeschritten und werden in diesem Artikel nicht angezeigt und können für die Erstellung eines einfachen Alarms ignoriert werden. Scrollen Sie die Seite nach unten und klicken Sie auf „Thema erstellen“. Dadurch wird lediglich ein Thema geschaffen. Es bleibt uns überlassen, den Kommunikationskanal hinzuzufügen.

Wir haben soeben ein Thema und noch kein Kommunikationsmedium festgelegt. Wir werden E-Mail als Kommunikationsmedium hinzufügen, dazu müssen wir ein Abonnement erstellen.

Um ein Abonnement zu erstellen, klicken Sie auf „Abonnement erstellen“.

Wählen Sie eine ARN des Themas, die wir im vorherigen Schritt erstellt haben, und wählen Sie das Protokoll als E-Mail (Medium) aus dem Dropdown-Menü. Geben Sie Ihre E-Mail-Adresse an, an die Benachrichtigungen gesendet werden sollen. Klicken Sie auf „Abonnement erstellen“, um diesen Schritt abzuschließen. Sobald Sie Ihr Abonnement abgeschlossen haben, erhalten Sie eine E-Mail von AWS, um das Thema zu abonnieren. Solange wir nicht abonniert haben, erhalten wir keine Benachrichtigungen per E-Mail. Vergessen Sie also nicht, das Thema zu abonnieren.

Um das soeben erstellte Thema zu abonnieren, öffnen Sie Ihr E-Mail-Postfach und klicken Sie auf „Abonnement bestätigen“. Hier endet der Prozess der Erstellung eines Themas und des Abonnements.

Einen Alarm erstellen

Um einen Alarm zu erstellen, klicken Sie jetzt auf „Dienste“ und suchen Sie nach „Cloudwatch“, klicken Sie darauf, um es auszuwählen.

Sie sehen einen Bildschirm wie folgt. Klicken Sie nun auf „Alarme“ auf der linken Seite.

Klicken Sie auf „Alarm erstellen“.

Klicken Sie auf „Metriken auswählen“.

Wählen Sie unter „Alle Metriken“ die Option EC2.

Klicken Sie auf „Pre-Instance Metrics“.

Wählen Sie „CPUUtilization“ und klicken Sie dann auf „Select metric“.

Wählen Sie nun die Instanz-ID aus, auf die der Alarm eingestellt werden soll, und ändern Sie die Zeitspanne auf 1 Minute, damit wir den Alarm ohne großen Zeitverlust testen können.

Sie können verschiedene Metriken und Einstellungen ausprobieren, sobald Sie sich mit diesem Prozess vertraut gemacht haben.

Hier kommt der Teil, mit dem wir die Bedingung festlegen können, hier werden wir den Schwellenwert als ’10‘ definieren. Das bedeutet, dass der Alarm ausgelöst wird, wenn die CPU-Auslastung über 10% für die Dauer von 1 Minute steigt.

Sobald der Alarm ausgelöst wird, müssen wir eine Benachrichtigung senden, wenn der Alarm in den Zustand „In Alarm“ für das Thema geht, das wir im vorherigen Zustand erstellt haben, also wählen Sie diesen Themennamen.

Neben dem Senden einer Benachrichtigung werden wir auch eine bestimmte Aktion für diese EC2-Instanz durchführen, wobei wir die Instanz stoppen, wenn der Alarm in den Zustand „In Alarm“ übergeht. Sie können eine beliebige Aktion Ihrer Wahl auswählen. Klicken Sie auf „Weiter“.

Fügen Sie einen Alarmnamen hinzu, der als E-Mail-Betreff gesendet wird, zusätzlich können auch weitere Informationen gesendet werden. Klicken Sie auf „Weiter“.

Überprüfen Sie die Konfiguration und klicken Sie auf „Alarm erstellen“ .

Und hier endet die vollständige Konfiguration der Einrichtung des Alarms, der eine Benachrichtigung an ein SNS-Thema sendet, wenn die Bedingung erfüllt ist. Warten Sie eine gewisse Zeit und der Alarm ist bereit, die EC2-Instanz zu überwachen.

Prüfung: Erhöhen Sie die CPU-Last auf der EC2-Instanz

Um den Alarm manuell auszulösen, werden wir die Last auf der EC2-Instanz erhöhen.

Dazu müssen wir zunächst ein erforderliches, stressiges Paket installieren. Hier finden Sie die folgenden Schritte zur Installation von ‚Stress‘ unter ubuntu 18.04.

sudo apt-get update
apt-get install stress

Wir werden nun die Belastung für 60 aufeinanderfolgende Sekunden auf 50% erhöhen. Dadurch wird der Alarm ausgelöst und die EC2-Instanz heruntergefahren.

stress --cpu  50 --timeout 120

Sobald die Bedingung erfüllt ist, werden Sie benachrichtigt und die Instanz wird abgebaut.

Jetzt können Sie unter Alarme sehen, dass der Zustand des Alarms, den wir in den vorherigen Schritten erstellt hatten, „In Alarm“ ist, und damit endet der Artikel.

Als Folge davon und aufgrund der Aktion, die wir in den vorherigen Schritten festgelegt haben, wird die EC2-Instanz beendet.

Schlussfolgerung

In diesem Artikel haben wir gelernt, ein SNS-Thema, ein Abonnement und einen Alarm zu erstellen. Wir haben auch gesehen, wie die CPU-Last manuell erhöht werden kann, um den Alarm auszulösen, der im Gegenzug eine Benachrichtigung über den E-Mail-Kanal sendet.

Das könnte dich auch interessieren …