Mit PromQL-Abfragen (Prometheus Query Language) in Cloud Monitoring können Sie Benachrichtigungsrichtlinien mit komplexen Bedingungen wie Messwertverhältnissen, dynamischen Grenzwerten basierend auf einem anderen Messwert und kombinierten Messwerten erstellen. Mit diesen Richtlinien können Messwertdaten für einen Zeitraum von bis zu 2 Jahren ausgewertet werden.
Wenn Sie Prometheus in Umgebungen außerhalb von Google Cloud verwenden oder Benachrichtigungen in Google Cloud Managed Service for Prometheus verwenden, können Sie Ihre Prometheus-Benachrichtigungsregeln zu PromQL-basierten Benachrichtigungsrichtlinien migrieren. Wenn Sie Ihre Regeln migrieren, können Sie alle Ihre Benachrichtigungsrichtlinien in Monitoring verwalten. Sie können auch Grafana-Dashboards in Cloud Monitoring importieren. Allgemeine Informationen zur Verwendung von PromQL und zur Auswertung von Daten durch Benachrichtigungsrichtlinien finden Sie unter PromQL in Cloud Monitoring und Verhalten von messwertbasierten Benachrichtigungsrichtlinien.
PromQL in Cloud Monitoring-Benachrichtigungsrichtlinien verwenden
Sie können PromQL-basierte Benachrichtigungsrichtlinien auf folgende Arten erstellen:
Informationen zum Erstellen einer Benachrichtigungsrichtlinie in der Google Cloud Console und zum Definieren einer PromQL-Abfrage im Code-Editor finden Sie unter PromQL-basierte Benachrichtigungsrichtlinien erstellen (Console).
Informationen zum Erstellen einer PromQL-basierten Benachrichtigungsrichtlinie mit der gcloud CLI oder dem
AlertPolicy-Konstrukt in der Monitoring API finden Sie unter PromQL-basierte Benachrichtigungsrichtlinien erstellen (API).Informationen zum Migrieren Ihrer Prometheus-Benachrichtigungsregeln und ‑Benachrichtigungskanäle zu Cloud Monitoring mit der Google Cloud CLI finden Sie unter Benachrichtigungsregeln und -empfänger aus Prometheus migrieren.
Benachrichtigungen, die durch eine PromQL-basierte Benachrichtigungsrichtlinie erstellt wurden, werden in der Google Cloud Console zusammen mit Ihren anderen Benachrichtigungen angezeigt. Sie können in der Google Cloud Console mit diesen Benachrichtigungen interagieren.
In den Bedingungen Ihrer PromQL-basierten Benachrichtigungsrichtlinie kann auf jeden Messwert in Cloud Monitoring verwiesen werden, einschließlich Systemmesswerte von Google Cloud , benutzerdefinierte und logbasierte Messwerte sowie Prometheus-Messwerte. Sie müssen die Namen von Nicht-Prometheus-Messwerten in die PromQL-Messwertsyntax übersetzen. Weitere Informationen finden Sie unter Monitoring-Messwerte PromQL zuordnen.
Messwertdaten aus mehr als zwei Jahren abfragen
Im Gegensatz zu anderen Benachrichtigungsrichtlinientypen, die nur Abfragen von Messwertdaten über 25 Stunden unterstützen, können Sie mit PromQL Benachrichtigungen für Messwertdaten von bis zu 2 Jahren erstellen. Dies unterstützt Anwendungsfälle wie:
- Anomalien werden erkannt, indem die letzten 5 Minuten mit demselben 5-Minuten-Zeitraum vor einer Woche verglichen werden.
- Ausführen einer 7-tägigen Benachrichtigungsrichtlinie für langsame Burn-Rate.
- Ermitteln des Durchschnittswerts des letzten Monats und Auslösen einer Benachrichtigung, wenn die Daten der letzten Stunde mehr als drei Standardabweichungen von diesem Durchschnittswert abweichen.
- Verwenden Sie die Funktion
predict_linearfür die Daten der letzten Woche, um zu sehen, ob Sie am nächsten Tag einen Schwellenwert überschreiten werden.
PromQL-Benachrichtigungsrichtlinien, die die Daten der letzten 25 Stunden auswerten (definiert durch die Summe des Abgleichszeitraums und einer Zeitverschiebung, die durch die Verwendung des Modifikators offset verursacht wird), können alle 30 Sekunden ausgewertet werden.
Richtlinien, die auf älteren Daten basieren, werden seltener ausgewertet. Der Mindestzeitraum wird dadurch bestimmt, wie weit Ihre Benachrichtigungsrichtlinie zurückreicht:
| Lookback-Zeitraum für Abfragen | Mindestintervall für die Auswertung (Standardeinstellung) |
|---|---|
| Bis zu 25 Stunden1 | 30 Sekunden |
| 25 Stunden bis 8 Tage | 5 Minuten |
| 8–16 Tage | 1 Stunde |
| 16 bis 32 Tage | 2 Stunden |
| 32 bis 93 Tage | 6 Stunden |
| 93 Tage bis 2 Jahre | 12 Stunden |
1 Einige Messwerte von Google Cloud -Diensten unterstützen nur 30-Sekunden-Bewertungsintervalle für bis zu 23 Stunden und 30 Minuten.
Achten Sie darauf, dass die Dauer von rate mindestens so lang ist wie das Bewertungsintervall, damit in der Benachrichtigungsrichtlinie keine Daten fehlen. Wenn Ihr Bewertungsintervall beispielsweise 1 Stunde beträgt, sollte Ihre Abfrage so aussehen: rate(metric[1h]).
Für Bedingungen, die sich auf Daten von mehr als 25 Stunden beziehen, gilt eine Abfragefrist von 2 Minuten. Dies entspricht der Frist im Metrics Explorer. Wenn Ihre PromQL-Abfrage im Metrics Explorer nicht zu einer Zeitüberschreitung führt, wird sie auch in Ihrer Benachrichtigung nicht zu einer Zeitüberschreitung führen.
PromQL-Benachrichtigungsrichtlinien sind deutlich zuverlässiger, wenn sie mit den Daten der letzten 25 Stunden arbeiten. Für maximale Zuverlässigkeit sollte die Summe aus dem Testzeitraum, dem Anpassungszeitraum und einer eventuellen Zeitverschiebung, die durch die Verwendung des Modifikators offset verursacht wird, höchstens 25 Stunden betragen.
Testwiederholungsfenster sind für PromQL-Benachrichtigungsabfragen deaktiviert, die auf Daten zugreifen, die älter als 25 Stunden sind.
Sie können nur für die letzten 25 Stunden an Daten für benutzerdefinierte Messwerte (Präfix custom.googleapis.com) und benutzerdefinierte logbasierte Messwerte (Präfix logging.googleapis.com/user/) Benachrichtigungen erhalten.
Beschränkungen
Fügen Sie Ihren PromQL-basierten Benachrichtigungsrichtlinien keine Filter hinzu, die Systemmetadatenlabels verwenden.
Eine PromQL-basierte Benachrichtigungsrichtlinie kann ein Testwiederholungsfenster von maximal 24 Stunden haben. Wenn Sie ein Testwiederholungsfenster verwenden, darf die Summe aus Testwiederholungsfenster, Abgleichszeitraum und Zeitverschiebung, die durch die Verwendung des Modifikators offset verursacht wird, höchstens 25 Stunden betragen.
Wenn in Ihrer Prometheus-Benachrichtigungsregel auf einen Messwert verwiesen wird, müssen Sie zuerst einen entsprechenden Messwertdeskriptor in Cloud Monitoring haben, bevor Sie Ihre PromQL-basierte Benachrichtigungsrichtlinie erstellen können. Sie können diese Validierung jedoch überschreiben, indem Sie Ihre PromQL-basierte Benachrichtigungsrichtlinie mit der Cloud Monitoring API konfigurieren. Weitere Informationen finden Sie unter Prüfung auf Messwertexistenz deaktivieren.
Wenn Ihre Benachrichtigungsrichtlinie ein Verhältnis von Messwerten überwacht, legen Sie die Dauer auf mindestens das Doppelte des Bewertungsintervalls fest. Kürzere Zeiträume können zu Fehlalarmen führen. Weitere Informationen finden Sie unter Falsche Benachrichtigungen aufgrund von Anomalien bei der Verhältnisberechnung.