Importer des tableaux de bord Grafana dans Cloud Monitoring

Ce document explique comment importer des fichiers de tableau de bord Grafana au format JSON dans Cloud Monitoring. Vous pouvez importer des tableaux de bord Grafana de différentes manières :

Le processus d'importation convertit les fichiers de tableau de bord au format JSON utilisé par Grafana au format JSON utilisé par Cloud Monitoring. Un tableau de bord converti peut différer du tableau de bord Grafana d'origine. Par exemple, si un tableau de bord Grafana utilise des fonctionnalités qui ne sont pas disponibles dans les tableaux de bord Cloud Monitoring, ces aspects du tableau de bord Grafana ne sont pas convertis. Ces différences sont listées dans les résultats de l'importation.

Vous ne pouvez importer que les tableaux de bord qui utilisent des expressions PromQL et des sources de données Prometheus. Les tableaux de bord qui utilisent d'autres formes de requêtes ou de sources de données peuvent ne pas être importés correctement.

Pour en savoir plus sur l'importation d'alertes Prometheus dans Cloud Monitoring, consultez la page Migrer des règles d'alerte et des récepteurs depuis Prometheus.

Pour obtenir des informations générales sur la gestion de vos tableaux de bord importés, consultez Créer et gérer des tableaux de bord personnalisés.

Avant de commencer

Que vous utilisiez la Google Cloud console ou l'outil d'importation pour importer vos tableaux de bord, vous devez disposer d'une autorisation suffisante et avoir des tableaux de bord à importer. Lorsque vous utilisez l'outil d'importation, des conditions préalables supplémentaires s'appliquent.

Autorisation

Pour obtenir les autorisations nécessaires pour créer et modifier des tableaux de bord personnalisés, demandez à votre administrateur de vous accorder le rôle Éditeur Monitoring (roles/monitoring.editor) IAM dans votre projet. Pour en savoir plus sur l'attribution de rôles, consultez Gérer l'accès aux projets, aux dossiers et aux organisations.

Vous pouvez également obtenir les autorisations requises via des rôles personnalisés ou d'autres rôles prédéfinis.

Pour en savoir plus sur les rôles, consultez Contrôler l'accès avec Identity and Access Management.

Collecter les tableaux de bord Grafana à importer

Pour importer des tableaux de bord Grafana, vous devez les stocker localement sous forme de fichiers au format JSON. Vous pouvez créer un répertoire spécifique pour ces fichiers de tableau de bord.

Importer des tableaux de bord à l'aide de la Google Cloud console

Vous pouvez importer des tableaux de bord Grafana dans Cloud Monitoring à partir de la page Tableaux de bord de Monitoring dans la Google Cloud console.

Importer des tableaux de bord Grafana

Pour importer un ou plusieurs tableaux de bord Grafana, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la  page Tableaux de bord :

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils de la Google Cloud console, sélectionnez votre Google Cloud projet. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion.

  3. Cliquez sur Importer un tableau de bord.

  4. Cliquez sur Parcourir pour accéder au répertoire dans lequel vous avez stocké vos tableaux de bord Grafana au format JSON, puis sélectionnez les tableaux de bord que vous souhaitez importer.

    Chaque fichier JSON est mis en scène après sa sélection. Le volet Fichiers mis en scène indique s'il existe des problèmes lors de la conversion.

    • Cliquez sur  Afficher le JSON converti pour afficher les résultats de la conversion.
    • Cliquez sur  Supprimer le fichier pour supprimer un tableau de bord de l'opération d'importation.
  5. Cliquez sur  Importer. Le volet Résultats de l'importation indique si chaque tableau de bord a été importé correctement.

  6. Pour afficher un tableau de bord importé correctement, cliquez sur  Afficher.

Afficher vos tableaux de bord importés

