Cloud Monitoring bietet einen Importer, mit dem Sie Dashboard-Dateien im JSON-Format Grafana in Cloud Monitoring importieren können. In diesem Dokument wird beschrieben, wie Sie mit dem Importer Grafana-Dashboards konvertieren und optional in Ihr Google Cloud-Projekt hochladen.
Sie können mit dem Importer in einem einzelnen Vorgang Grafana-Dashboards konvertieren und in Cloud Monitoring hochladen oder die Konvertierungs- und Uploadschritte separat ausführen. Möglicherweise wählen Sie diesen Ansatz, wenn Sie die konvertierten Dashboards bearbeiten möchten, bevor Sie sie hochladen.
Der Importer konvertiert Dashboard-Dateien im JSON-Format, das von Grafana verwendet wird, in das von Cloud Monitoring verwendete JSON-Format. Ein konvertiertes Dashboard kann sich vom ursprünglichen Grafana-Dashboard unterscheiden. Wenn ein Grafana-Dashboard Features verwendet, die in Cloud Monitoring-Dashboards nicht verfügbar sind, werden diese Aspekte des Grafana-Dashboards nicht konvertiert. Diese Unterschiede werden in der Konvertierungsausgabe aufgeführt. Der Importer ist nur für die Verarbeitung von Dashboards vorgesehen, die PromQL-Ausdrücke und Prometheus-Datenquellen verwenden. Dashboards, die andere Formen von Abfragen oder Datenquellen verwenden, werden möglicherweise nicht erfolgreich importiert.
Informationen zum Importieren von Prometheus-Benachrichtigungen in Cloud Monitoring finden Sie unter Benachrichtigungsregeln und Empfänger von Prometheus migrieren.
Hinweise
Bevor Sie den Dashboard-Importer installieren und ausführen können, müssen Sie Folgendes tun:
- Verwenden Sie eine Umgebung, die Bash-Shell-Scripts unterstützt.
- Sie müssen Git installieren oder verfügen bereits darüber.
- Sie müssen Node.js Version 20.4.1 oder höher installieren oder verfügen bereits darüber.
- Sie müssen die Google Cloud CLI installieren oder verfügen bereits darüber. Wenn bei Ihnen die gcloud CLI bereits installiert ist, vergewissern Sie sich, dass Sie die neueste Version haben. Führen Sie dazu den Befehl
gcloud components update
aus.
Dashboard-Importer abrufen
Der Dashboard-Importer ist im GitHub-Repository monitoring-dashboard-samples
gespeichert.
So rufen Sie den Importer ab:
Klonen Sie das Repository:
git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
Wechseln Sie in das Verzeichnis für den Dashboard-Importer:
cd monitoring-dashboard-samples/scripts/dashboard-importer
Der Dashboard-Importer enthält die folgenden Scripts:
import.sh
, das Dashboards konvertiert und optional die konvertierten Dashboards in Cloud Monitoring hochlädt.upload.sh
, wodurch die konvertierten Dashboards oder alle Monitoring-Dashboards in Cloud Monitoring hochgeladen werden. Das Scriptimport.sh
ruft dieses Script auf, um den Upload durchzuführen.
Wenn Sie das Script import.sh
verwenden, müssen Sie den Speicherort der Grafana-Dashboards angeben, die konvertiert werden sollen. Der Importer erstellt ein Verzeichnis, das die konvertierten Dashboards und andere Informationen enthält.
In den folgenden Abschnitten werden diese Verzeichnisse beschrieben.
Grafana-Dashboards, die konvertiert werden sollen
Sie können mit dem Dashboard-Importer ein oder mehrere Dashboards gleichzeitig konvertieren, indem Sie einen Pfad zu den Dashboard-Dateien angeben.
Sie können den Pfad zu einem Verzeichnis angeben, das Dashboards enthält. Es werden nur Dateien im Verzeichnis mit der Erweiterung
.json
verarbeitet.Sie können den Pfad zu einer einzelnen JSON-Datei angeben. Der Dateiname muss die Erweiterung
.json
haben.
Konvertierte Dashboards und andere Informationen
Wenn der Importer zum ersten Mal ausgeführt wird, wird ein Unterverzeichnis reports
erstellt.
Jedes Mal, wenn Sie den Importer ausführen, erhalten Sie ein neues Ausgabeverzeichnis im Verzeichnis reports
, das nach Datum und Uhrzeit benannt ist. Der Name des Ausgabeverzeichnisses hat die folgende Struktur:
reports/YYYY-M-D/HH:MM:SS
Für jeden Aufruf des Importers enthält das Ausgabeverzeichnis Folgendes:
- Eine oder mehrere Dateien mit denselben Namen wie die ursprünglichen Grafana-Dashboards, jetzt jedoch im Cloud Monitoring-JSON-Format.
- Eine
report.json
-Datei, in der für jedes konvertierte Dashboard die folgenden Informationen aufgezeichnet sind:- Der Name und der Speicherort der Grafana-Dashboard-Datei, die konvertiert wurde.
- Der Name und der Speicherort der konvertierten Monitoring-Dashboard-Datei.
- Hinweise zu Features im Grafana-Dashboard, die kein entsprechendes Feature in Cloud Monitoring haben und daher nicht in das konvertierte Dashboard aufgenommen werden konnten.
- Alle Fehler, die in der Konvertierung aufgetreten sind.
Wenn Sie die Dashboards hochgeladen haben, enthält das Berichtsverzeichnis auch eine upload_HH:MM:SS.txt
-Datei, die die URL enthält, in die das Dashboard hochgeladen wurde.
Grafana-Dashboards importieren
Verwenden Sie das Script import.sh
, um Grafana-Dashboards zu konvertieren und in Cloud Monitoring hochzuladen:
./import.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID
Dieses Script tut Folgendes:
- Konvertiert Dashboards in
PATH_TO_DIRECTORY_OR_FILE
aus dem von Grafana verwendeten JSON-Format in das von Cloud Monitoring verwendete JSON-Format. Lädt die konvertierten Dashboards mithilfe der Google Cloud CLI in Ihr Google Cloud-Projekt PROJECT_ID hoch.
Wenn Sie sich nicht bei der gcloud CLI authentifiziert haben, führen Sie den Befehl
gcloud auth login
aus, bevor Sie das Scriptimport.sh
ausführen.
Sie können alle Grafana-Dashboards in ein Verzeichnis importieren oder ein einzelnes Dashboard im Verzeichnis angeben, das importiert werden soll.
Geben Sie beim Importieren aller Dashboards im Verzeichnis
GRAFANA_DASHBOARDS_DIR
in das Google Cloud-Projekt PROJECT_ID das Verzeichnis relativ zum Importerverzeichnis an und geben Sie beim Aufrufen des Scripts die Zielprojekt-ID an:./import.sh GRAFANA_DASHBOARDS_DIR PROJECT_ID
Wenn Sie nur das Dashboard
MY_GRAFANA_DASHBOARD.json
im VerzeichnisGRAFANA_DASHBOARDS_DIR
konvertieren möchten, fügen Sie beim Aufrufen des Scripts den Dateinamen des Dashboards relativ zum Importerverzeichnis hinzu:./import.sh GRAFANA_DASHBOARDS_DIR/MY_GRAFANA_DASHBOARD.json PROJECT_ID
Der Dashboard-Importer enthält ein Grafana-Beispiel-Dashboard als examples/k8s_cluster_example.json
. Mit dem folgenden Befehl wird dieses Dashboard in das angegebene Projekt importiert:
./import.sh examples/k8s_cluster_example.json PROJECT_ID
Bei Aufruf mit der PROJECT_ID my-project-test-1
sieht die Ausgabe etwa so aus:
Converting: Kubernetes Cluster Overview ✓ Kubernetes Cluster Overview converted successfully Conversion of examples/k8s_cluster_example.json complete. Conversion Report located at: reports/2023-9-28/22:14:57/report.json To upload these dashboard(s) manually, you can run: ./upload.sh reports/2023-9-28/22:14:57/ <PROJECT_ID> Conversion Complete. Proceeding to uploading... Now running: ./upload.sh reports/2023-9-28/22:14:57/ my-project-test-1 Uploading 1 dashboard(s) from a directory with the following args: Directory: reports/2023-9-28/22:14:57/ Project: my-project-test-1 The following are your dashboards: - k8s_cluster_example.json
Nachdem das Script import.sh
das Ausgabeverzeichnis erstellt und die Dashboards konvertiert hat, werden Sie vor dem Hochladen der konvertierten Dashboards in Ihr Projekt aufgefordert, den Vorgang zu bestätigen. Geben Sie y
ein. Das Script lädt das Dashboard hoch und gibt die URL für das neue Dashboard aus:
Would you like to continue? (y/n) y ✓ k8s_cluster_example.json successfully uploaded: https://console.cloud.google.com/monitoring/dashboards/builder/9c341ef8-cfef-4bdd-98d5-821571c520ef?project=my-project-test-1 Upload log created in reports/2023-9-28/22:14:57/upload_22:14:57.txt Need to troubleshoot? Please visit: https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/tree/master/scripts/dashboard-importer/README.md#troubleshooting
Grafana-Dashboards ohne Hochladen konvertieren
Wenn Sie die konvertierten Dashboards vor dem Hochladen prüfen oder bearbeiten möchten, lassen Sie den Wert PROJECT_ID beim Aufrufen des Scripts import.sh
weg:
./import.sh PATH_TO_DIRECTORY_OR_FILE
Der Importer konvertiert die Dashboards, wie unter Grafana-Dashboards importieren beschrieben, lädt die konvertierten Dashboards jedoch nicht in Cloud Monitoring hoch.
Sie können den Uploadschritt später mithilfe des Scripts upload.sh
manuell ausführen.
Dashboards manuell hochladen
Verwenden Sie das Script upload.sh
, um Dashboards im Cloud Monitoring-JSON-Format manuell hochzuladen.
./upload.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID
Das Script upload.sh
verwendet die Google Cloud CLI, um die JSON-Dateien hochzuladen. Wenn Sie sich nicht bei der gcloud CLI authentifiziert haben, führen Sie den Befehl gcloud auth login
aus, bevor Sie das Script upload.sh
ausführen.
Geben Sie beim Hochladen aller Dashboards in einem
reports/YYYY-M-D/HH:MM:SS
-Verzeichnis das Verzeichnis relativ zum Importerverzeichnis sowie die Zielprojekt-ID an, wenn Sie das Script aufrufen:./upload.sh
reports/YYYY-M-D/HH:MM:SS
PROJECT_IDWenn Sie alle Dashboards aus einem Verzeichnis hochladen, werden Sie vom Script aufgefordert, den Vorgang fortzusetzen oder zu beenden, bevor Sie die Dashboards hochladen.
Wenn Sie ein bestimmtes Dashboard in ein
reports/YYYY-M-D/HH:MM:SS
-Verzeichnis hochladen möchten, geben Sie beim Aufrufen des Scripts das Verzeichnis und den Dateinamen relativ zum Importerverzeichnis sowie die Zielprojekt-ID an:./upload.sh
reports/YYYY-M-D/HH:MM:SS
/MY_MONITORING_DASHBOARD.json PROJECT_IDWenn Sie ein einzelnes Dashboard aus einem Verzeichnis hochladen, wird das Script ausgeführt, ohne dass Sie zu einer Aktion aufgefordert werden, bevor die Dashboards hochgeladen werden.
Mit dem folgenden Befehl wird beispielsweise ein in einem Unterverzeichnis reports
gespeichertes Dashboard in das Google Cloud-Projekt my-project-test-1
hochgeladen:
./upload.sh reports/2023-9-26/22:48:31/k8s_cluster_example.json my-project-test-1 Uploading json file: k8s_cluster_example.json to project: my-project-test-1... ✓ k8s_cluster_example.json successfully uploaded: https://console.cloud.google.com/monitoring/dashboards/builder/25956d9a-93e2-410c-ada1-ec6872cb6665?project=my-project-test-1
Fehlerbehebung
Gelegentlich veröffentlichen wir kleine Updates und Fehlerkorrekturen für das Tool. Bevor Sie weitere Fehler beheben, versuchen Sie zuerst, das Problem zu beheben. Rufen Sie dazu mit git pull
die neueste Version des Repositorys ab und importieren Sie dann noch einmal.
Informationen zu Problemen mit den konvertierten Dashboards, z. B. Diagrammen, die keine Daten anzeigen, finden Sie in der Datei README
des Importers.
Nächste Schritte
- Benutzerdefinierte Dashboards erstellen und verwalten
- Quellcode und
README
-Datei für den Dashboard-Importer ansehen - Benachrichtigungsregeln und Empfänger von Prometheus migrieren
- Messwertnutzung ansehen und verwalten