Einem benutzerdefinierten Dashboard dauerhaft Filter hinzufügen

In diesem Dokument wird beschrieben, wie Sie Ihren benutzerdefinierten Dashboards dauerhafte Filter auf Dashboard-Ebene hinzufügen können. Permanente Filter, mit denen Sie die von einem Dashboard angezeigten Daten ändern können, ohne jedes Widget ändern zu müssen, haben einen Standardstatus und können auf das gesamte Dashboard oder nur auf bestimmte Widgets angewendet werden. In der Dashboard-Symbolleiste werden alle dauerhaften Filter zusammen mit einem Menü angezeigt, über das Sie den Wert des Filters vorübergehend ändern können.

Wenn Sie eine Standarddarstellung von Daten auf einem Dashboard zusammen mit menübasierten Optionen zum Ändern dieser Anzeige definieren möchten, fügen Sie dauerhafte Filter hinzu. Wenn Sie beispielsweise Messwerte für alle Zonen und auch Messwerte für eine bestimmte Zone sehen möchten, erstellen Sie einen dauerhaften Filter auf der Grundlage des Labels zone.

Sie können mit der Google Cloud Console oder der Cloud Monitoring API permanente Filter erstellen und anwenden. In diesem Dokument wird die Verwendung der Google Cloud Console beschrieben. Informationen zur Verwendung der Cloud Monitoring API finden Sie unter Dashboards nach API erstellen und verwalten: Dashboardfilter.

Informationen zum Hinzufügen und Ändern temporärer Gruppierungen und Filter finden Sie unter Einem benutzerdefinierten Dashboard temporäre Filter hinzufügen.

Funktionsweise von Dashboard-Filtern

Ein Dashboardfilter gibt ein Label und einen Wert an. Die im Dashboard angezeigten Zeitachsen bestimmen, welche Labels für die Filterung zur Verfügung stehen. Wie ein Widget einen Filter für das gesamte Dashboard unterstützt, hängt vom Typ der vom Widget angezeigten Daten und von der Konfiguration des Widgets ab:

  • Für Widgets, die Zeitreihendaten anzeigen, z. B. Liniendiagramme, gelten die folgenden Regeln:

    • Wenn die vom Widget angezeigte Zeitachse das Label in einem Filter nicht unterstützt, werden die angezeigten Daten durch den Filter für das gesamte Dashboard nicht geändert.

      Wenn Sie beispielsweise einen Filter für das Label instance_id hinzufügen, aber in einem Diagramm im Dashboard keine Daten mit dem Label instance_id angezeigt werden, werden die angezeigten Daten durch den Filter nicht geändert.

    • Wenn im Widget einen Wert für ein Label angegeben ist, werden die angezeigten Daten durch den Filter für das gesamte Dashboard nicht geändert.

      Wenn Sie beispielsweise einen Filter für das Label instance_id hinzufügen, aber ein Diagramm im Dashboard einen Filter enthält, der auf dem Label instance_id basiert, werden die angezeigten Daten durch den Filter für das gesamte Dashboard nicht geändert.

    • Andernfalls werden die angezeigten Daten im Diagramm nur nach den Zeitachsen gefiltert, die dem Filter für das gesamte Dashboard entsprechen.

  • Bei Widgets für den Logbereich wird die Abfrage von Dashboard-weiten Filtern aktualisiert, die auf einem Ressourcenlabel basieren. Wenn Sie beispielsweise den Dashboard-weiten Filter cluster_name: mycluster hinzufügen, enthält die Abfrage resource.labels."cluster_name"="mycluster".

Sie können mehrere Filter auf dem gesamten Dashboard hinzufügen. Diese Filter werden durch ein logisches UND verbunden.

Hinweise

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 Hinzufügen oder Ändern dauerhafter Filter mithilfe der 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 Rollen finden Sie unter Zugriff mit Identity and Access Management steuern.

Dauerhaften Filter erstellen

