Visualisierungs-Dashboards erstellen

Auf dieser Seite wird beschrieben, wie Sie Dashboards in Ihrer Grafana-Instanz erstellen und verwalten, die für Visualisierungen von Logs und Messwerten aus Ihrem Google Distributed Cloud-Projekt (GDC) mit Air Gap verwendet werden.

Ein Dashboard bietet eine dynamische visuelle Darstellung der Systemleistung. Es besteht aus einem oder mehreren anpassbaren Feldern, die jeweils so konfiguriert sind, dass sie bestimmte Messwerte aus Ihren GDC-Komponenten abfragen und anzeigen. Mit diesen Feldern haben Sie folgende Möglichkeiten:

  • Messwerte mit verschiedenen Diagrammtypen visualisieren.
  • Benachrichtigungsschwellenwerte definieren, um Benachrichtigungen basierend auf Messwerten auszulösen.
  • Anzeigeeigenschaften wie Labels, Einheiten und Zeiträume anpassen.
  • Einheitliche Zeitauflösungen für genaue Vergleiche festlegen.

Wenn Sie Grafana-Dashboards effektiv nutzen, können Sie wertvolle Einblicke in die Leistung und den Zustand Ihrer GDC-Umgebung gewinnen.

Hinweis

Bitten Sie Ihren IAM-Administrator der Organisation, Ihnen die folgenden Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie für die Arbeit mit Dashboards in einer Organisation benötigen:

  • Benutzerdefiniertes Dashboard erstellen: Dashboard PA Creator (dashboard-pa-creator)
  • Benutzerdefiniertes Dashboard bearbeiten und löschen: Dashboard PA Editor (dashboard-pa-editor)
  • Benutzerdefiniertes Dashboard ansehen: Dashboard PA Viewer (dashboard-pa-viewer)

Bitten Sie Ihren IAM-Administrator des Projekts, Ihnen die folgenden Rollen im Projektnamespace zuzuweisen, um die Berechtigungen zu erhalten, die Sie für die Arbeit mit Dashboards für ein Projekt benötigen:

  • Benutzerdefiniertes Dashboard erstellen, bearbeiten und löschen: Dashboard Editor (dashboard-editor)
  • Benutzerdefiniertes Dashboard ansehen: Dashboard Viewer (dashboard-viewer)
  • ConfigMap erstellen und bearbeiten: ConfigMap Editor (observabilitypipeline-configmap-editor)

Nachdem Sie die entsprechenden Rollen erhalten haben, führen Sie die folgenden Schritte aus, bevor Sie Dashboards erstellen:

  1. Erfassen Sie Messwerte aus Ihren Arbeitslasten.
  2. Legen Sie den Pfad der kubeconfig-Datei als Umgebungsvariable fest:

    export KUBECONFIG=KUBECONFIG_PATH
    

    Ersetzen Sie KUBECONFIG_PATH durch den Pfad zur kubeconfig-Datei für den Management API-Server, auf dem Sie das Dashboard erstellen möchten.

Grafana-Endpunkt ermitteln

Die folgende URL ist der Endpunkt der Grafana-Instanz Ihres Projekts:

https://GDC_URL/PROJECT_NAMESPACE/grafana

Ersetzen Sie Folgendes:

  • GDC_URL: die URL Ihrer Organisation in GDC.
  • PROJECT_NAMESPACE: Ihr Projektnamespace.

Der Grafana-Endpunkt für das platform-obs Projekt in der org-1 Organisation ist https://org-1/platform-obs/grafana.

Benutzerdefiniertes Dashboard erstellen

So erstellen Sie ein Grafana-Dashboard und passen die Einstellungen an:

  1. Öffnen Sie Ihren Grafana-Endpunkt, um die Benutzeroberfläche aufzurufen.
  2. Klicken Sie im Navigationsmenü auf Hinzufügen.
  3. Klicken Sie im Drop-down-Menü auf Dashboard. Grafana erstellt ein leeres Dashboard.
  4. Fügen Sie dem leeren Dashboard alle gewünschten Felder hinzu.

  5. Wählen Sie im Menü Datenquelle jedes Felds die gewünschte Datenquelle aus, einschließlich Messwerte (prometheus), Audit-Logs (auditloki) und Betriebslogs (oploki).

    Für Universen mit mehreren Zonen bietet Grafana Datenquellen mit Zonenlabels, mit denen Sie Dashboard-Visualisierungen mit Messwerten und Logs aus mehreren Zonen erstellen können. Diese Datenquellen haben das Format DATA_SOURCE-ZONE_ID, wobei:

    • DATA_SOURCE einen der folgenden Werte annehmen kann:

      • Prometheus (prometheus oder metrics) zum Anzeigen von Messwerten.
      • Audit-Logs (auditloki) zum Anzeigen von Audit-Logs.
      • Betriebslogs (oploki) zum Anzeigen von Betriebslogs.
    • ZONE_ID ist die ID der Zone, aus der Sie Daten im Dashboard anzeigen möchten.

    Wenn Sie ein Visualisierungsdashboard für zonenübergreifende Ressourcen erstellen möchten, lautet der Name der Datenquelle --Mixed--. Mit dieser Datenquelle können Sie mehrere Abfragen pro Zone hinzufügen und zonenübergreifende Datenvisualisierungen in einem einzigen Dashboard erstellen. Mit dieser Funktion können Sie beispielsweise Verhaltensvergleiche zwischen einer einzelnen Messwert- oder Logabfrage in mehreren Zonen Ihres Universums durchführen.

  6. Passen Sie die Details an und bearbeiten Sie die Felder, um Ihre Abfragen einzugeben oder andere Aktualisierungen vorzunehmen.

  7. Klicken Sie in der Menüleiste auf Dashboard-Einstellungen, um die Seite Einstellungen zu öffnen.

  8. Wählen Sie im Navigationsmenü JSON-Modell aus.

  9. Kopieren Sie das JSON-Modell des Dashboards und fügen Sie es zur späteren Verwendung in eine Nur-Text-Datei ein.

