Wie kann ich SNS-Benachrichtigungen über Fehler und Agent-Protokollereignisse in Amazon RDS für SQL Server erhalten, die einem CloudWatch-Filtermuster entsprechen?

Lesedauer: 4 Minute
0

Ich habe eine Amazon Relational Database Service (Amazon RDS) DB-Instance, auf der der SQL Server ausgeführt wird. Ich möchte Amazon CloudWatch-Alarme und Amazon Simple Notification Service (Amazon SNS)-Themen erstellen, damit ich über bestimmte Ereignisse informiert werde. Beispielsweise SQL Server-Fehler- und Agent-Protokollereignisse, die den CloudWatch-Filtermustern entsprechen.

Kurzbeschreibung

Veröffentliche zunächst SQL Server-Protokolle in Amazon CloudWatch Logs. Erstelle dann CloudWatch-Alarme und SNS-Benachrichtigungen für die SQL Server-DB-Protokollereignisse, die dem von dir erstellten Filtermuster entsprechen.

Nachdem die Amazon RDS für SQL Server-Protokolldaten auf CloudWatch veröffentlicht wurden, kannst du Metrikfilter erstellen, um die Protokolle zu durchsuchen und zu filtern. Metrikfilter definieren die Begriffe und Muster, nach denen in den Protokolldaten gesucht wird, wenn sie an Amazon CloudWatch Logs gesendet werden. Anschließend verwendet CloudWatch Logs die Metrikfilter, um Protokolldaten in numerische CloudWatch-Metriken umzuwandeln, für die du Alarme einrichten kannst.

Du kannst jede Art von CloudWatch-Statistik verwenden, z. B. Perzentilstatistiken, wenn du diese Metriken anzeigst oder Alarme einrichtest. Weitere Informationen findest du unter Metriken aus Protokollereignissen mithilfe von Filtern erstellen.

Lösung

Du kannst Filtermuster wie „Login failed for user“ (Anmeldung für Benutzer fehlgeschlagen) erstellen, um fehlgeschlagene Anmeldeversuche zu identifizieren. Oder du kannst einen Filter für „I/O requests taking longer than 15 seconds to complete“ (E/A-Anforderungen, die länger als 15 Sekunden dauern, bis sie abgeschlossen sind) erstellen, um E/A-Engpässe oder Festplattenengpässe zu identifizieren.

Im folgenden Beispiel wird ein Filter verwendet, um nach Ereignissen, die den Begriff „Login failed for user“ enthalten, zu suchen und diese zu zählen, um fehlgeschlagene Anmeldeversuche nachzuverfolgen.

Hinweis: Standardmäßig werden Amazon RDS-DB-Protokolle nicht in CloudWatch Logs veröffentlicht. Befolge zunächst die Schritte zum Veröffentlichen von SQL Server-Protokollen in Amazon CloudWatch Logs.

  1. Öffne die Amazon-RDS-Konsole und wähle im Navigationsbereich Datenbanken aus.
  2. Wähle den Namen der DB-Instance, für die du CloudWatch-Metriken konfigurieren möchtest.
  3. Wähle auf der Registerkarte Konfiguration unter CloudWatch Logs die Option Fehler aus. Dadurch wird der Bereich Protokolle in der CloudWatch-Konsole geöffnet. Wenn du keinen Abschnitt Veröffentlichte Protokolle siehst, stelle sicher, dass du SQL Server-Protokolle in CloudWatch Logs veröffentlichst.
  4. Wähle im Navigationsbereich der CloudWatch-Konsole Protokollgruppen aus.
  5. Wähle das Fehlerprotokoll für die RDS-DB-Instance aus, und wähle dann Metrikfilter erstellen aus.
  6. Gib für Filtermuster ein Muster ein, z. B. „Login failed for user“.
    Hinweis: Bei allen Einträgen im Filtermuster wird zwischen Groß- und Kleinschreibung unterschieden.
  7. Auf derselben Seite kannst du das Filtermuster testen. Wähle im Abschnitt Zu testende Protokolldaten auswählen die Protokollgruppe aus, für die du den Filter testen möchtest, und wähle dann Testmuster aus.
  8. Im Abschnitt Ergebnisse kannst du sehen, wie viele Ergebnisse dem Filtermuster in der Protokolldatei entsprechen. Du kannst auch Testergebnisse anzeigen wählen, um weitere Details anzuzeigen.
  9. Wähle Metrik zuweisen.
  10. Gib einen **Filternamen ** und einen Metriknamen ein.
  11. Wähle Erweiterte Metrikeinstellungen anzeigen und vergewissere dich, dass der Metrikwert auf 1 gesetzt ist. Dieser Wert gibt an, dass die Anzahl für jedes Protokollereignis, das „Login failed for user“ enthält, um 1 erhöht wird.
  12. Gib als Standardwert 0 ein.
  13. Wähle dann Filter erstellen. Die Schaltfläche Alarm erstellen wird angezeigt. Wähle Alarm erstellen aus.
  14. Wähle in der Dropdown-Liste Zeitraum den Auswertungszeitraum aus. Der Standardzeitraum beträgt 5 Minuten.
  15. Wähle im Abschnitt Bedingungen Folgendes aus:
    Art des Schwellenwertes – Statisch.
    **Immer wenn der Test ** – Größer > Schwellenwert ist.
    **Dann ** – Gib 10 ein.
  16. Erweitere den Abschnitt Zusätzliche Konfiguration. Gib für Datenpunkte zum Alarm die Anzahl der Auswertungszeiträume (Datenpunkte) ein, die sich im ALARM-Zustand befinden müssen, um den Alarm auszulösen.
  17. Wähle unter Fehlende Datenverarbeitung die Option Fehlende Daten als fehlend behandeln aus.
  18. Wähle Nächster Schritt aus.
  19. Wähle im Abschnitt Benachrichtigung unter SNS-Thema auswählen ein vorhandenes SNS-Thema aus, oder erstelle ein neues Thema, um Benachrichtigungen zu erhalten.
  20. Gib die E-Mail-Endpunkte ein, die die Benachrichtigung erhalten sollen.
  21. Wähle Nächster Schritt aus.
  22. Gib den Alarmnamen und die Alarmbeschreibung ein und wähle dann Nächster Schritt aus.
  23. Prüfe auf der Seite Vorschau und Erstellung das Metrik-Diagramm und die Bedingungen.
  24. Wähle Alarm erstellen aus.

Nachdem du diese Beispielschritte ausgeführt hast, lautet der Alarmstatus in den ersten Minuten Unzureichende Daten. Wenn der Alarm genügend Daten enthält, ist der Status OK. Wenn du innerhalb von 5 Minuten mehr als 10 Anmeldefehler erhältst, sendet der CloudWatch-Alarm eine SNS-Benachrichtigung an die angegebene E-Mail-Adresse.

Ähnliche Informationen

Überblick über die Überwachungsmetriken in Amazon RDS