Benachrichtigungsrichtlinien für fehlende Messwerte erstellen

In diesem Dokument wird beschrieben, wie Sie mit der Google Cloud -Konsole eine Benachrichtigungsrichtlinie erstellen, mit der Benachrichtigungen gesendet werden, wenn für eine überwachte Zeitreihe für einen bestimmten Zeitraum keine Daten vorhanden sind.

Bei Bedingungen für fehlende Messwerte muss innerhalb des maximalen Zeitraums nach Installation oder Änderung der Richtlinie mindestens eine erfolgreiche Messung durchgeführt werden, d. h. eine Messung, bei der Daten abgerufen werden. Dieser Zeitraum wird als Zeit ohne Trigger bezeichnet. Die maximal konfigurierbare Zeit für das Ausbleiben von Triggern beträgt 23,5 Stunden.

Nehmen wir beispielsweise an, Sie legen die Zeit für das Ausbleiben des Triggers in einer Richtlinie für einen fehlenden Messwert auf 30 Minuten fest. Die Bedingung wird nicht erfüllt, wenn das Subsystem, das Messwertdaten schreibt, nie einen Datenpunkt geschrieben hat. Das Subsystem muss mindestens einen Datenpunkt ausgeben, auf den 30 Minuten lang keine weiteren Datenpunkte folgen dürfen.

Dieser Inhalt gilt nicht für logbasierte Benachrichtigungsrichtlinien. Informationen zu logbasierten Benachrichtigungsrichtlinien, die Sie benachrichtigen, wenn eine bestimmte Nachricht in Ihren Logs angezeigt wird, finden Sie unter Logs überwachen.

In diesem Dokument wird Folgendes nicht beschrieben:

Diese Funktion wird nur für Google Cloud -Projekte unterstützt. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.

Hinweise

  1. Bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Monitoring Editor (roles/monitoring.editor) für Ihr Projekt zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Erstellen und Ändern von Benachrichtigungsrichtlinien über die Google Cloud Konsole benötigen. Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.

    Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.

    Weitere Informationen zu Cloud Monitoring-Rollen finden Sie unter Zugriff mit Identity and Access Management steuern.

  2. Machen Sie sich mit den allgemeinen Konzepten von Benachrichtigungsrichtlinien vertraut. Informationen zu diesen Themen finden Sie unter Benachrichtigungen – Übersicht.

  3. Konfigurieren Sie die Benachrichtigungskanäle, die Sie für Benachrichtigungen verwenden möchten. Zu Redundanzzwecken empfehlen wir, mehrere Arten von Benachrichtigungskanälen zu erstellen. Weitere Informationen finden Sie unter Benachrichtigungskanäle erstellen und verwalten.

Benachrichtigungsrichtlinie erstellen