Wenn Sie ein Dashboard entwerfen, identifizieren Sie möglicherweise mehrere Möglichkeiten, die im Dashboard angezeigten Daten anzuzeigen. Wenn in einem Dashboard beispielsweise Messwerte für VM-Instanzen angezeigt werden, möchten Sie möglicherweise Messwerte für alle VMs und Messwerte für VMs in einer bestimmten Zone ansehen. Sie können einen dauerhaften Filter für das Label zone erstellen, wobei die Standardeinstellung auf alle Zonen (*) festgelegt ist. Im Dashboard können Sie im Menü des Filters zone eine bestimmte Zone auswählen.

Sie können einen dauerhaften Filter auf bestimmte Widgets beschränken. Stellen Sie sich ein Szenario vor, bei dem Sie Messwerte für VMs in zwei verschiedenen Zonen nebeneinander sehen möchten. Sie erstellen zwei Sammlungen von Diagrammen und für jede Sammlung einen Filter. Die Standardkonfiguration erfüllt Ihr ursprüngliches Ziel. Beim Aufrufen des Dashboards werden jedoch in der Symbolleiste Ihre Variablen und Menüs zur Auswahl verschiedener Werte angezeigt. Mithilfe dieser Menüs können Sie Daten für verschiedene Zonen anzeigen.

Dauerhafte Filter, die nur für bestimmte Widgets gelten, werden manchmal als Vorlagenvariablen bezeichnet. Nachdem Sie einen Filter dieses Typs erstellt haben und Ihrem Dashboard ein Widget hinzufügen, können Sie den Filter auch auf dieses Widget anwenden. Weitere Informationen finden Sie unter Dauerhaften Filter auf ein Widget anwenden.

So erstellen Sie einen dauerhaften Filter:

  1. Rufen Sie in der Google Cloud Console die Seite Dashboards auf.

    Dashboards aufrufen

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

  2. Klicken Sie in der Dashboard-Symbolleiste auf Einstellungen und wählen Sie Filter verwalten aus.
  3. Klicken Sie auf Label und wählen Sie ein Label aus. Sie können beispielsweise zone auswählen.
  4. Klicken Sie auf Standardwert und wählen Sie dann den Standardwert für das Label aus. Für eine Übereinstimmung mit allen Werten wählen Sie * aus.

    Nachdem der Filter erstellt wurde, wird er der Dashboard-Symbolleiste hinzugefügt. Wenn Sie den Filterwert vorübergehend ändern möchten, klicken Sie auf den Filter und wählen Sie im Menü eine Option aus.

  5. Führen Sie einen der folgenden Schritte aus:

    • Wählen Sie Auf alle anwenden und dann Anwenden aus, um den Filter auf alle Widgets im Dashboard anzuwenden.

    • So wenden Sie den Filter auf einige Widgets im Dashboard an:

      1. Deaktivieren Sie die Option Auf alle anwenden.
      2. Geben Sie im Textfeld Variablenname einen Anzeigenamen für die Variable ein.
      3. Maximieren Sie das Menü Auf Diagramme anwenden, wählen Sie die Widgets aus, für die der Filter gilt, und wählen Sie dann OK aus.

      4. Klicken Sie auf Anwenden.

Dauerhaften Filter auf ein Widget anwenden

Wenn Sie einen dauerhaften Filter auf ein Widget anwenden möchten, müssen Sie dieses Widget mit der Variablen verknüpfen:

  • Bei Diagrammen, die Sie über Menüs konfigurieren, können Sie diese Verknüpfung beim Erstellen oder Bearbeiten des Filters herstellen.

  • Bearbeiten Sie für den Logbereich das Widget und konfigurieren Sie die Standardabfrage. Folgen Sie dazu der Anleitung im Abschnitt Syntax zum Anwenden eines permanenten Filters.

  • Bearbeiten Sie bei MQL- oder PromQL-definierten Diagrammen und Tabellen das Diagramm bzw. die Tabelle und ändern Sie dann die MQL- oder PromQL-Datei. Folgen Sie der Anleitung im Abschnitt Syntax zum Anwenden eines permanenten Filters.

Syntax zum Anwenden eines permanenten Filters

Das folgende Beispiel zeigt die JSON-Teildarstellung eines Dashboards, das eine Vorlagenvariable und einen Dashboard-weiten Filter definiert:

