Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Erstellen Sie mithilfe der CloudWatch Amazon-Anomalieerkennung Alarme für benutzerdefinierte Metriken
Erstellt von Ram Kandaswamy (AWS) und Raheem Jiwani (AWS)
Umgebung: Produktion | Technologien: Management und Unternehmensführung DevOps; Betrieb; CloudNative | AWS-Dienste: Amazon CloudWatch |
Übersicht
In der Amazon Web Services (AWS) Cloud können Sie Amazon verwenden, um Alarme CloudWatch zu erstellen, die Messwerte überwachen und Benachrichtigungen senden oder automatisch Änderungen vornehmen, wenn ein Schwellenwert überschritten wird.
Um zu vermeiden, dass Sie durch statische Schwellenwerte eingeschränkt werden, können Sie Alarme erstellen, die auf vergangenen Mustern basieren und Sie benachrichtigen, wenn bestimmte Messwerte außerhalb des normalen Betriebsfensters liegen. Sie könnten beispielsweise die Antwortzeiten Ihrer API von Amazon API Gateway aus überwachen und Benachrichtigungen über Anomalien erhalten, die Sie daran hindern, ein Service Level Agreement (SLA) einzuhalten.
Dieses Muster beschreibt, wie Sie die CloudWatch Anomalieerkennung für benutzerdefinierte Metriken verwenden. Das Muster zeigt Ihnen, wie Sie eine benutzerdefinierte Metrik in Amazon CloudWatch Logs Insights erstellen oder eine benutzerdefinierte Metrik mit einer AWS Lambda Lambda-Funktion veröffentlichen und anschließend die Anomalieerkennung einrichten und Benachrichtigungen mit Amazon Simple Notification Service (Amazon SNS) erstellen.
Voraussetzungen und Einschränkungen
Voraussetzungen
Ein aktives AWS-Konto.
Ein vorhandenes SNS-Thema, das für das Senden von E-Mail-Benachrichtigungen konfiguriert ist. Weitere Informationen dazu finden Sie unter Erste Schritte mit Amazon SNS in der Amazon SNS SNS-Dokumentation.
Eine bestehende Anwendung, konfiguriert mit CloudWatch Logs.
Einschränkungen
CloudWatch Metriken unterstützen keine Millisekunden-Zeitintervalle. Weitere Informationen zur Granularität regulärer und benutzerdefinierter Messwerte finden Sie in den CloudWatch häufig gestellten Fragen zu Amazon
.
Architektur
Das Diagramm zeigt den folgenden Workflow:
Protokolle, die Metriken verwenden, die von CloudWatch Logs erstellt und aktualisiert wurden, werden gestreamt. CloudWatch
Ein Alarm wird auf der Grundlage von Schwellenwerten ausgelöst und sendet eine Warnung an ein SNS-Thema.
Amazon SNS sendet Ihnen eine E-Mail-Benachrichtigung.
Technologie-Stack
CloudWatch
AWS Lambda
Amazon SNS
Tools
Amazon CloudWatch bietet eine zuverlässige, skalierbare und flexible Überwachungslösung.
AWS Lambda ist ein Rechenservice, mit dem Sie Code ausführen können, ohne Server bereitzustellen oder zu verwalten.
Amazon Simple Notification Service (Amazon SNS) ist ein verwalteter Service, der die Nachrichtenzustellung von Verlagen an Abonnenten ermöglicht.
Epen
Aufgabe | Beschreibung | Erforderliche Fähigkeiten |
---|---|---|
Option 1 — Erstellen Sie eine benutzerdefinierte Metrik mit einer Lambda-Funktion. | Laden Sie die Nachdem Sie die Lambda-Funktion ausgeführt haben, können Sie sich bei der AWS-Managementkonsole anmelden, die CloudWatch Konsole öffnen und die veröffentlichte Metrik ist in Ihrem veröffentlichten Namespace verfügbar. | DevOps Ingenieur, AWS DevOps |
Option 2 — Erstellen Sie benutzerdefinierte Metriken aus CloudWatch Protokollgruppen. | Melden Sie sich bei der AWS-Managementkonsole an, öffnen Sie die CloudWatch Konsole und wählen Sie dann Protokollgruppen aus. Wählen Sie die Protokollgruppe aus, für die Sie eine Metrik erstellen möchten. Wählen Sie Aktionen und dann Metrikfilter erstellen aus. Geben Sie unter Filtermuster das Filtermuster ein, das Sie verwenden möchten. Weitere Informationen finden Sie in der CloudWatch Dokumentation unter Filter- und Mustersyntax. Um Ihr Filtermuster zu testen, geben Sie unter Testmuster ein oder mehrere Protokollereignisse ein. Jedes Protokollereignis muss innerhalb einer einzelnen Zeile liegen, da Zeilenumbrüche verwendet werden, um Protokollereignisse im Anzeigebereich Log event messages (Ereignismeldungen protokollieren) zu trennen. Nachdem Sie das Muster getestet haben, können Sie unter Metrikdetails einen Namen und einen Wert für Ihre Metrik eingeben. Weitere Informationen und Schritte zum Erstellen einer benutzerdefinierten Metrik finden Sie in der CloudWatch Dokumentation unter Erstellen eines Metrikfilters für eine Protokollgruppe. | DevOps Ingenieur, AWS DevOps |
Erstellen Sie einen Alarm für Ihre benutzerdefinierte Metrik. | Wählen Sie auf der CloudWatch Konsole Alarme und dann Create Alarm aus. Wählen Sie Metrik auswählen und geben Sie den Namen der Metrik, die Sie zuvor erstellt haben, in das Suchfeld ein. Wählen Sie die Registerkarte Graphische Metriken und konfigurieren Sie die Optionen entsprechend Ihren Anforderungen. Wählen Sie unter Bedingungen die Option Anomalieerkennung statt Statische Schwellenwerte aus. Dies zeigt Ihnen ein Band, das auf zwei standardmäßigen Standardabweichungen basiert. Sie können Schwellenwerte einrichten und diese an Ihre Anforderungen anpassen. Wählen Sie Weiter aus. Hinweis: Das Band ist dynamisch und hängt von der Qualität der Datenpunkte ab. Wenn Sie beginnen, mehr Daten zu aggregieren, werden das Band und die Schwellenwerte automatisch aktualisiert. | DevOps Ingenieur, AWS DevOps |
Richten Sie SNS-Benachrichtigungen ein. | Wählen Sie unter Benachrichtigung das SNS-Thema aus, das benachrichtigt werden soll, wenn sich der Alarm im Um zu erreichen, dass der Alarm mehrere Benachrichtigungen für den gleichen Alarmstatus oder für verschiedene Statuswerte sendet, wählen Sie Benachrichtigung hinzufügen. Wählen Sie Weiter aus. Geben Sie einen Namen und eine Beschreibung für den Alarm ein. Der Name darf nur ASCII-Zeichen enthalten. Wählen Sie anschließend Weiter. Vergewissern Sie sich unter Vorschau und Erstellen, dass die Informationen und Bedingungen korrekt sind, und wählen Sie dann Alarm erstellen aus. | DevOps Ingenieur, AWS DevOps |