So erstellen Sie eine Benachrichtigungsrichtlinie, mit der Benachrichtigungen gesendet werden, wenn für eine überwachte Zeitreihe für einen bestimmten Zeitraum ohne Trigger keine Daten vorhanden sind:

  1. Rufen Sie in der Google Cloud Console- die Seite Benachrichtigungen auf:

    Zu Benachrichtigungen

    Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.

  2. Wählen Sie in der Symbolleiste der Google Cloud -Console Ihr Google Cloud -Projekt aus. Wählen Sie für App Hub-Konfigurationen das App Hub-Hostprojekt oder das Verwaltungsprojekt des für Apps aktivierten Ordners aus.
  3. Wählen Sie Richtlinie erstellen aus.
  4. Wählen Sie die zu überwachende Zeitreihe aus:

    1. Klicken Sie auf Messwert auswählen, wählen Sie über die Menüs einen Ressourcentyp und einen Messwerttyp aus und klicken Sie dann auf Übernehmen.

      Das Menü Messwert auswählen enthält Funktionen, mit denen Sie die verfügbaren Messwerttypen finden können:

      • Verwenden Sie die Filterleiste, um einen bestimmten Messwerttyp zu finden. Wenn Sie beispielsweise util eingeben, werden im Menü nur Einträge angezeigt, die util enthalten. Einträge werden angezeigt, wenn sie einen Test mit „contains“ (Groß-/Kleinschreibung wird nicht berücksichtigt) bestehen.

      Sie können jeden integrierten Messwert oder jeden benutzerdefinierten Messwert überwachen.

    2. Optional: Wenn Sie nur einen Teil der Zeitreihen überwachen möchten, die mit den im vorherigen Schritt ausgewählten Messwert- und Ressourcentypen übereinstimmen, klicken Sie auf Filter hinzufügen. Wählen Sie im Filterdialogfeld das Label aus, nach dem gefiltert werden soll, einen Vergleichsoperator und dann den Filterwert. Der Filter zone =~ ^us.*.a$ verwendet beispielsweise einen regulären Ausdruck, um alle Zeitreihendaten abzugleichen, deren Zonenname mit us beginnt und mit a endet. Weitere Informationen finden Sie unter Ausgewählte Zeitreihen filtern.

    3. Optional: Wenn Sie ändern möchten, wie die Punkte in einer Zeitachse ausgerichtet werden, legen Sie im Bereich Daten transformieren die Felder Rollierendes Zeitfenster und Funktion für rollierendes Zeitfenster fest.

      Wenn Sie einen logbasierten Messwert überwachen, empfehlen wir, das Menü Gleitendes Fenster auf mindestens 10 Minuten festzulegen.

      Diese Felder geben an, wie die in einem Fenster aufgezeichneten Punkte kombiniert werden. Angenommen, das Fenster beträgt 15 Minuten und die Fensterfunktion ist max. Der ausgerichtete Punkt ist der Höchstwert aller Punkte in den letzten 15 Minuten. Weitere Informationen finden Sie unter Ausrichtung: Regularisierung innerhalb der Reihe.

    4. Optional: Sie können Zeitachsen kombinieren, wenn Sie die Anzahl der Zeitachsen reduzieren möchten, die von einer Richtlinie überwacht werden, oder wenn Sie nur eine Sammlung von Zeitachsen überwachen möchten. Anstatt beispielsweise die CPU-Auslastung jeder VM-Instanz zu überwachen, können Sie die durchschnittliche CPU-Auslastung für alle VMs in einer Zone berechnen und dann diesen Durchschnitt überwachen. Standardmäßig werden Zeitreihen nicht kombiniert. Allgemeine Informationen finden Sie unter Reduzierung: Zeitachsen kombinieren.

      So kombinieren Sie alle Zeitachsen:

      1. Klicken Sie im Abschnitt Über Zeitachsen hinweg auf  Maximieren.
      2. Legen Sie für das Feld Zeitachsenaggregation einen anderen Wert als none fest. Wenn Sie beispielsweise den Durchschnittswert der Zeitreihe anzeigen möchten, wählen Sie mean aus.
      3. Achten Sie darauf, dass das Feld Zeitachsen gruppieren nach leer ist.

      So kombinieren oder gruppieren Sie Zeitachsen nach Labelwerten:

      1. Klicken Sie im Abschnitt Über Zeitachsen hinweg auf  Maximieren.
      2. Legen Sie für das Feld Zeitachsenaggregation einen anderen Wert als none fest.
      3. Wählen Sie im Feld Zeitachsen gruppieren nach die Labels aus, nach denen gruppiert werden soll.

      Wenn Sie beispielsweise nach dem Label zone gruppieren und das Aggregationsfeld auf den Wert mean festlegen, wird im Diagramm für jede Zone, für die Daten vorhanden sind, eine Zeitachse angezeigt. Die für eine bestimmte Zone angezeigte Zeitreihe ist der Durchschnitt aller Zeitreihen mit dieser Zone.

    5. Klicken Sie auf Weiter.

  5. Konfigurieren Sie den Bedingungstrigger:

    1. Wählen Sie Fehlende Messwerte als Bedingungstyp aus.

    2. Optional: Aktualisieren Sie das Menü Benachrichtigungsauslöser mit den folgenden Werten:

      • Any time series violates (Wenn eine Zeitachse verstößt): Standardeinstellung. Die Bedingung wird erfüllt, wenn für eine Zeitreihe während des gesamten Zeitraums für das Auslösen von Benachrichtigungen keine Daten vorhanden sind.

      • Prozentsatz an Zeitachsen, die gegen die Bedingung verstoßen: Ein bestimmter Prozentsatz an Zeitachsen muss für den gesamten Zeitraum, in dem keine Daten vorhanden sind, keine Daten enthalten, bevor die Bedingung erfüllt ist. Sie können sich beispielsweise benachrichtigen lassen, wenn für 50% der überwachten Zeitreihen für die gesamte Zeit ohne Trigger keine Daten vorhanden sind.

      • Number of time series violates (Wenn Anzahl an Zeitachsen verstößt): Eine bestimmte Anzahl von Zeitachsen muss für die gesamte Zeit, in der die Bedingung ausgelöst wird, keine Daten enthalten, bevor die Bedingung erfüllt ist. Sie können beispielsweise benachrichtigt werden, wenn für 32 der überwachten Zeitreihen für die gesamte Zeit, in der kein Trigger vorhanden war, keine Daten verfügbar sind.

      • Alle Zeitreihen verstoßen dagegen: Alle Zeitreihen müssen für den gesamten Zeitraum, in dem der Trigger fehlt, keine Daten enthalten, bevor die Bedingung erfüllt ist.

      Informationen zu den Intervallen, die in Monitoring zum Ausrichten und Messen von Zeitachsendaten verwendet werden, finden Sie unter Ausrichtungszeiträume und Retest-Zeiträume.

    3. Geben Sie im Feld Zeit für das Auslösen bei Abwesenheit an, wie lange Messwertdaten fehlen müssen, bevor Sie von Monitoring benachrichtigt werden.

    4. Klicken Sie auf Weiter.

  6. Optional: Erstellen Sie eine Benachrichtigungsrichtlinie mit mehreren Bedingungen.

    Die meisten Richtlinien überwachen einen einzelnen Messwerttyp. Eine Richtlinie kann beispielsweise die Anzahl der in eine VM-Instanz geschriebenen Byte überwachen. Wenn Sie mehrere Messwerttypen überwachen möchten, erstellen Sie eine Richtlinie mit mehreren Bedingungen. Mit jeder Bedingung wird ein Messwerttyp überwacht. Nachdem Sie die Bedingungen erstellt haben, geben Sie an, wie sie kombiniert werden sollen. Weitere Informationen finden Sie unter Richtlinien mit mehreren Bedingungen.

    So erstellen Sie eine Benachrichtigungsrichtlinie mit mehreren Bedingungen:

    1. Klicken Sie für jede zusätzliche Bedingung auf Benachrichtigungsbedingung hinzufügen und konfigurieren Sie die jeweilige Bedingung.
    2. Klicken Sie auf Weiter und konfigurieren Sie, wie Bedingungen kombiniert werden.
    3. Klicken Sie auf Weiter, um mit der Einrichtung von Benachrichtigungen und Dokumentation fortzufahren.
  7. Benachrichtigung konfigurieren und Nutzerlabels hinzufügen:

    1. Maximieren Sie das Menü Benachrichtigungen und Name und wählen Sie die gewünschten Benachrichtigungskanäle aus. Zur Redundanz empfehlen wir, einer Benachrichtigungsrichtlinie mehrere Arten von Benachrichtigungskanälen hinzuzufügen. Weitere Informationen finden Sie unter Benachrichtigungskanäle verwalten.

    2. Optional: Wenn Sie in Ihrer Benachrichtigung anstelle des Standardbetreffs einen benutzerdefinierten Betreff verwenden möchten, aktualisieren Sie das Feld Betreffzeile der Benachrichtigung.

    3. Optional: Wenn Sie benachrichtigt werden möchten, wenn ein Vorfall geschlossen wird, wählen Sie Bei Schließen von Vorfall benachrichtigen aus. Wenn Sie eine Benachrichtigungsrichtlinie mit der Google Cloud Console erstellen, werden Benachrichtigungen standardmäßig nur beim Erstellen von Vorfällen gesendet.

    4. Optional: Wenn Sie ändern möchten, wie lange Monitoring wartet, bevor ein Vorfall geschlossen wird, nachdem keine Daten mehr eingehen, wählen Sie eine Option aus dem Menü Dauer bis zur automatischen Schließung von Vorfällen aus. Wenn keine Daten mehr eingehen, wartet Monitoring standardmäßig sieben Tage, bevor ein offener Vorfall geschlossen wird.

    5. Optional: Wenn Sie Ihre Benachrichtigungsrichtlinie einer App Hub-Anwendung zuordnen möchten, wählen Sie im Abschnitt Anwendungslabel eine Anwendung und entweder einen Dienst oder eine Arbeitslast aus. Diese Labels werden bei Vorfällen und Benachrichtigungen angezeigt.

    6. Optional: Wählen Sie im Menü Schweregrad der Richtlinie eine Option aus. Bei Vorfällen und Benachrichtigungen wird der Schweregrad angezeigt.

    7. Optional: So fügen Sie der Benachrichtigungsrichtlinie benutzerdefinierte Labels hinzu:

      1. Klicken Sie auf Label hinzufügen und geben Sie im Feld Schlüssel einen Namen für das Label ein. Labelnamen müssen mit einem Kleinbuchstaben beginnen und dürfen Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Geben Sie beispielsweise severity ein.
      2. Klicken Sie auf Wert und geben Sie einen Wert für das Label ein. Labelwerte dürfen Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Geben Sie beispielsweise critical ein.

      Informationen dazu, wie Sie Richtlinienlabels verwenden können, um Ihre Benachrichtigungen zu verwalten, finden Sie unter Vorfälle mit Labels versehen.

  8. Optional: Geben Sie im Abschnitt Dokumentation alle Inhalte ein, die in die Benachrichtigung aufgenommen werden sollen.

    Sie können die Dokumentation mit Nur-Text, Markdown und Variablen formatieren. Sie können auch Links einfügen, die Nutzern bei der Fehlerbehebung helfen,z. B. Links zu internen Playbooks, Google Cloud Dashboards und externen Seiten. Die folgende Dokumentationsvorlage beschreibt beispielsweise einen Vorfall zur CPU-Auslastung für eine gce_instance-Ressource und enthält mehrere Variablen, mit denen auf die REST-Ressourcen für Benachrichtigungsrichtlinie und Bedingung verwiesen wird. Die Dokumentationsvorlage verweist Leser dann auf externe Seiten, um bei der Fehlerbehebung zu helfen.

    Wenn Benachrichtigungen erstellt werden, ersetzt Monitoring die Dokumentationsvariablen durch ihre Werte. Die Werte ersetzen die Variablen nur in Benachrichtigungen. Im Vorschaubereich und an anderen Stellen in der Google Cloud -Konsole wird nur die Markdown-Formatierung angezeigt.

    Vorschau

    ## CPU utilization exceeded
    
    ### Summary
    
    The ${metric.display_name} of the ${resource.type}
    ${resource.label.instance_id} in the project ${resource.project} has
    exceeded 90% for over 15 minutes.
    
    ### Additional resource information
    
    Condition resource name: ${condition.name}  
    Alerting policy resource name: ${policy.name}  
    
    ### Troubleshooting and Debug References
    
    Repository with debug scripts: example.com  
    Internal troubleshooting guide: example.com  
    ${resource.type} dashboard: example.com
    

    Format in der Benachrichtigung

    Beispiel dafür, wie die Dokumentation in einer Benachrichtigung dargestellt wird.

    Weitere Informationen finden Sie unter Benachrichtigungen mit benutzerdefinierter Dokumentation annotieren und Kanalsteuerelemente verwenden.

  9. Klicken Sie auf Name der Benachrichtigung und geben Sie einen Namen für die Benachrichtigungsrichtlinie ein.

  10. Klicken Sie auf Richtlinie erstellen.