{
  "dashboardFilters": [
      {
        "filterType": "RESOURCE_LABEL",
        "labelKey": "instance_id",
        "stringValue": "3133577226154888113",
        "templateVariable": "iid"
      },
      {
        "filterType": "RESOURCE_LABEL",
        "labelKey": "zone"
      }
    ],
  "displayName": "Illustrate Template Variables",
  ...

In der angezeigten JSON-Datei ist der erste Eintrag in der dashboardFilters-Struktur für eine Vorlagenvariable mit dem Namen iid und einen Filter für das gesamte Dashboard mit dem Labelschlüssel zone. Die Vorlagenvariable ist ein Alias des Labels instance_id.

Die Datenstruktur für eine Vorlagenvariable listet die Widgets, für die sie gilt, nicht auf. Stattdessen verknüpfen Sie ein Widget mit einer Vorlagenvariable. Ändern Sie dazu die Abfrage des Widgets so, dass sie einen Verweis auf die Variable enthält. Wenn das Widget auf dem Dashboard angezeigt wird, wird der Wert der Vorlagenvariablen aufgelöst.

In den folgenden Abschnitten wird beschrieben, wie Sie Logbereiche und Diagramme mit Anmerkungen versehen:

Logbereich

Wenn Sie einen Logbereich so konfigurieren möchten, dass die Anzeige anhand des Werts einer Vorlagenvariablen gefiltert wird, fügen Sie die Variable dem Abfragebereich hinzu. Das folgende Beispiel veranschaulicht eine Abfrage, die nach dem Wert der Vorlagenvariablen iid filtert:

${iid}

Bevor im Bereich „Logs“ die anzuzeigenden Logs abgefragt werden, wird die Vorlagenvariable aufgelöst. Wenn der Wert der Vorlagenvariablen in diesem Beispiel "12345" ist, wird ${iid} durch die Anweisung resource.labels."instance_id"="12345" ersetzt.

Sie können auch nur den Wert einer Vorlagenvariablen in eine Abfrage aufnehmen. Wir empfehlen, den Wert nur als Teil eines mit einem regulären Ausdruck definierten Filters zu verwenden. Die folgende Abfrage verwendet beispielsweise einen regulären Ausdruck zum Abgleich von Logeinträgen, deren JSON-Nutzlast den beschriebenen String enthält:

jsonPayload.message=~"Connected to instance: ${iid.value}"

Wenn Sie eine Abfrage für den Logbereich konfiguriert haben und dann die Schaltfläche zum Öffnen des Log-Explorers auswählen, werden die Vorlagenvariablen aufgelöst, bevor der Log-Explorer geöffnet wird.

In der folgenden Tabelle sehen Sie, wie die Vorlagenvariable vom Bereich „Logs“ aufgelöst wird:

Syntax Ausgewählter
Wert
Ausdruck des aufgelösten Logbereichs
${iid} 12345 resource.labels."instance_id"="12345"
${iid} * ""
${iid.value} 12345 12345
${iid.value} * .*

MQL-definierte Diagramme und Tabellen

Wenn Sie ein Diagramm mit Monitoring Query Language (MQL) konfigurieren, hängen Sie eine Pipe und die Variable an den Abfragestring an:

fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| every 1m
| ${iid}

Bevor das Diagramm die anzuzeigenden Zeitachsen abfragt, wird die Vorlagenvariable aufgelöst. Wenn der Wert der Vorlagenvariablen in diesem Beispiel "12345" ist, wird ${iid} durch die Anweisung filter (resource.instance_id == '12345') ersetzt. Dieser Filter stimmt nur mit Zeitachsen überein, die ein Label namens resource.instance_id haben, und nur, wenn der Wert dieses Labels genau 12345 ist.

Wenn Sie Zeitreihen mithilfe eines regulären Ausdrucks filtern möchten, konfigurieren Sie die Abfrage so, dass sie nur den Wert der Vorlagenvariablen enthält. Das folgende Beispiel zeigt, wie Sie mit einem regulären Ausdruck bestimmen, ob der Wert des Labels resource.instance_id den Wert der Vorlagenvariablen iid enthält:

fetch gce_instance
| metric 'compute.googleapis.com/instance/cpu/utilization'
| filter resource.instance_id=~"${iid.value}"
| group_by 1m, [value_utilization_mean: mean(value.utilization)]
| every 1m

Die folgende Tabelle zeigt, wie die Vorlagenvariable für MQL-Abfragen aufgelöst wird:

Syntax Ausgewählter
Wert
MQL-Ausdruck aufgelöst
${iid} 12345 filter (resource.instance_id == '12345')
${iid} * filter (true)
${iid.value} 12345 12345
${iid.value} * .*

PromQL-definierte Diagramme und Tabellen

Wenn Sie ein Diagramm mit PromQL definieren, hängen Sie die Variable in geschweiften Klammern an den Abfragestring an:

compute_googleapis_com:instance_cpu_utilization {
    project_id="my-project", ${iid}
}

Bevor das Diagramm die anzuzeigenden Zeitachsen abfragt, wird die Vorlagenvariable aufgelöst. Wenn der Wert der Vorlagenvariablen in diesem Beispiel "12345" ist, wird ${iid} durch die Anweisung instance_id == '12345' ersetzt.

Ähnlich wie bei MQL kann die Abfrage nur den Wert der Vorlagenvariablen extrahieren, wenn Sie ein Widget mit PromQL definieren. Wir empfehlen, den Wert nur als Teil eines mit einem regulären Ausdruck definierten Filters zu verwenden. Das folgende Beispiel zeigt, wie Sie mit einem regulären Ausdruck ermitteln, ob der Wert des Labels instance_id den Wert der Vorlagenvariablen iid enthält:

compute_googleapis_com:instance_cpu_utilization{
    instance_id=~"${iid.value}"
}

Die folgende Tabelle zeigt, wie die Vorlagenvariable für PromQL-Abfragen aufgelöst wird:

Syntax Ausgewählter
Wert
PromQL-Ausdruck aufgelöst
${iid} 12345 instance_id == '12345'
${iid} * noop_filter=~".*"
${iid.value} 12345 12345
${iid.value} * .+

Mit Zeitreihenfiltern definierte Diagramme und Tabellen

Wenn Sie ein Diagramm mit Zeitreihenfiltern definieren, hängen Sie die Variable an den Filterstring an:

"filter": "metric.type=\"compute.googleapis.com/instance/cpu/utilization\"
           resource.type=\"gce_instance\" ${iid}"

Im Gegensatz zu MQL- und PromQL-definierten Diagrammen können Sie den Wert einer Vorlagenvariablen nicht in einem Zeitreihenfilter verwenden.

In der folgenden Tabelle sehen Sie, wie die Vorlagenvariable aufgelöst wird:

Syntax Ausgewählter
Wert
Filterausdruck aufgelöst
${iid} 12345 resource.instance_id == "12345"
${iid} * Ausgelassen
${iid.value} 12345 Nicht unterstützt
${iid.value} * Nicht unterstützt

Permanente Filter ändern

Wenn Sie den Wert eines Filters vorübergehend ändern möchten, der in der Dashboard-Symbolleiste angezeigt wird, klicken Sie auf den Filternamen und geben Sie einen Wert ein oder treffen Sie eine Auswahl im Menü.

So ändern Sie die Konfiguration eines dauerhaften Filters:

  1. Rufen Sie in der Google Cloud Console die Seite Dashboards auf.

    Dashboards aufrufen

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

  2. Klicken Sie in der Dashboard-Symbolleiste auf Einstellungen und wählen Sie Filter verwalten aus.
  3. Suchen Sie den Filter, den Sie ändern möchten, und nehmen Sie die Änderungen über die Menüs vor.
  4. Klicken Sie auf Anwenden.

Dauerhaften Filter löschen

  1. Rufen Sie in der Google Cloud Console die Seite Dashboards auf.

    Dashboards aufrufen

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

  2. Klicken Sie in der Dashboard-Symbolleiste auf Einstellungen und wählen Sie Filter verwalten aus.
  3. Suchen Sie den Filter, den Sie entfernen möchten, und klicken Sie auf Löschen.
  4. Klicken Sie auf Anwenden.

Nächste Schritte