Benutzerdefinierten Dashboards dauerhafte Filter hinzufügen

In diesem Dokument wird beschrieben, wie Sie Ihren benutzerdefinierten Dashboards dauerhafte Filter auf Dashboardebene hinzufügen. Dauerhafte Filter, mit denen Sie die Daten ändern können, die in einem Dashboard angezeigt werden, 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 sowie ein Menü angezeigt, mit dem Sie den Filterwert vorübergehend ändern können.

Wenn Sie eine Standardpräsentation von Daten auf einem Dashboard mit mit menübasierten Optionen, um die Anzeige anzupassen und permanente Filter hinzuzufügen. Für Wenn Sie z. B. Messwerte für alle Zonen und zusätzlich Messwerte von für eine bestimmte Zone und erstellen Sie dann einen dauerhaften Filter basierend auf dem Label zone.

Sie können permanente Filter mit der Google Cloud Console oder der Cloud Monitoring API 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 mithilfe der API erstellen und verwalten: Dashboardfilter.

Informationen zum Hinzufügen und Ändern temporärer Gruppierungen und Filter finden Sie Siehe Temporäre Filter zu einem benutzerdefinierten Dashboard hinzufügen.

Funktionsweise von Dashboard-Filtern

Ein Dashboard-Filter gibt ein Label und einen Wert an. Die im Dashboard angezeigten Zeitreihen bestimmen, welche Labels zum Filtern verfügbar sind. Wie ein Widget einen dashboardweiten Filter unterstützt, hängt von der Art der Daten ab, die im Widget angezeigt werden, und von der Konfiguration des Widgets:

  • Für Widgets, in denen Zeitreihendaten angezeigt werden, z. B. Liniendiagramme, gelten die folgenden Regeln:

    • Wenn das Label in einem Filter nicht von der Zeitreihe unterstützt wird, die im Widget angezeigt wird, ändert sich durch den datenbankweiten Filter nichts an den angezeigten Daten.

      Beispiel: Sie fügen einen Filter für das Label instance_id, aber ein Diagramm im Dashboard keine Daten mit dem Label instance_id angezeigt, dann werden durch den Filter die angezeigten Daten nicht geändert.

    • Wenn das Widget einen Wert für ein Label angibt, Dashboard-weite Filterung ändert nichts an den angezeigten Daten.

      Beispiel: Sie fügen einen Filter für das Label instance_id, aber ein Diagramm im Dashboard enthält einen Filter, der auf dem Label instance_id basiert, dann werden die angezeigten Daten nicht geändert.

    • Andernfalls werden im Diagramm nur die Zeitreihen angezeigt, die dem dashboardweiten Filter entsprechen.

  • Bei Widgets im Bereich „Protokolle“ werden die Abfragen durch dashboardweite Filter aktualisiert, die auf einem Ressourcenlabel basieren. Wenn Sie beispielsweise den dashboardweiten Filter cluster_name: mycluster hinzufügen, wird die Abfrage um resource.labels."cluster_name"="mycluster" aktualisiert.

Sie können mehrere Filter für das gesamte Dashboard hinzufügen. Diese Filter werden durch ein logisches „AND“ verknüpft.

Hinweis

Wenn Sie in der Google Cloud Console permanente Filter hinzufügen oder ändern möchten, bitten Sie Ihren Administrator, Ihnen die IAM-Rolle Monitoring Editor (roles/monitoring.editor) für Ihr Projekt zuzuweisen. 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 Rollen finden Sie unter Zugriff mit Identity and Access Management steuern

Dauerhaften Filter erstellen