Ausgewählte Zeitachse filtern

Filter sorgen dafür, dass nur Zeitreihen überwacht werden, die bestimmte Kriterien erfüllen. Wenn Sie Filter anwenden, kann sich die Anzahl der Linien im Diagramm verringern, was die Leistung des Diagramms verbessern kann. Durch Aggregation können Sie auch die Menge der zu überwachenden Daten reduzieren. Filter stellen sicher, dass nur Zeitachsen verwendet werden, die bestimmte Kriterien erfüllen. Wenn Sie Filter anwenden, müssen weniger Zeitachsen ausgewertet werden, was die Leistung der Benachrichtigung verbessern kann.

Ein Filter besteht aus einem Label, einem Vergleich und einem Wert. Um beispielsweise alle Zeitreihen abzugleichen, deren Label zone mit "us-central1" beginnt, können Sie den Filter zone=~"us-central1.*" verwenden. Für den Vergleich wird hier ein regulärer Ausdruck verwendet.

Wenn Sie nach der Projekt-ID oder dem Ressourcencontainer filtern, müssen Sie den Operator „Gleich“ ((=)) verwenden. Wenn Sie nach anderen Labels filtern, können Sie einen beliebigen unterstützten Vergleichsoperator verwenden. In der Regel können Sie Messwert- und Ressourcenlabels sowie nach Ressourcengruppe filtern.

