In diesem Dokument wird beschrieben, wie Sie benachrichtigt werden können, wenn Ihre Anwendung fehlschlägt oder die Leistung einer Anwendung nicht den definierten Kriterien entspricht.
Funktionsweise von Benachrichtigungen
Der Benachrichtigungsprozess von Cloud Monitoring besteht aus drei Teilen:
Eine Benachrichtigungsrichtlinie, in der die Umstände beschrieben werden, unter denen Sie benachrichtigt werden möchten, und wie Sie über einen Vorfall benachrichtigt werden möchten. Mit der Benachrichtigungsrichtlinie können Zeitreihendaten überwacht werden, die von Monitoring gespeichert wurden, oder Logs, die von Cloud Logging gespeichert wurden. Wenn diese Daten die Bedingung der Benachrichtigungsrichtlinie erfüllen, erstellt Monitoring einen Vorfall und sendet die Benachrichtigungen.
Jeder Vorfall ist ein Datensatz des überwachten Datentyps und des Zeitpunkts, zu dem die Bedingungen erfüllt wurden. Diese Informationen können Ihnen bei der Fehlerbehebung der Probleme helfen, die den Vorfall verursacht haben.
Ein Benachrichtigungskanal definiert, wie Sie Benachrichtigungen erhalten, wenn Monitoring einen Vorfall 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:
Zeitreihendaten, 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.
Logeinträge, die von Cloud Logging gespeichert werden. Benachrichtigungsrichtlinien, die einzelne Logeinträge auswerten, werden als logbasierte Benachrichtigungsrichtlinien bezeichnet. Logbasierte Benachrichtigungsrichtlinien benachrichtigen 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 Logeinträge ausgeführt wird, die in Logging gespeichert sind. Benachrichtigungsrichtlinien, mit denen die Ergebnisse einer SQL-Abfrage überwacht werden, werden als SQL-basierte Benachrichtigungsrichtlinien bezeichnet. Weitere Informationen finden Sie unter SQL-Abfrageergebnisse mit einer Benachrichtigungsrichtlinie überwachen.
SQL-basierte Benachrichtigungsrichtlinien sind in der öffentlichen Vorschau verfügbar.
Der Benachrichtigungsprozess hilft Ihnen, auf Probleme zu reagieren, wenn die Leistung einer Anwendung keine akzeptablen Werte erreicht. Sie stellen beispielsweise eine Webanwendung auf einer Compute Engine-VM-Instanz bereit. Sie erwarten zwar, dass die HTTP-Antwortlatenz schwankt, aber Sie möchten, dass Ihr Supportteam reagiert, wenn die Anwendung über einen längeren Zeitraum eine hohe Latenz aufweist. Sie können eine messwertbasierte Benachrichtigungsrichtlinie erstellen, mit der der Messwert für die HTTP-Antwortlatenz der Anwendung überwacht wird. Wenn die Antwortlatenz mindestens fünf Minuten lang über zwei Sekunden liegt, erstellt Monitoring einen Vorfall 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 auch eine neue Benachrichtigungsrichtlinie mit der Google Cloud Console, der Cloud Monitoring API, der Google Cloud CLI und Terraform konfigurieren.
Integrationen und empfohlene Benachrichtigungsrichtlinien verwenden
Monitoring bietet vorgefertigte Pakete, mit denen Sie Benachrichtigungsrichtlinien für Ihre Google Cloud Dienste und Integrationen von Drittanbietern erstellen können. Die Pakete enthalten empfohlene Benachrichtigungsrichtlinien, Beispieldashboards und wichtige Messwerte für den Dienst. Diese Pakete sind für Google 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 Benachrichtigungskanal und ändern optional andere Werte. Nach der Konfiguration beginnt die Benachrichtigungsrichtlinie sofort mit der Überwachung des Ziels. Es sind keine weiteren Nutzereingaben erforderlich.
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 fehlerhafte Instanzen und langsame Transaktionen:
Weitere Informationen finden Sie in folgenden Dokumenten:
- Benachrichtigungsrichtlinien installieren.
- Integrationen verwalten.
- Anwendungen von Drittanbietern überwachen.
Neue Benachrichtigungsrichtlinien erstellen
Sie können Benachrichtigungsrichtlinien erstellen, um verschiedene Arten von Daten zu überwachen, je nach Ihren Benachrichtigungsanforderungen. In den folgenden Abschnitten sind die verschiedenen Arten von Daten aufgeführt, die Sie mit Benachrichtigungsrichtlinien überwachen können.
Zeitreihendaten überwachen
| Bedingungstyp | Beschreibung | Beispiel |
|---|---|---|
| Bedingung des Messwertschwellenwerts | Bedingungen für Messwertschwellen werden erfüllt, wenn die Werte eines Messwerts für ein bestimmtes Testwiederholungsfenster über oder unter einem Schwellenwert 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 höher ist. |
| Bedingung für fehlenden Messwert | Bedingungen für fehlende Messwerte werden erfüllt, wenn eine überwachte Zeitachse für ein bestimmtes Testwiederholungsfenster keine Daten enthält. Das maximale Testwiederholungsfenster 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 einen Vorfall für Ihr Supportteam erstellt, wenn eine Ressource innerhalb von fünf Minuten nicht auf HTTP-Anfragen antwortet. |
| Prometheus Query Language-Bedingung (PromQL) | PromQL ist eine funktionale Abfragesprache, mit der Zeitreihendaten in Echtzeit ausgewertet werden. Ihre PromQL-Abfragen können jeden gültigen Ausdruck verwenden, z. B. Messwertkombinationen, Verhältnisse und dynamische Schwellenwerte, die auf einem Messwert basieren. Weitere Informationen finden Sie unter PromQL in Cloud Monitoring und Übersicht über PromQL-Benachrichtigungen. |
Sie möchten einen PromQL-Benachrichtigungsausdruck verwenden, der sich in einem öffentlichen Repository befindet, eine Benachrichtigungsrichtlinie, die auf mehr als einem Messwert basiert, z. B. einem Verhältnis, oder eine Benachrichtigungsrichtlinie, die mehr als 25 Stunden Daten umfasst. |
| Bedingung für prognostizierte Messwerte | Bedingungen für prognostizierte Messwerte werden erfüllt, wenn die Benachrichtigungsrichtlinie vorhersagt, dass der Schwellenwert im kommenden Prognosefenster überschritten wird. Das Prognosefenster kann zwischen einer Stunde und sieben 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 einen Vorfall für Ihr Supportteam erstellt, wenn eine Ressource innerhalb der nächsten 24 Stunden wahrscheinlich 80% der Festplattennutzung erreicht. |
Ressourcenmetadatenlabels werden asynchron zu Zeitreihen hinzugefügt und unterliegen nicht denselben Latenzerwartungen wie Werte von Labels, die durch Messwerttypen oder Typen der überwachten Ressourcen definiert werden. Daher kann sich eine Benachrichtigungsrichtlinie , die von Metadatenwerten abhängt, um eine Aktion auszulösen , unregelmäßig verhalten, wenn die Erstellung von Ressourcenmetadatenlabels verzögert wird.
Logeinträge ü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 feststellt, dass eine Phrase aus einem Logeintrag den Kriterien der Benachrichtigungsrichtlinie entspricht. Sie möchten beispielsweise eine Benachrichtigungsrichtlinie,
die einen Vorfall für Ihr Support
team erstellt, wenn die message
enthält product_ids=['tier_1_support', 'tier_2_support'].
Weitere Informationen finden Sie in der Logging-Dokumentation unter Logbasierte Benachrichtigungsrichtlinien konfigurieren.
SQL-Abfrageergebnisse überwachen
Wenn Sie SQL-Abfrageergebnisse überwachen möchten, verwenden Sie eine SQL-basierte Benachrichtigungsrichtlinie.
Die Bedingung einer SQL-basierten Benachrichtigungsrichtlinie analysiert regelmäßig Ihre Logeinträge und erstellt dann Vorfälle, wenn die Tabelle mit den Abfrageergebnissen bestimmte Kriterien erfüllt. Diese Art von Benachrichtigungsrichtlinie ist hilfreich, wenn Sie eine Benachrichtigungsrichtlinie benötigen, die Aggregationen von Daten oder komplexe Muster in mehreren Logeinträgen überwacht. Sie möchten beispielsweise benachrichtigt werden, wenn in den letzten 60 Minuten mehr als 50 Logeinträge den Schweregrad WARNING haben.
Weitere Informationen finden Sie in der Logging-Dokumentation unter SQL-Abfrageergebnisse mit einer Benachrichtigungsrichtlinie überwachen.
Komponenten von Benachrichtigungsrichtlinien
Jede Benachrichtigungsrichtlinie hat die folgenden Komponenten:
Eine Bedingung, die beschreibt, wann sich eine Ressource oder eine Gruppe von Ressourcen in einem Zustand befindet, der eine Reaktion von Ihnen 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 Schwellenwerte und bedingte Logik einzufügen.
Wenn Sie eine Integration verwenden, um eine empfohlene Benachrichtigungsrichtlinie zu aktivieren, wird die Bedingung der Benachrichtigungsrichtlinie automatisch ausgefüllt.
Eine Liste von Benachrichtigungskanälen, die beschreiben, wer benachrichtigt werden soll, wenn eine Aktion erforderlich ist. Weitere Informationen finden Sie unter Benachrichtigungskanäle erstellen und verwalten.
Dokumentation, die in Benachrichtigungen und auf Vorfallseiten angezeigt wird. Sie können die Betreffzeile einer Benachrichtigung konfigurieren und dem Text der Benachrichtigung hilfreiche Informationen hinzufügen. Sie können beispielsweise konfigurieren, dass in der Benachrichtigung Links zu internen Playbooks oder zu Google Cloud Seiten wie benutzerdefinierten Dashboards angezeigt werden. Weitere Informationen zur Dokumentation, einschließlich Beispielen, finden Sie unter Vorfälle mit benutzerdefinierter Dokumentation versehen.
Benachrichtigungsrichtlinien und Vorfälle verwalten
Nachdem eine Benachrichtigungsrichtlinie aktiviert wurde, überwacht Monitoring kontinuierlich die Bedingungen dieser Richtlinie. 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 Snooze-Funktion.
Wenn ein Vorfall geöffnet ist und Monitoring feststellt, dass die Bedingungen der messwertbasierten Richtlinie nicht mehr erfüllt sind, schließt Monitoring den Vorfall automatisch und sendet eine Benachrichtigung über den Abschluss.
Preise
Informationen zu den Preisen für Cloud Monitoring finden Sie auf der Seite Google Cloud Observability-Preise.
Informationen zum Überwachen der Anzahl der aufgenommenen Trace-Spans oder Logs oder zum Benachrichtigen, wenn bestimmte Inhalte in einem Logeintrag enthalten sind, finden Sie in den folgenden Dokumenten:
- Benachrichtigungen zur monatlichen Logaufnahme
- Benachrichtigungen zur monatlichen Aufnahme von Trace-Spans
- Logbasierte Warnungen konfigurieren
Nächste Schritte
Informationen zur Benachrichtigungslatenz und zu den Auswirkungen der Parameter für eine Benachrichtigungsrichtlinie beim Senden von Benachrichtigungen finden Sie unter Verhalten von messwertbasierten Benachrichtigungsrichtlinien.
Eine Liste mit Beispielen für messwertbasierte Richtlinien, einschließlich der Verwendung von JSON zum Schreiben einer Bedingung für Messwertschwellen, mit der ein Verhältnis von Messwerttypen überwacht wird, finden Sie unter Zusammenfassung von Beispiel-Benachrichtigungsrichtlinien.