Wie kann ich die CloudWatch-Protokolle für die erweiterte Überwachung filtern, um automatisierte benutzerdefinierte Metriken für Amazon RDS zu generieren?

Lesedauer: 4 Minute
0

Wie kann ich CloudWatch-Protokolle für die erweiterte Überwachung filtern, um automatisierte benutzerdefinierte Metriken für Amazon Relational Database Service (Amazon RDS) zu generieren?

Kurzbeschreibung

Enhanced Monitoring (Erweiterte Überwachung) für RDS bietet die folgenden Betriebssystemmetriken:

  • Freier Speicher
  • Aktiver Speicher
  • Kostenlos auslagern
  • Laufende Prozesse
  • Verwendetes Dateisystem

Verwenden Sie diese Metriken Um die Leistung der Umgebung zu verstehen, können Sie diese Betriebssystemmetriken verwenden. Amazon CloudWatch Logs erfasst diese Metriken als Protokolleinträge. Sie können CloudWatch verwenden, um Alarme auf der Grundlage von Metriken zu erstellen. Diese Alarme führen Aktionen aus, und Sie können diese Metriken aus Ihrer Infrastruktur, Ihrem Gerät oder Ihrer Anwendung als benutzerdefinierte Metrik in CloudWatch veröffentlichen. Um Enhanced Monitoring und CloudWatch zur Automatisierung von Aufgaben zu verwenden, erstellen Sie eine benutzerdefinierte Metrik für das von CloudWatch Logs Amazon RDS aufgenommene Datum aus den Enhanced Monitoring-Metriken.

Behebung

**Hinweis:**Wenn Sie beim Ausführen von Befehlen der AWS Command Line Interface (AWS CLI) Fehler erhalten, stellen Sie sicher, dass Sie die neueste Version der AWS CLI verwenden.

Verwenden Sie Filter für eine Protokollgruppe, um eine benutzerdefinierte Metrik zu erstellen

**Hinweis:**Für diese Schritte müssen Sie Enhanced Monitoring in Ihrer Amazon RDS-DB-Instance aktivieren. Weitere Informationen finden Sie unter Monitoring metrics in an Amazon RDS instance.

  1. Aktivieren Sie Enhanced Monitoring.

  2. Öffnen Sie die Amazon CloudWatch-Konsole und wählen Sie dann im Navigationsbereich die Option Gruppen protokollieren aus.

  3. Filtern Sie in der Liste der Protokollgruppen nach RDSOSMetrics und wählen Sie dann Aktionen aus.

  4. Wählen Sie Metrikfilter erstellen und geben Sie dann einen Filtermuster-Begriff für Ihre RDS-DB-Instanz ein. Beispiel:

    DISK WRITE KBPS GREATER THAN OR EQUAL TO 10 : { $.diskIO[0].writeKbPS >= 10.00 }
    DISK READ KBPS GREATER THAN OR EQUAL TO 10 : { $.diskIO[0].readKbPS >= 10.00 }
    DISK WRITE IOPS PS GREATER THAN 15 : { $.diskIO[0].writeIOsPS > 15.00 }
    DISK READ IOPS PS GREATER THAN 15 : { $.diskIO[0].readIOsPS > 15.00 }
    TOTAL CPU UTILIZATION GREATER THAN OR EQUAL TO 80 : { $.cpuUtilization.total >= 80 }
    FREE MEMORY LESS THAN OR EQUAL TO 200000 KB : { $.memory.free <= 200000 }

    **Hinweis:**Aktualisieren Sie die Werte auf die Werte, die zu Ihrer Umgebung passen.

  5. Wählen Sie Log Data und dann Test Pattern aus.

  6. Wählen Sie Weiter.

  7. Geben Sie einen Filternamen ein und wählen Sie dann einen Metrik-Namespace und einen Metriknamen aus.

  8. Geben Sie einen metrischen Wert ein. Zum Beispiel $.cpuUtilization.Idle. Wählen Sie dann Filter erstellen.

    Wiederholen Sie diese Schritte für jede weitere Metrik, die Sie hinzufügen.

Automatisieren Sie Ihre Kennzahlen

Verwenden Sie ein Skript, um den Prozess der Überwachung der mehr als 60 Monitoring-Metriken jeder Amazon RDS-DB-Instance zu automatisieren. Ein Beispiel für ein Skript, das eine Amazon RDS for MySQL-DB-Instance verwendet, finden Sie unter rds-support-tools auf der GitHub-Website. Das Beispielskript funktioniert mit den folgenden Engines:

  • MySQL
  • MariaDB
  • Amazon Aurora MySQL-kompatible Ausgabe
  • Amazon Aurora PostgreSQL-kompatible Edition
  • PostgreSQL

Geben Sie die Amazon RDS-DB-Instance mit aktiviertem Enhanced Monitoring und den Namespace an, in dem sich diese Metriken befinden sollen. Fügen Sie optional die Namen der Metriken und die AWS-Region hinzu. Wenn Sie keine optionalen Felder angeben, berücksichtigt das Skript alle zu veröffentlichenden Metriken. Anschließend überprüft das Skript die Datei .aws/config auf die AWS-Standardregion, die für die AWS-CLI festgelegt ist.

**Hinweis:**Das Skript erstellt keine Metriken für die Prozessliste. Je nachdem, welchen Prozess Sie anzeigen möchten, müssen Sie Filter möglicherweise manuell erstellen.

Die Namen der Metriken müssen nach dem folgenden Muster angegeben werden:

group.metricname

Der folgende Beispielcode veranschaulicht einen Aufruf zur Aktivierung dieser Metrik für cpuUtilization.idle und diskIO.readKbPS:

python RDSCreateMetricsFromEnhancedMonitoring.py --rds\_instance mysqltest --namespace MySQL --metrics\_to\_filter cpuUtilization.idle diskIO.readKb

Sie können dann Alarme für diese benutzerdefinierten Metriken erstellen. Weitere Informationen finden Sie unter Verwenden von Amazon CloudWatch-Alarmen.

Verwandte Informationen

Überwachung von Amazon RDS-Protokolldateien

Verwenden von Metrikfiltern zum Abgleichen von Begriffen und Extrahieren von Werten aus JSON-Protokollereignissen

AWS OFFICIAL
AWS OFFICIALAktualisiert vor 8 Monaten