Benachrichtigungsrichtlinien in Cloud Monitoring erkennen Anwendungs- und Infrastrukturprobleme, indem sie Messwert-, Log- oder SQL-Abfrageergebnisse auswerten. Wenn die überwachten Daten die von Ihnen angegebenen Bedingungen erfüllen, erstellt Monitoring eine Benachrichtigung und sendet Benachrichtigungen.
Funktionsweise von Benachrichtigungen
Der Cloud Monitoring-Benachrichtigungsprozess besteht aus drei Teilen:
Eine Benachrichtigungsrichtlinie, die beschreibt, unter welchen Umständen und wie Sie benachrichtigt werden möchten. Mit der Benachrichtigungsrichtlinie können Zeitreihendaten, die von Monitoring gespeichert werden, oder Logs, die von Cloud Logging gespeichert werden, überwacht werden. Wenn diese Daten die Bedingung der Benachrichtigungsrichtlinie erfüllen, erstellt Monitoring eine Benachrichtigung und sendet die Benachrichtigungen.
Jede Benachrichtigung ist ein Datensatz des Typs der überwachten Daten und des Zeitpunkts, zu dem die Bedingungen erfüllt wurden. Diese Informationen können Ihnen bei der Behebung der Probleme helfen, die die Benachrichtigung verursacht haben.
Ein Benachrichtigungskanal definiert, wie Sie Benachrichtigungen erhalten, wenn Monitoring eine Benachrichtigung erstellt. Sie können beispielsweise eine Benachrichtigungsrichtlinie konfigurieren, um eine E-Mail an
my-support-team@example.comzu senden und eine Slack-Nachricht im Kanal#my-support-teamzu posten. Eine Benachrichtigungsrichtlinie kann einen oder mehrere Benachrichtigungskanäle enthalten.
Benachrichtigungsrichtlinien können drei Arten von Daten auswerten:
Zeitachsendaten, auch Messwertdaten genannt, die von Monitoring gespeichert werden. Diese Arten von Richtlinien werden als messwertbasierte Benachrichtigungsrichtlinien bezeichnet.
Informationen zum Einrichten einer messwertbasierten Benachrichtigungsrichtlinie finden Sie in der Kurzanleitung für Compute Engine.
Von Cloud Logging gespeicherte Logeintragsdaten. Benachrichtigungsrichtlinien, die einzelne Logeinträge auswerten, werden als logbasierte Benachrichtigungsrichtlinien bezeichnet. Logbasierte Benachrichtigungsrichtlinien informieren Sie, wenn eine bestimmte Nachricht in Ihren Logs angezeigt wird. Weitere Informationen finden Sie unter Logs überwachen.
Die Ergebnisse einer SQL-Abfrage, die in Observability Analytics für Logeintragsdaten ausgeführt wird, die in Logging gespeichert sind. Benachrichtigungsrichtlinien, die die Ergebnisse einer SQL-Abfrage überwachen, werden als SQL-basierte Benachrichtigungsrichtlinien bezeichnet. Weitere Informationen finden Sie unter SQL-Abfrageergebnisse mit einer Benachrichtigungsrichtlinie überwachen.
SQL-basierte Benachrichtigungsrichtlinien befinden sich in der öffentlichen Vorschau.
Der Benachrichtigungsprozess hilft Ihnen, auf Probleme zu reagieren, wenn die Leistung einer Anwendung nicht den akzeptablen Werten entspricht. Sie stellen beispielsweise eine Webanwendung auf einer Compute Engine-VM-Instanz bereit. Sie erwarten, dass die HTTP-Antwortlatenz schwankt, möchten aber, dass Ihr Supportteam reagiert, wenn die Anwendung über einen längeren Zeitraum eine hohe Latenz aufweist. Sie könnten eine messwertbasierte Benachrichtigungsrichtlinie erstellen, die den Messwert für die HTTP-Antwortlatenz der Anwendung überwacht. Wenn die Antwortlatenz mindestens fünf Minuten lang höher als zwei Sekunden ist, erstellt Monitoring eine Benachrichtigung und sendet E-Mail-Benachrichtigungen an Ihr Supportteam.
Benachrichtigungsrichtlinie erstellen
Es gibt mehrere Möglichkeiten, eine Benachrichtigungsrichtlinie zu erstellen. Sie können beispielsweise vorkonfigurierte Benachrichtigungsrichtlinien verwenden, indem Sie empfohlene Benachrichtigungen aus Integrationen oder bestimmten Seiten in der Google Cloud Console aktivieren. Sie können eine neue Benachrichtigungsrichtlinie auch über dieGoogle Cloud Console, die Cloud Monitoring API, die Google Cloud CLI und Terraform konfigurieren.
Integrationen und empfohlene Benachrichtigungsrichtlinien verwenden
Monitoring bietet vordefinierte Pakete, mit denen Sie Benachrichtigungsrichtlinien für IhreGoogle Cloud -Dienste und Integrationen von Drittanbietern erstellen können. Die Pakete enthalten empfohlene Benachrichtigungsrichtlinien, Beispiel-Dashboards und wichtige Messwerte für den Dienst. Diese Pakete sind fürGoogle Cloud -Dienste wie Google Kubernetes Engine, Compute Engine und Cloud SQL sowie für gängige Integrationen von Drittanbietern wie MongoDB, Kafka und Elasticsearch verfügbar.
Wenn Sie ein Paket installieren, können Sie die empfohlenen Benachrichtigungsrichtlinien des Pakets aktivieren. Wenn Sie eine empfohlene Benachrichtigungsrichtlinie aktivieren, konfigurieren Sie den zugehörigen Benachrichtigungskanal und ändern optional andere Werte. Nach der Konfiguration wird das Ziel der Benachrichtigungsrichtlinie sofort überwacht, ohne dass weitere Nutzereingaben erforderlich sind.
Empfohlene Benachrichtigungsrichtlinien sind hilfreich, wenn Sie einen neuen Dienst bereitgestellt haben und Benachrichtigungen zu wichtigen Messwerten erhalten möchten. Das Cloud SQL-Integrationspaket enthält beispielsweise empfohlene Benachrichtigungsrichtlinien für fehlgeschlagene Instanzen und langsame Transaktionen:
Weitere Informationen finden Sie in folgenden Dokumenten:
Neue Benachrichtigungsrichtlinien erstellen
Sie können Benachrichtigungsrichtlinien erstellen, um je nach Ihren Benachrichtigungsanforderungen verschiedene Datentypen zu überwachen. In den folgenden Abschnitten werden die verschiedenen Datentypen aufgeführt, die Sie mit Benachrichtigungsrichtlinien überwachen können.
Zeitreihendaten überwachen
| Bedingungstyp | Beschreibung | Beispiel |
|---|---|---|
| Messwert-Schwellenwert-Bedingung | Messwertgrenzwertbedingungen sind erfüllt, wenn die Werte eines Messwerts für ein bestimmtes Prüfzeitfenster über oder unter einem Grenzwert liegen. Weitere Informationen finden Sie unter Benachrichtigungsrichtlinien mit Messwertschwellen erstellen und Benachrichtigungsrichtlinien mit der API erstellen. |
Sie möchten eine Benachrichtigungsrichtlinie, die eine Benachrichtigung sendet, wenn die Antwortlatenz bei fünf aufeinanderfolgenden Verfügbarkeitsdiagnosen über 10 Minuten 500 ms oder mehr beträgt. |
| Bedingung für fehlenden Messwert | Bedingungen für fehlende Messwerte sind erfüllt, wenn eine überwachte Zeitreihe für ein bestimmtes Prüfintervall keine Daten enthält. Das maximale Zeitfenster für die erneute Prüfung beträgt 24 Stunden. Weitere Informationen finden Sie unter Benachrichtigungsrichtlinien für fehlende Messwerte erstellen und Benachrichtigungsrichtlinien mit der API erstellen. |
Sie möchten eine Benachrichtigungsrichtlinie, die eine Benachrichtigung an Ihr Supportteam sendet, wenn eine Ressource fünf Minuten lang nicht auf HTTP-Anfragen reagiert. |
| PromQL-Bedingung (Prometheus Query Language) | PromQL ist eine funktionale Abfragesprache, mit der Zeitreihendaten in Echtzeit ausgewertet werden. In Ihren PromQL-Abfragen können Sie jeden gültigen Ausdruck verwenden, z. B. Messwertkombinationen, Verhältnisse und dynamische Grenzwerte, die auf einem Messwert basieren. Weitere Informationen finden Sie unter PromQL in Cloud Monitoring und PromQL-Benachrichtigungen – Übersicht. |
Sie möchten einen PromQL-Benachrichtigungsausdruck aus einem öffentlichen Repository verwenden, eine Benachrichtigungsrichtlinie, die auf mehr als einem Messwert basiert, z. B. einem Verhältnis, oder eine Benachrichtigungsrichtlinie, die auf Daten von mehr als 25 Stunden basiert. |
| Bedingung für prognostizierten Messwert | Bedingungen für prognostizierte Messwerte sind erfüllt, wenn die Benachrichtigungsrichtlinie vorhersagt, dass der Grenzwert innerhalb des bevorstehenden Prognosefensters überschritten wird. Das Prognosefenster kann zwischen 1 Stunde und 7 Tagen liegen. Weitere Informationen finden Sie unter Benachrichtigungsrichtlinien für prognostizierte Messwerte erstellen und Benachrichtigungsrichtlinien mit der API erstellen. |
Sie möchten eine Benachrichtigungsrichtlinie, die eine Benachrichtigung an Ihr Supportteam sendet, wenn eine Ressource innerhalb der nächsten 24 Stunden wahrscheinlich 80% der Speicherplatznutzung erreicht. |
Wir empfehlen, nach Möglichkeit nach den Labels zu filtern, die für überwachte Ressourcentypen definiert sind, anstatt nach Labels, die für Messwerttypen definiert sind, insbesondere wenn Sie Messwerte mit hoher Kardinalität abfragen. Wenn Sie ein Ressourcenlabel und ein Messwertlabel haben, die ähnliche Informationen erfassen, verwenden Sie das Ressourcenlabel in Ihren Abfragen.
Wenn Ihre überwachte Ressource beispielsweise ein cluster-Label und Ihr Messwert ein kubernetes_cluster_name-Label enthält, das ähnliche Informationen erfasst, filtern Sie nach dem Ressourcenlabel cluster.
Ressourcenmetadatenlabels werden asynchron zu Zeitreihen hinzugefügt und unterliegen nicht denselben Latenzerwartungen wie Werte von Labels, die durch Messwerttypen oder Typen überwachter Ressourcen definiert sind. Daher kann sich eine Benachrichtigungsrichtlinie, die von Metadatenwerten abhängt, um eine Aktion auszulösen, unregelmäßig verhalten, wenn die Bereitstellung von Ressourcenmetadatenlabels verzögert ist.
Logeintragsdaten überwachen
Wenn Sie einzelne Logeinträge überwachen möchten, verwenden Sie eine logbasierte Benachrichtigungsrichtlinie.
Eine Bedingung für eine logbasierte Benachrichtigungsrichtlinie ist erfüllt, wenn die Benachrichtigungsrichtlinie erkennt, dass eine Wortgruppe aus einem Logeintrag den Kriterien der Benachrichtigungsrichtlinie entspricht. Sie möchten beispielsweise eine Benachrichtigungsrichtlinie, die eine Benachrichtigung an Ihr Supportteam sendet, wenn der message eines Logeintrags product_ids=['tier_1_support', 'tier_2_support'] enthält.
Weitere Informationen finden Sie in der Logging-Dokumentation unter Logbasierte Benachrichtigungsrichtlinien konfigurieren.
SQL-Abfrageergebnisse überwachen
Verwenden Sie zum Überwachen von SQL-Abfrageergebnissen eine SQL-basierte Benachrichtigungsrichtlinie.
Die Bedingung einer SQL-basierten Benachrichtigungsrichtlinie analysiert regelmäßig Ihre Logeintragsdaten und erstellt dann Benachrichtigungen, wenn die Tabelle mit den Abfrageergebnissen bestimmte Kriterien erfüllt. Diese Art von Benachrichtigungsrichtlinie ist hilfreich, wenn Sie eine Benachrichtigungsrichtlinie benötigen, die Datenaggregationen oder komplexe Muster über mehrere Logeinträge hinweg überwacht. Beispiel: Sie möchten benachrichtigt werden, wenn mehr als 50 Logeinträge in den letzten 60 Minuten den Schweregrad WARNING haben.
Weitere Informationen finden Sie in der Logging-Dokumentation unter SQL-Abfrageergebnisse mit einer Benachrichtigungsrichtlinie überwachen.
Komponenten von Benachrichtigungsrichtlinien
Jede Benachrichtigungsrichtlinie besteht aus den folgenden Komponenten:
Eine Bedingung, die beschreibt, wann sich eine Ressource oder eine Gruppe von Ressourcen in einem Zustand befindet, der eine Reaktion erfordert. Die Bedingung umfasst die Datenquelle, einen statischen oder dynamischen Schwellenwert und Methoden zur Datenaggregation wie Filter und „groupby“. Mit Ihren Bedingungen können Sie einen einzelnen Messwert, mehrere Messwerte oder ein Verhältnis von Messwerten überwachen. Sie können auch die Prometheus Query Language (PromQL) verwenden, um komplexe Ausdrücke wie dynamische Grenzwerte und bedingte Logik einzubeziehen.
Wenn Sie eine Integration verwenden, um eine empfohlene Benachrichtigungsrichtlinie zu aktivieren, wird die Bedingung der Benachrichtigungsrichtlinie vorab ausgefüllt.
Eine Liste von Benachrichtigungskanälen, die beschreiben, wer benachrichtigt werden soll, wenn Maßnahmen erforderlich sind. Weitere Informationen finden Sie unter Benachrichtigungskanäle erstellen und verwalten.
Dokumentation, die in Benachrichtigungen und auf Warnungsseiten angezeigt wird. Sie können die Betreffzeile einer Benachrichtigung konfigurieren und dem Text der Benachrichtigung hilfreiche Informationen hinzufügen. Sie können die Benachrichtigung beispielsweise so konfigurieren, dass Links zu internen Playbooks oder zu Google Cloud -Seiten wie benutzerdefinierten Dashboards angezeigt werden. Weitere Informationen zur Dokumentation, einschließlich Beispielen, finden Sie unter Benachrichtigungen mit benutzerdefinierter Dokumentation versehen.
Benachrichtigungsrichtlinien und Benachrichtigungen verwalten
Nachdem eine Benachrichtigungsrichtlinie aktiviert wurde, werden die Bedingungen dieser Richtlinie von Monitoring kontinuierlich überwacht. Sie können die Benachrichtigungsrichtlinie nicht so konfigurieren, dass Bedingungen nur für bestimmte Zeiträume überwacht werden. Wenn Sie die Benachrichtigungsrichtlinie für einen bestimmten Zeitraum deaktivieren möchten, erstellen Sie eine Schlummerfunktion.
Wenn eine Benachrichtigung offen ist und Monitoring feststellt, dass die Bedingungen der messwertbasierten Richtlinie nicht mehr erfüllt sind, schließt Monitoring die Benachrichtigung automatisch und sendet eine Benachrichtigung über das Schließen.
Nächste Schritte
Informationen zur Benachrichtigungslatenz und dazu, wie sich die Auswahl der Parameter einer Benachrichtigungsrichtlinie auf den Zeitpunkt des Sendens von Benachrichtigungen auswirkt, finden Sie unter Verhalten von messwertbasierten Benachrichtigungsrichtlinien.
Eine Liste mit Beispielen für messwertbasierte Richtlinien, einschließlich der Verwendung von JSON zum Schreiben einer Messwertschwellenwert-Bedingung, die ein Verhältnis von Messwerttypen überwacht, finden Sie unter Zusammenfassung der Beispiel-Benachrichtigungsrichtlinien.