Auf dieser Seite wird beschrieben, wie Sie Dashboards in Ihrer Grafana-Instanz erstellen und verwalten, die für die Visualisierung von Logs und Messwerten aus Ihrem GDC-Projekt (Google Distributed Cloud) ohne Internetverbindung verwendet werden.
Ein Dashboard bietet eine dynamische visuelle Darstellung der Leistung Ihres Systems. Es besteht aus einem oder mehreren anpassbaren Bereichen, die jeweils so konfiguriert sind, dass bestimmte Messwerte aus Ihren GDC-Komponenten abgefragt und angezeigt werden. In diesen Bereichen haben Sie folgende Möglichkeiten:
- Messwerte in verschiedenen Diagrammtypen visualisieren
- Sie können Benachrichtigungsschwellenwerte definieren, um Benachrichtigungen auf Grundlage von Messwertwerten auszulösen.
- Anzeigeeigenschaften wie Labels, Einheiten und Zeiträume anpassen
- Legen Sie einheitliche Zeitauflösungen für genaue Vergleiche fest.
Wenn Sie Grafana-Dashboards effektiv nutzen, können Sie wertvolle Einblicke in die Leistung und den Zustand Ihrer GDC-Umgebung gewinnen.
Hinweise
Bitten Sie Ihren IAM-Administrator der Organisation oder des Projekts, Ihnen eine der vordefinierten Grafana Viewer-Rollen zuzuweisen, damit Sie die Berechtigungen erhalten, die Sie für den Zugriff auf und die Anzeige von Grafana-Dashboards benötigen.
Bitten Sie Ihren IAM-Administrator der Organisation oder des Projekts, Ihnen die zugehörigen ConfigMap
- und Dashboard
-Rollen zuzuweisen, um die Berechtigungen zu erhalten, die Sie zum Verwalten der API-Objekte benötigen, die zum Erstellen von Dashboards erforderlich sind.
Je nach erforderlicher Zugriffsebene und Berechtigungen können Sie für diese Ressourcen in einer Organisation oder einem Projekt die Rollen „Ersteller“, „Bearbeiter“ oder „Betrachter“ erhalten. Weitere Informationen finden Sie unter IAM-Berechtigungen vorbereiten.
Nachdem Sie die entsprechenden Rollen erhalten haben, gehen Sie so vor, bevor Sie Dashboards erstellen:
- Messwerte aus Ihren Arbeitslasten erfassen.
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 identifizieren
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 Projekt-Namespace.
Der Grafana-Endpunkt für das Projekt platform-obs
in der Organisation org-1
ist beispielsweise https://org-1/platform-obs/grafana
.
Benutzerdefiniertes Dashboard erstellen
So erstellen Sie ein Grafana-Dashboard und passen die Einstellungen an:
- Öffnen Sie Ihren Grafana-Endpunkt, um die Benutzeroberfläche aufzurufen.
- Klicken Sie im Navigationsmenü auf Hinzufügen.
- Klicken Sie im Drop-down-Menü auf Dashboard. Grafana erstellt ein leeres Dashboard.
Fügen Sie dem leeren Dashboard alle gewünschten Bereiche hinzu.
Wählen Sie im Menü Datenquelle jedes Bereichs 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 Zonenlabeln, 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 gilt:DATA_SOURCE
kann einen der folgenden Werte annehmen:- Prometheus (
prometheus
odermetrics
) zum Anzeigen von Messwerten. - Audit-Logs (
auditloki
), um Audit-Logs aufzurufen. - Betriebslogs (
oploki
), um Betriebslogs aufzurufen.
- Prometheus (
ZONE_ID
ist die ID der Zone, aus der Sie Daten im Dashboard anzeigen möchten.
Wenn Sie ein Visualisierungs-Dashboard 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 Verhaltensvergleiche zwischen beispielsweise einem einzelnen Messwert oder einer einzelnen Log-Abfrage in mehreren Zonen Ihres Universums anstellen.Passen Sie Ihre Details an und bearbeiten Sie Ihre Panels, um Ihre Anfragen zu stellen oder andere Änderungen vorzunehmen.
Klicken Sie in der Menüleiste auf
Dashboard-Einstellungen, um die Seite Einstellungen zu öffnen.Wählen Sie im Navigationsmenü die Option JSON-Modell aus.
Kopieren Sie das JSON-Modell des Dashboards und fügen Sie es in eine Nur-Text-Datei ein, um es später wieder verwenden zu können.
Erstellen Sie ein ConfigMap
-Objekt
Gehen Sie so vor, um ein ConfigMap
-Objekt mit dem JSON-Modell des Dashboards zu erstellen:
- Öffnen Sie ein Terminalfenster.
Erstellen Sie ein
ConfigMap
-Objekt. Fügen Sie im Abschnittdata
IhresConfigMap
-Objekts das JSON-Modell ein, das Sie zuvor kopiert haben:apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { JSON_MODEL }
Ersetzen Sie Folgendes:
PROJECT_NAMESPACE
: Ihr Projekt-Namespace.CONFIGMAP_NAME
: der Name, den Sie demConfigMap
-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 in diesem
ConfigMap
-Beispiel.Wenden Sie das
ConfigMap
-Objekt auf den Management API-Server an:kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
Beispiel für ConfigMap
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:
- Öffnen Sie ein Terminalfenster.
Erstellen Sie eine benutzerdefinierte
Dashboard
-Ressource und konfigurieren Sie die Datei mit dem Namen, den Sie demConfigMap
-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 Projekt-Namespace.DASHBOARD_NAME
: Der Name, den Sie Ihrer benutzerdefinierten RessourceDashboard
geben möchten.CONFIGMAP_NAME
: Der Name, den Sie demConfigMap
-Objekt gegeben haben.JSON_FILE_NAME
: Der Name, den Sie der Datei gegeben haben, die das JSON-Modell des Dashboards imConfigMap
-Objekt enthält.
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 Ressource Dashboard
und am zugehörigen ConfigMap
-Objekt. Wenn Sie ein Dashboard aktualisieren oder löschen möchten, müssen Sie diese Ressourcen ändern. Alle Änderungen führen zu einem Update von Grafana. Aktualisierungen, die direkt in der Grafana-Benutzeroberfläche vorgenommen werden, können nicht gespeichert werden.