ConfigMap-Objekt erstellen

So erstellen Sie ein ConfigMap-Objekt, das das JSON-Modell des Dashboards enthält:

  1. Öffnen Sie ein Terminalfenster.
  2. Erstellen Sie ein ConfigMap-Objekt. Fügen Sie im Abschnitt data Ihres ConfigMap-Objekts das zuvor kopierte JSON-Modell ein:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      namespace: PROJECT_NAMESPACE
      name: CONFIGMAP_NAME
    data:
      JSON_FILE_NAME.json: |
        {
        JSON_MODEL
        }
    

    Ersetzen Sie Folgendes:

    • PROJECT_NAMESPACE: Ihr Projektnamespace.
    • CONFIGMAP_NAME: der Name, den Sie Ihrem ConfigMap-Objekt geben möchten.
    • JSON_FILE_NAME: der Name, den Sie der Datei für das JSON-Modell des Dashboards geben möchten.
    • JSON_MODEL: das JSON-Modell Ihres benutzerdefinierten Dashboards.

    Ein Beispiel dafür, wie dieses Objekt aussehen muss, finden Sie unter ein ConfigMap Beispiel.

  3. Wenden Sie das ConfigMap-Objekt auf den Management API-Server an:

    kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
    

ConfigMap-Beispiel

Die folgende YAML-Datei zeigt ein Beispiel für das ConfigMap-Objekt eines Dashboards im Namespace platform-obs:

  apiVersion: v1
  kind: ConfigMap
  metadata:
    namespace: platform-obs
    name: my-project-dashboard-configmap
  data:
    my-project-dashboard.json: |
      {
      "annotations": {
        "list": [
          {
            "builtIn": 1,
            "datasource": "--",
            "enable": true,
            "hide": true,
            "iconColor": "rgba(0, 211, 255, 1)",
            "name": "Annotations & Alerts",
            "type": "dashboard"
          }
        ]
      },
      "editable": true,
      "graphTooltip": 0,
      "id": null,
      "links": [],
      "panels": [],
      "schemaVersion": 27,
      "style": "dark",
      "tags": [],
      "templating": {
        "list": []
      },
      "time": {
        "from": "now-6h",
        "to": "now"
      },
      "timepicker": {},
      "timezone": "",
      "title": "Sample dashboard",
      "uid": null,
      "version": 0
      }

Benutzerdefinierte Dashboard-Ressource erstellen

So erstellen Sie eine benutzerdefinierte Dashboard-Ressource und importieren Ihr benutzerdefiniertes Dashboard in die Grafana-Instanz Ihres Projekts:

  1. Öffnen Sie ein Terminalfenster.
  2. Erstellen Sie eine benutzerdefinierte Dashboard-Ressource und konfigurieren Sie die Datei mit dem Namen, den Sie dem ConfigMap-Objekt gegeben haben:

    apiVersion: observability.gdc.goog/v1
    kind: Dashboard
    metadata:
      namespace: PROJECT_NAMESPACE
      name: DASHBOARD_NAME
    spec:
      configMapRef:
        name: CONFIGMAP_NAME
        namespace: PROJECT_NAMESPACE
        key: JSON_FILE_NAME.json
      foldername: Default
    

    Ersetzen Sie Folgendes:

    • PROJECT_NAMESPACE: Ihr Projektnamespace.
    • DASHBOARD_NAME: der Name, den Sie Ihrer benutzerdefinierten Dashboard-Ressource geben möchten.
    • CONFIGMAP_NAME: der Name, den Sie dem ConfigMap Objekt gegeben haben.
    • JSON_FILE_NAME: der Name, den Sie der Datei gegeben haben, die das JSON-Modell des Dashboards im ConfigMap-Objekt enthält.
  3. Wenden Sie die benutzerdefinierte Dashboard-Ressource auf den Management API-Server an:

    kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
    

Das System überwacht Änderungen an der benutzerdefinierten Dashboard-Ressource und am zugehörigen ConfigMap-Objekt. Wenn Sie ein Dashboard aktualisieren oder löschen möchten, ändern Sie diese Ressourcen. Alle Änderungen lösen eine Aktualisierung von Grafana aus. In der Grafana-Benutzeroberfläche vorgenommene Aktualisierungen können nicht gespeichert werden.