Erstellen Sie mithilfe der CloudWatch Amazon-Anomalieerkennung Alarme für benutzerdefinierte Metriken - AWS Prescriptive Guidance

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

Einschränkungen

Architektur

Das Diagramm zeigt den folgenden Workflow:

CloudWatch Verwenden eines Amazon SNS SNS-Themas, um eine E-Mail-Benachrichtigung zu senden, wenn ein Alarm ausgelöst wird.
  1. Protokolle, die Metriken verwenden, die von CloudWatch Logs erstellt und aktualisiert wurden, werden gestreamt. CloudWatch

  2. Ein Alarm wird auf der Grundlage von Schwellenwerten ausgelöst und sendet eine Warnung an ein SNS-Thema.

  3. Amazon SNS sendet Ihnen eine E-Mail-Benachrichtigung.

Technologie-Stack

  • CloudWatch

  • AWS Lambda

  • Amazon SNS

Tools

Epen

AufgabeBeschreibungErforderliche Fähigkeiten

Option 1 — Erstellen Sie eine benutzerdefinierte Metrik mit einer Lambda-Funktion.

Laden Sie die lambda_function.py Datei (angehängt) herunter und ersetzen Sie dann die lambda_function.py Beispieldatei im aws-lambda-developer-guideRepository in der AWS-Dokumentation GitHub. Dadurch erhalten Sie eine Lambda-Beispielfunktion, die benutzerdefinierte Metriken an CloudWatch Logs sendet. Die Lambda-Funktion verwendet die Boto3-API für die Integration mit. CloudWatch 

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 ALARM Status, OK Status oder INSUFFICIENT_DATA Status befindet.

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

Zugehörige Ressourcen

Anlagen

Um auf zusätzliche Inhalte zuzugreifen, die mit diesem Dokument verknüpft sind, entpacken Sie die folgende Datei: attachment.zip