Beim Entwerfen eines Dashboards identifizieren Sie möglicherweise mehrere Möglichkeiten, Daten, die im Dashboard angezeigt werden. Wenn in einem Dashboard beispielsweise Messwerte für VM-Instanzen angezeigt werden, möchten Sie möglicherweise Messwerte für alle VMs und für VMs in einer bestimmten Zone sehen. Sie können einen dauerhaften Filter für das Label zone erstellen, der standardmäßig auf alle Zonen (*) festgelegt ist. Im Dashboard können Sie über das 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, in dem Sie Messwerte nebeneinander anzeigen möchten. für VMs in zwei verschiedenen Zonen. Sie erstellen zwei Sammlungen von Diagrammen und und erstellen Sie für jede Sammlung einen Filter. Ihre Standardkonfiguration erfüllt Ihr ursprüngliches Ziel. Beim Anzeigen des Dashboards werden in der Symbolleiste Ihre Variablen aufgelistet und enthalten Menüs, über die Sie verschiedene Werte. In diesen Menüs können Sie sich Daten für verschiedene Zonen ansehen.

Dauerhafte Filter, die nur auf bestimmte Widgets angewendet werden, werden manchmal als Vorlagenvariablen bezeichnet. Nachdem Sie einen Filter dieses Typs erstellt haben, um ein Widget zu Ihrem Dashboard hinzuzufügen, können Sie den Filter auch auf dieses Widget anwenden. Weitere Informationen Weitere Informationen

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 den Standardwert für das Label aus. Wählen Sie * aus, um alle Werte abzugleichen.

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

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

    • Um den Filter auf alle Widgets im Dashboard anzuwenden, wählen Sie Auf alle anwenden und dann Übernehmen aus.

    • Um eine Variable zu erstellen oder den Filter auf einige Widgets auf der Seite Dashboard:

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

      4. Klicken Sie auf Anwenden.

Dauerhaften Filter auf ein Widget anwenden

Wenn du einen dauerhaften Filter auf ein Widget anwenden möchtest, musst du das Widget verknüpfen durch die Variable:

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

  • Bearbeiten Sie im Log-Steuerfeld das Widget und konfigurieren Sie die Standardabfrage. Befolgen Sie unbedingt die Anleitung im Abschnitt Syntax zum Anwenden eines permanenten Filters.

  • Für MQL- oder PromQL-definierte Diagramme und Tabellen: Diagramm oder Tabelle und ändern Sie dann die MQL oder PromQL. Folgen Sie der Anleitung im Abschnitt Syntax zum Anwenden eines dauerhaften Filters.

Syntax zum Anwenden eines dauerhaften Filters

Das folgende Beispiel zeigt die teilweise JSON-Darstellung eines Dashboards definiert eine Vorlagenvariable und einen Dashboard-weiten Filter:

{
  "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 ist für eine Vorlagenvariable mit dem Namen iid und einen Dashboard-weiten Filter mit Labelschlüssel zone Die Vorlagenvariable ist Alias des Labels instance_id.

In der Datenstruktur einer Vorlagenvariablen werden die Widgets nicht aufgeführt, angewandt wird. Stattdessen verknüpfen Sie ein Widget mit einer Vorlagenvariable, indem Sie die Abfrage des Widgets so ändern, dass sie einen Verweis auf die Variable enthält. Wenn das Widget im Dashboard angezeigt wird, wird der Wert der Vorlagenvariablen aufgelöst.

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

Logbereich

So konfigurieren Sie einen Logbereich, um die Anzeige anhand des Werts eines hinzufügen, fügen Sie sie im Abfragebereich hinzu. Im folgenden Beispiel stellt eine Abfrage dar, die nach dem Wert der Vorlagenvariablen iid filtert:

${iid}

Bevor das Logfeld die anzuzeigenden Logs abfragt, gelöst wird. Wenn in diesem Beispiel der Wert der Vorlagenvariablen "12345" ist, dann wird ${iid} durch die Anweisung ersetzt resource.labels."instance_id"="12345"

Sie können auch nur den Wert einer Vorlagenvariablen in eine Abfrage einbeziehen. Wir empfehlen, den Wert nur als Teil eines Filters zu verwenden, der mit einem regulärer Ausdruck. In der folgenden Abfrage wird beispielsweise mit einem regulären Ausdruck nach Logeinträgen gesucht, deren JSON-Nutzlast den beschriebenen String enthält:

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

Wenn Sie eine Abfrage für das Logfeld konfiguriert haben und dann auf die Schaltfläche um den Log-Explorer zu öffnen, werden die Vorlagenvariablen aufgelöst, bevor wird der Log-Explorer geöffnet.

Die folgende Tabelle zeigt, wie die Vorlagenvariable vom Logfeld:

Syntax Selected
Value
Ausdruck für den Bereich „Gelöste Protokolle“
${iid} 12345 resource.labels."instance_id"="12345"
${iid} * ""
${iid.value} 12345 12345
${iid.value} * .*

Mit MQL definierte Diagramme und Tabellen

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

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

Bevor das Diagramm die anzuzeigende Zeitreihe abfragt, wird die Vorlagenvariable gelöst wird. Wenn in diesem Beispiel der Wert der Vorlagenvariablen "12345" ist, dann wird ${iid} durch die Anweisung ersetzt filter (resource.instance_id == '12345') Dieser Filter entspricht der Zeit mit dem Label resource.instance_id und nur wenn der Wert dieses Labels ist genau 12345.

Wenn Sie Zeitreihen mit einem regulären Ausdruck filtern möchten, konfigurieren Sie die Abfrage so, dass nur der Wert der Vorlagenvariablen enthalten ist. Um die Syntax zu veranschaulichen, wird Folgendes dargestellt: zeigt, wie mit einem regulären Ausdruck festgestellt wird, ob der Wert des Das Label resource.instance_id enthält den Wert der Vorlagenvariablen iid:

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

In der folgenden Tabelle wird gezeigt, wie die Vorlagenvariable für MQL-Abfragen aufgelöst wird:

Syntax Selected
Value
Aufgelöster MQL-Ausdruck
${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 anzuzeigende Zeitreihe abfragt, wird die Vorlagenvariable gelöst wird. Wenn in diesem Beispiel der Wert der Vorlagenvariablen "12345" ist, dann wird ${iid} durch die Anweisung ersetzt instance_id == '12345'

Ähnlich wie bei MQL wird die Abfrage, wenn Sie ein Widget mit PromQL definieren, nur den Wert der Vorlagenvariablen extrahieren kann. Wir empfehlen Ihnen, Verwenden Sie den Wert nur als Teil eines Filters, der mit einem regulären Ausdruck definiert ist. Bis um die Syntax zu veranschaulichen. Im Folgenden wird gezeigt, wie Sie mit einem regulären Ausdruck Ermittelt, ob der Wert des Labels instance_id den Wert des Attributs Vorlagenvariable iid:

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

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

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 zum 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 in einem Zeitreihenfilter.

Die folgende Tabelle zeigt, wie die Vorlagenvariable aufgelöst wird:

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

Permanenten Filter ändern

Um vorübergehend den Wert eines beliebigen Filters zu ändern, der auf dem Dashboard angezeigt wird auf den Filternamen und geben Sie entweder einen Wert ein oder Auswahl aus dem Menü.

Wenn Ihr Dashboard eine Tabelle mit Zeitreihendaten enthält, dann können Sie temporäre Filter hinzufügen oder permanente Filter und Variablen ändern, indem Sie mithilfe der Schaltfläche Dashboard nach diesem Wert filtern einer Zelle. Wenn diese Schaltfläche ausgewählt ist, wird entweder ein neuer temporärer Filter angewendet oder der Wert für einen vorhandenen Filter oder eine vorhandene Variable aktualisiert. Vorhandene Filter und Variablen werden aktualisiert, wenn der Labelschlüssel für die Tabellenspalte mit dem Labelschlüssel übereinstimmt für einen Filter oder eine Variable.

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 dann Filter verwalten aus.
  3. Suchen Sie den Filter, den Sie ändern möchten, und nehmen Sie dann über die Menüs die gewünschten Änderungen vor.
  4. Klicken Sie auf Anwenden.

Permanenten 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 dann auf  Löschen.
  4. Klicken Sie auf Anwenden.

Nächste Schritte