Einem benutzerdefinierten Dashboard dauerhafte Filter hinzufügen

In diesem Dokument wird beschrieben, wie Sie Ihren benutzerdefinierten Dashboards dauerhafte Filter auf Dashboardebene hinzufügen können. Dauerhafte Filter, mit denen Sie die in 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 wird jeder dauerhafte Filter zusammen mit einem Menü angezeigt, über das Sie den Wert des Filters vorübergehend ändern können.

Wenn Sie eine Standarddarstellung von Daten in einem Dashboard zusammen mit menübasierten Optionen zum Ändern dieser Anzeige definieren möchten, fügen Sie permanente Filter hinzu. Wenn Sie beispielsweise Messwerte für alle Zonen und zusätzlich Messwerte für eine bestimmte Zone ansehen möchten, erstellen Sie einen dauerhaften Filter auf Basis des Labels zone.

Permanente Filter können mit der Google Cloud Console oder der Cloud Monitoring API erstellt und angewendet werden. 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: Dashboard-Filter.

Informationen zum Hinzufügen und Ändern temporärer Gruppierungen und Filter finden Sie unter 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 zur Verfügung stehen. Wie ein Widget einen Dashboard-Filter unterstützt, hängt vom Typ der vom Widget angezeigten Daten und der Konfiguration des Widgets ab:

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

    • Wenn die vom Widget angezeigte Zeitreihe 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 das Widget einen Wert für ein Label angibt, ändert der Filter für das gesamte Dashboard die angezeigten Daten nicht.

      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 so gefiltert, dass nur die Zeitachsen angezeigt werden, die dem Filter für das gesamte Dashboard entsprechen.

  • Bei Widgets für das Logfeld aktualisieren Dashboard-weite Filter, die auf einem Ressourcenlabel basieren, die Abfrage. 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 für das gesamte Dashboard hinzufügen. Diese Filter werden mit einem logischen UND verknüpft.

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 ü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 Rollen finden Sie unter Zugriff mit Identity and Access Management steuern.

Dauerhaften Filter erstellen

Wenn Sie ein Dashboard entwerfen, können Sie mehrere Möglichkeiten zum Anzeigen der im Dashboard angezeigten Daten angeben. 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 anzeigen. Sie könnten einen dauerhaften Filter für das Label zone erstellen, bei dem standardmäßig alle Zonen (*) festgelegt sind. Im Dashboard können Sie im Menü für den Filter 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 für VMs in zwei verschiedenen Zonen nebeneinander anzeigen möchten. Sie erstellen zwei Diagrammsammlungen und erstellen für jede Sammlung einen Filter. Die Standardkonfiguration erfüllt Ihr ursprüngliches Ziel. Im Dashboard werden jedoch in der Symbolleiste Ihre Variablen aufgelistet und sie enthält Menüs, über die Sie andere Werte auswählen können. Mit diesen 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, können Sie den Filter beim Hinzufügen eines Widgets zu Ihrem Dashboard 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.

    Zu Dashboards

    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. Beispielsweise können Sie zone auswählen.
  4. Klicken Sie auf Standardwert und wählen Sie dann 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:

    • Wenn Sie den Filter auf alle Widgets im Dashboard anwenden möchten, wählen Sie Auf alle anwenden und dann Anwenden aus.

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

      1. Entfernen Sie das Häkchen bei 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 für den Filter aus und klicken Sie dann auf OK.

      4. Klicken Sie auf Anwenden.

Dauerhaften Filter auf ein Widget anwenden

Um einen dauerhaften Filter auf ein Widget anzuwenden, 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 vornehmen.

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

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

Syntax zum Anwenden eines dauerhaften 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 bezieht sich der erste Eintrag in der dashboardFilters-Struktur auf eine Vorlagenvariable mit dem Namen iid und einen Dashboard-weiten Filter mit dem Labelschlüssel zone. Die Vorlagenvariable ist ein Alias des Labels instance_id.

In der Datenstruktur einer Vorlagenvariablen sind die Widgets nicht aufgeführt, auf die sie angewendet wird. Stattdessen verknüpfen Sie ein Widget mit einer Vorlagenvariablen, indem Sie die Abfrage des Widgets so ändern, 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 erfahren Sie, wie Sie Logbereiche und Diagramme mit Anmerkungen versehen:

Logbereich

Wenn Sie ein Logfeld konfigurieren möchten, um die Anzeige anhand des Werts einer Vorlagenvariablen zu filtern, fügen Sie die Variable dem Abfragebereich hinzu. Das folgende Beispiel veranschaulicht eine Abfrage, die nach dem Wert der Vorlagenvariablen iid filtert:

${iid}

Bevor das Logfeld die anzuzeigenden Logs abfragt, 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 einbeziehen. Wir empfehlen, den Wert nur als Teil eines Filters zu verwenden, der mit einem regulären Ausdruck definiert ist. Die folgende Abfrage verwendet beispielsweise einen regulären Ausdruck, um Logeinträge mit einer JSON-Nutzlast abzugleichen, die den beschriebenen String enthält:

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

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

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

Syntax Wert
ausgewählt
Ausdruck im Bereich „Logs“ aufgelöst
${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 anzuzeigende Zeitachse 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 sucht nach Zeitachsen mit dem Label resource.instance_id, und zwar nur dann, wenn der Wert dieses Labels genau 12345 ist.

Wenn Sie Zeitachsen mithilfe eines regulären Ausdrucks filtern möchten, konfigurieren Sie die Abfrage so, dass sie nur den Wert der Vorlagenvariablen enthält. Im Folgenden wird zur Veranschaulichung der Syntax gezeigt, wie Sie mit einem regulären Ausdruck feststellen, 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 Wert
ausgewählt
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 Zeitachse 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.

Wenn Sie ein Widget mit PromQL definieren, kann die Abfrage ähnlich wie bei MQL nur den Wert der Vorlagenvariablen extrahieren. Wir empfehlen, den Wert nur als Teil eines Filters zu verwenden, der mit einem regulären Ausdruck definiert ist. Im Folgenden wird gezeigt, wie die Syntax anhand eines regulären Ausdrucks veranschaulicht wird, mit dem ermittelt wird, 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 Wert
ausgewählt
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.

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

Syntax Wert
ausgewählt
Aufgelöster Filterausdruck
${iid} 12345 resource.instance_id == "12345"
${iid} * Ausgelassen
${iid.value} 12345 Nicht unterstützt
${iid.value} * Nicht unterstützt

Permanenten Filter ändern

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

So ändern Sie die Konfiguration eines permanenten Filters:

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

    Zu Dashboards

    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 gewünschten Änderungen über die Menüs vor.
  4. Klicken Sie auf Anwenden.

Permanenten Filter löschen

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

    Zu Dashboards

    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