Pour afficher vos tableaux de bord importés, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la  page Tableaux de bord :

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la barre d'outils de la Google Cloud console, sélectionnez votre Google Cloud projet. Pour les configurations App Hub, sélectionnez le projet hôte App Hub ou le projet de gestion.
  3. Recherchez le tableau de bord que vous souhaitez afficher dans la liste. Pour filtrer la liste des tableaux de bord, vous pouvez procéder comme suit :

    • Dans le menu Type, sélectionnez Personnalisé.
    • Dans le volet Libellés, sélectionnez le libellé cloud-monitoring-dashboard-importer pour n'afficher que les tableaux de bord Grafana importés à l'aide de la console Google Cloud .

    • Utilisez la barre de filtres pour effectuer une recherche par nom.

Ajouter ou supprimer des libellés définis par l'utilisateur

Vous ne pouvez ajouter des libellés qu'aux tableaux de bord personnalisés, y compris ceux que vous importez. Lorsqu'un tableau de bord affiche le Ajouter des libellés au tableau de bord bouton, vous pouvez configurer les libellés à appliquer au tableau de bord.

Pour ajouter ou supprimer des libellés définis par l'utilisateur dans un tableau de bord, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la  page Tableaux de bord :

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Dans la liste des tableaux de bord, recherchez le tableau de bord, puis cliquez sur Ajouter des libellés au tableau de bord.
  3. Effectuez l'une des opérations suivantes :
    • Pour créer un libellé et l'ajouter à votre tableau de bord, dans la section Créer un libellé, saisissez le nom du libellé dans la zone de texte, puis cliquez sur Créer et appliquer.

    • Pour configurer les libellés à ajouter à votre tableau de bord, cliquez sur Sélectionner les libellés à appliquer, sélectionnez les libellés, puis cliquez sur OK.
  4. Pour enregistrer vos modifications, cliquez sur Confirmer.

Importer des tableaux de bord à l'aide de l'outil d'importation

Vous pouvez utiliser l'outil d'importation pour convertir des tableaux de bord Grafana et les importer dans Cloud Monitoring en une seule opération, ou vous pouvez effectuer les étapes de conversion et d'importation séparément. Vous pouvez choisir cette approche si vous souhaitez modifier les tableaux de bord convertis avant de les importer.

Conditions préalables supplémentaires

Avant de pouvoir installer et exécuter l'outil d'importation de tableaux de bord, vous devez effectuer les opérations suivantes :

  1. Utilisez un environnement compatible avec les scripts shell Bash.
  2. Si ce n'est pas déjà fait, installez Git.
  3. Si ce n'est pas déjà fait, installez Node.js version 20.4.1 ou ultérieure.
  4. Si ce n'est pas déjà fait, installez Google Cloud CLI. Si la gcloud CLI est déjà installée, assurez-vous de disposer de la dernière version en exécutant la commande gcloud components update.

Obtenir l'outil d'importation de tableaux de bord

L'outil d'importation de tableaux de bord est stocké dans le monitoring-dashboard-samples dépôt GitHub. Pour obtenir et configurer l'outil d'importation, procédez comme suit :

  1. Clonez le dépôt :

    git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
    
  2. Accédez au répertoire de l'outil d'importation de tableaux de bord :

    cd monitoring-dashboard-samples/scripts/dashboard-importer
    
  3. Installez les modules de nœud et créez les fichiers.

    npm install && npm run build
    

L'outil d'importation de tableaux de bord inclut les scripts suivants :

  • import.sh, qui convertit les tableaux de bord et importe éventuellement les tableaux de bord convertis dans Cloud Monitoring.

  • upload.sh, qui importe les tableaux de bord convertis (ou tout tableau de bord Monitoring) dans Cloud Monitoring. Le script import.sh appelle ce script pour effectuer l'importation.

Lorsque vous utilisez le script import.sh, vous devez spécifier l'emplacement des tableaux de bord Grafana à convertir. L'outil d'importation crée un répertoire contenant les tableaux de bord convertis et d'autres informations. Les sections suivantes décrivent ces répertoires.

