Benachrichtigungsrichtlinien für fehlende Messwerte erstellen

In diesem Dokument wird beschrieben, wie Sie mit der Google Cloud Console eine Benachrichtigungsrichtlinie erstellen, die Benachrichtigungen sendet, wenn eine überwachte Zeitachse über einen bestimmten Zeitraum keine Daten hat.

Bedingungen für fehlende Messwerte erfordern mindestens eine erfolgreiche Messung – also eine Messung, bei der Daten abgerufen werden – innerhalb des maximalen Zeitraums nach der Installation oder Änderung der Richtlinie. Dieser Zeitraum wird als Trigger-Abwesenheitszeit bezeichnet. Die maximal konfigurierbare Abwesenheitszeit für Trigger beträgt 23,5 Stunden.

Angenommen, Sie legen die Abwesenheitszeit des Triggers in einer Richtlinie für fehlende Messwerte auf 30 Minuten fest. Die Bedingung ist 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, mit denen Sie informiert werden, wenn eine bestimmte Meldung in Ihren Logs angezeigt wird, finden Sie unter Logs überwachen.

In diesem Dokument wird Folgendes nicht beschrieben:

Hinweise

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

    Möglicherweise können Sie 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.

  3. Konfigurieren Sie die Benachrichtigungskanäle, die Sie für Benachrichtigungen verwenden möchten. Aus Gründen der Redundanz 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, die Benachrichtigungen sendet, wenn eine überwachte Zeitachse für eine bestimmte Abwesenheitszeit des Triggers keine Daten enthält:

  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 Richtlinie erstellen aus.
  3. Wählen Sie die zu überwachende Zeitreihe aus:

    1. Klicken Sie auf Messwert auswählen, wählen Sie in den Menüs einen Ressourcentyp und einen Messwerttyp aus und klicken Sie dann auf Anwenden.

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

      • Über die Filterleiste können Sie einen bestimmten Messwerttyp finden. Wenn Sie beispielsweise util eingeben, schränken Sie das Menü auf Einträge ein, die util enthalten. Einträge werden angezeigt, wenn sie einen „Enthält“-Test bestehen, bei dem die Groß-/Kleinschreibung nicht berücksichtigt wird.

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

    2. Optional: Klicken Sie auf Filter hinzufügen, um einen Teil der Zeitreihen zu überwachen, die den im vorherigen Schritt ausgewählten Messwert- und Ressourcentypen entsprechen. Wählen Sie im Dialogfeld „Filter“ 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 Zeitachsendaten abzugleichen, deren Zonenname mit us beginnt und mit a endet. Weitere Informationen finden Sie unter Ausgewählte Zeitachsen 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 Fenster und Funktion für rollierendes Zeitfenster fest.

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

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

      So kombinieren Sie alle Zeitreihen:

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

      So kombinieren oder gruppieren Sie Zeitreihen nach Labelwerten:

      1. Klicken Sie im Abschnitt Über mehrere Zeitreihen 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 dann das Aggregationsfeld auf den Wert mean festlegen, wird im Diagramm eine Zeitachse für jede Zone angezeigt, für die Daten vorhanden sind. Die für eine bestimmte Zone angezeigte Zeitachse ist der Durchschnitt aller Zeitachsen mit dieser Zone.

    5. Klicken Sie auf Weiter.

  4. Konfigurieren Sie den Bedingungstrigger:

    1. Wählen Sie für den Bedingungstyp Fehlende Messwerte aus.
    2. Wählen Sie einen Wert für das Menü Trigger für Benachrichtigungen aus. In diesem Menü können Sie die Teilmenge der Zeitachsen angeben, die keine Daten enthalten dürfen, bevor die Bedingung erfüllt ist.
    3. Geben Sie im Feld Trigger absence time (Abwesenheitszeit auslösen) an, wie lange Messwertdaten fehlen, bevor Sie von der Benachrichtigung benachrichtigt werden.
    4. Klicken Sie auf Weiter.
  5. 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. Jede Bedingung überwacht einen Messwerttyp. Nachdem Sie die Bedingungen erstellt haben, geben Sie an, wie die Bedingungen 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 diese Bedingung.
    2. Klicken Sie auf Weiter und konfigurieren Sie, wie Bedingungen kombiniert werden sollen.
    3. Klicken Sie auf Weiter, um zur Einrichtung der Benachrichtigungen und Dokumentation zu gelangen.
  6. Konfigurieren Sie die Benachrichtigungen:

    1. Maximieren Sie das Menü Benachrichtigungen und Name und wählen Sie Ihre Benachrichtigungskanäle aus. Aus Gründen der Redundanz empfehlen wir, einer Benachrichtigungsrichtlinie mehrere Arten von Benachrichtigungskanälen hinzuzufügen. Weitere Informationen finden Sie unter Benachrichtigungskanäle verwalten.

    2. Optional: Wenn Sie benachrichtigt werden möchten, wenn ein Vorfall geschlossen wird, wählen Sie Bei Schließung wegen Vorfalls benachrichtigen aus. Wenn Sie eine Benachrichtigungsrichtlinie mit der Google Cloud Console erstellen, wird standardmäßig nur dann eine Benachrichtigung gesendet, wenn ein Vorfall erstellt wird.

    3. Optional: Um zu ändern, wie lange Monitoring wartet, bevor ein Vorfall geschlossen wird, nachdem keine Daten eingehen, wählen Sie eine Option aus dem Menü Dauer für automatisches Schließen von Vorfällen aus. Wenn keine Daten eingehen, wartet Monitoring standardmäßig sieben Tage, bevor ein offener Vorfall geschlossen wird.

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

    5. Optional: So fügen Sie der Benachrichtigungsrichtlinie im Abschnitt Richtliniennutzerlabels 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 können 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 können Kleinbuchstaben, Ziffern, Unterstriche und Bindestriche enthalten. Geben Sie beispielsweise critical ein.

      Informationen dazu, wie Sie Ihre Benachrichtigungen mithilfe von Richtlinienlabels verwalten können, finden Sie unter Vorfälle mit Labels annotieren.

  7. Optional: Geben Sie im Abschnitt Dokumentation alle Inhalte ein, die in der Benachrichtigung enthalten sein sollen.

    Zur Formatierung Ihrer Dokumentation können Sie Nur-Text, Markdown und Variablen verwenden. Sie können auch Links einfügen, um Nutzern beim Debuggen des Vorfalls zu helfen, z. B. Links zu internen Playbooks, Google Cloud-Dashboards und externen Seiten. Die folgende Dokumentationsvorlage beschreibt beispielsweise einen CPU-Auslastungsvorfall für eine gce_instance-Ressource und enthält mehrere Variablen, um auf die Benachrichtigungsrichtlinie und die REST-Ressourcen für Bedingungen zu verweisen. Die Dokumentationsvorlage leitet die Leser dann für die Fehlerbehebung auf externe Seiten weiter.

    Beim Erstellen von Benachrichtigungen 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 Console 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
    

    In Benachrichtigung formatieren

    Beispiel für das Rendern der Dokumentation in einer Benachrichtigung

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

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

  9. Klicken Sie auf Richtlinie erstellen.

Ausgewählte Zeitreihe filtern

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

Ein Filter besteht aus einem Label, einem Vergleichsoperator und einem Wert. Wenn Sie beispielsweise alle Zeitachsen abgleichen möchten, deren zone-Label mit "us-central1" beginnt, können Sie den Filter zone=~"us-central1.*" verwenden. Dieser verwendet einen regulären Ausdruck für den Vergleich.

Wenn Sie nach der Projekt-ID oder dem Ressourcencontainer filtern, müssen Sie den Gleichheitsoperator (=) 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 Zeitachsen ü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. Anschließend wählen Sie den Vergleichsoperator und dann 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")