Wenn Sie mehrere Filterkriterien angeben, werden nur die Zeitreihen überwacht, die alle Kriterien erfüllen.

Um einen Filter hinzuzufügen, klicken Sie auf Filter hinzufügen, füllen Sie das Dialogfeld aus und klicken Sie dann auf Fertig. Im Dialogfeld verwenden Sie das Feld Filter, um das Kriterium auszuwählen, nach dem gefiltert werden soll. Wählen Sie dann den Vergleichsoperator und den Wert aus. In jeder Zeile der folgenden Tabelle sind ein Vergleichsoperator, seine Bedeutung und ein Beispiel aufgeführt:

OperatorBedeutungBeispiel
= Entsprechung resource.labels.zone = "us-central1-a"
!= Ungleichheit resource.labels.zone != "us-central1-a"
=~ Gleichheit mit regulärem Ausdruck2 monitoring.regex.full_match("^us.*")
!=~ Ungleichheit mit regulärem Ausdruck2 monitoring.regex.full_match("^us.*")
starts_with Wert beginnt mit resource.labels.zone = starts_with("us")
ends_with Wert endet mit resource.labels.zone = ends_with("b")
has_substring Wert enthält resource.labels.zone = has_substring("east")
one_of Eine von resource.labels.zone = one_of("asia-east1-b", "europe-north1-a")
!starts_with Wert beginnt nicht mit resource.labels.zone != starts_with("us")
!ends_with Wert endet nicht mit resource.labels.zone != ends_with("b")
!has_substring Wert enthält nicht resource.labels.zone != has_substring("east")
!one_of Wert ist keiner der folgenden Werte resource.labels.zone != one_of("asia-east1-b", "europe-north1-a")