Tableaux de bord Grafana à convertir

Vous pouvez utiliser l'outil d'importation de tableaux de bord pour convertir un ou plusieurs tableaux de bord à la fois en spécifiant un chemin d'accès aux fichiers des tableaux de bord.

  • Vous pouvez spécifier le chemin d'accès à un répertoire contenant des tableaux de bord. Seuls les fichiers du répertoire comportant l'extension .json sont traités.

  • Vous pouvez spécifier le chemin d'accès à un seul fichier JSON. Le nom de fichier doit avoir l'extension .json.

Tableaux de bord convertis et autres informations

Lorsque l'outil d'importation s'exécute pour la première fois, il crée un sous-répertoire reports. Chaque fois que vous exécutez l'outil d'importation, vous obtenez un nouveau répertoire de sortie sous reports, dont le nom correspond à la date et à l'heure. Le nom du répertoire de sortie présente la structure suivante :
reports/YYYY-M-D/HH:MM:SS

Pour chaque appel de l'outil d'importation, le répertoire de sortie contient les éléments suivants :

  • Un ou plusieurs fichiers dotés des mêmes noms que les tableaux de bord Grafana d'origine, mais convertis au format JSON utilisé par Cloud Monitoring.
  • Un fichier report.json, qui enregistre les informations suivantes pour chaque tableau de bord converti :
    • Nom et emplacement du fichier de tableau de bord Grafana qui a été converti.
    • Nom et emplacement du fichier de tableau de bord Monitoring converti.
    • Avis concernant les fonctionnalités du tableau de bord Grafana qui n'ont pas de fonctionnalité correspondante dans Cloud Monitoring et qui n'ont donc pas pu être incluses dans le tableau de bord converti.
    • Toutes les erreurs survenues lors de la conversion.

Si vous avez importé les tableaux de bord, le répertoire du rapport inclut également un fichier upload_HH:MM:SS.txt, qui inclut l'URL vers laquelle le tableau de bord a été importé.

Importer des tableaux de bord Grafana

Pour convertir des tableaux de bord Grafana et les importer dans Cloud Monitoring, utilisez le script import.sh :

./import.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID

Ce script effectue les opérations suivantes :

  1. Convertit les tableaux de bord au format JSON utilisé par Grafana situés dans PATH_TO_DIRECTORY_OR_FILE au format JSON utilisé par Cloud Monitoring.
  2. Importe les tableaux de bord convertis dans votre Google Cloud projet PROJECT_ID à l'aide de Google Cloud CLI.

    Si vous ne vous êtes pas authentifié auprès de la gcloud CLI, exécutez la gcloud auth login commande avant d'exécuter le import.sh script.

Vous pouvez importer tous les tableaux de bord Grafana d'un répertoire ou spécifier un seul tableau de bord à importer dans le répertoire.

  • Pour importer tous les tableaux de bord du répertoire GRAFANA_DASHBOARDS_DIR dans le projet PROJECT_ID Google Cloud , spécifiez le répertoire, par rapport au répertoire d'importation, et l'ID du projet de destination lorsque vous appelez le script :

    ./import.sh GRAFANA_DASHBOARDS_DIR PROJECT_ID
    
  • Pour convertir uniquement le tableau de bord MY_GRAFANA_DASHBOARD.json du répertoire GRAFANA_DASHBOARDS_DIR, incluez le nom de fichier du tableau de bord, par rapport au répertoire d'importation, lorsque vous appelez le script :

    ./import.sh GRAFANA_DASHBOARDS_DIR/MY_GRAFANA_DASHBOARD.json PROJECT_ID
    

L'outil d'importation de tableaux de bord inclut un exemple de tableau de bord Grafana sous la forme examples/k8s_cluster_example.json. La commande suivante importe ce tableau de bord dans le projet spécifié :

./import.sh examples/k8s_cluster_example.json PROJECT_ID

Lorsqu'elle est appelée avec la commande PROJECT_ID my-project-test-1, le résultat se présente comme suit :

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

