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 Labelinstance_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 Labelinstance_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:
-
Rufen Sie in der Google Cloud Console die Seite Dashboards auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie in der Dashboard-Symbolleiste auf settings Einstellungen und wählen Sie Filter verwalten aus.
- Klicken Sie auf arrow_drop_down Label und wählen Sie ein Label aus. Sie können beispielsweise
zone
auswählen. Klicken Sie auf arrow_drop_down 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ü.
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:
- Deaktivieren Sie die Option Auf alle anwenden.
- Geben Sie im Feld Variablenname einen Anzeigenamen für die Variable ein.
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.
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:
- Bereich „Protokolle“
- Mit MQL definierte Diagramme und Tabellen
- PromQL-definierte Diagramme und Tabellen
- Mit Zeitreihenfiltern definierte Diagramme und Tabellen
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 filter_list 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:
-
Rufen Sie in der Google Cloud Console die Seite Dashboards auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie in der Dashboard-Symbolleiste auf settings Einstellungen. und wählen Sie dann Filter verwalten aus.
- Suchen Sie den Filter, den Sie ändern möchten, und nehmen Sie dann über die Menüs die gewünschten Änderungen vor.
- Klicken Sie auf Anwenden.
Permanenten Filter löschen
-
Rufen Sie in der Google Cloud Console die Seite Dashboards auf.
Wenn Sie diese Seite über die Suchleiste suchen, wählen Sie das Ergebnis aus, dessen Zwischenüberschrift Monitoring ist.
- Klicken Sie in der Dashboard-Symbolleiste auf settings Einstellungen und wählen Sie Filter verwalten aus.
- Suchen Sie den Filter, den Sie entfernen möchten, und klicken Sie dann auf Löschen.
- Klicken Sie auf Anwenden.