Une fois que le script import.sh a créé le répertoire de sortie et converti les tableaux de bord, mais avant d'importer les tableaux de bord convertis dans votre projet, il vous demande une confirmation. Saisissez y. Le script importe le tableau de bord et affiche l'URL du nouveau tableau de bord :

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

Convertir des tableaux de bord Grafana sans les importer

Si vous souhaitez inspecter ou modifier les tableaux de bord convertis avant de les importer, omettez la valeur PROJECT_ID lorsque vous appelez le script import.sh :

./import.sh PATH_TO_DIRECTORY_OR_FILE

L'outil d'importation convertit les tableaux de bord comme décrit dans Importer des tableaux de bord Grafana mais n'importe pas les tableaux de bord convertis dans Cloud Monitoring.

Vous pouvez exécuter l'étape d'importation ultérieurement à l'aide du script upload.sh manuellement.

Importer des tableaux de bord manuellement

Pour importer manuellement des tableaux de bord au format JSON utilisé par Cloud Monitoring, utilisez le script upload.sh.

    ./upload.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID

Le script upload.sh utilise Google Cloud CLI pour importer les fichiers JSON. Si vous ne vous êtes pas authentifié auprès de la gcloud CLI, exécutez la commande gcloud auth login avant d'exécuter le script upload.sh.

  • Pour importer tous les tableaux de bord d'un répertoire reports/YYYY-M-D/HH:MM:SS, spécifiez le répertoire, par rapport au répertoire d'importation, et l'ID du projet de destination lorsque vous appelez le script :

    ./upload.sh reports/YYYY-M-D/HH:MM:SS PROJECT_ID
    

    Lorsque vous importez tous les tableaux de bord depuis un répertoire, le script vous invite à continuer ou à quitter avant d'importer les tableaux de bord.

  • Pour importer un tableau de bord spécifique dans un répertoire reports/YYYY-M-D/HH:MM:SS, spécifiez le répertoire et le nom du fichier, par rapport au répertoire d'importation, et l'ID du projet de destination lorsque vous appelez le script :

    ./upload.sh reports/YYYY-M-D/HH:MM:SS/MY_MONITORING_DASHBOARD.json PROJECT_ID
    

    Lors de l'importation d'un seul tableau de bord à partir d'un répertoire, le script s'exécute sans vous demander confirmation avant d'importer les tableaux de bord.

Par exemple, la commande suivante importe un tableau de bord stocké dans un sous-répertoire reports dans le Google Cloud projet my-project-test-1 :

./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

Afficher vos tableaux de bord importés

Pour afficher vos tableaux de bord importés, procédez comme suit :

  1. Dans la Google Cloud console, accédez à la  page Tableaux de bord :

    Accéder à la page Tableaux de bord

    Si vous utilisez la barre de recherche pour trouver cette page, sélectionnez le résultat dont le sous-titre est Monitoring.

  2. Recherchez le tableau de bord que vous souhaitez afficher dans la liste. Pour filtrer la liste des tableaux de bord, vous pouvez procéder comme suit :

    • Sélectionnez la catégorie Personnalisé pour n'afficher que les tableaux de bord définis par l'utilisateur.
    • Sélectionnez le libellé cloud-ops-grafana-importer pour n'afficher que les tableaux de bord Grafana importés à l'aide de l'outil d'importation.
    • Utilisez la barre de filtres pour effectuer une recherche par nom.

Dépannage

Nous publions occasionnellement de petites mises à jour et des corrections de bugs sur l'outil. Avant d'effectuer d'autres procédures de dépannage, essayez d'abord de résoudre le problème en utilisant git pull pour extraire la dernière version du dépôt, puis en procédant à nouveau à l'importation.

Pour en savoir plus sur les problèmes liés aux tableaux de bord convertis, comme des graphiques n'affichant pas de données, consultez le fichier README de l'outil d'importation.

Étapes suivantes