Cette page décrit le processus de création et de gestion de tableaux de bord dans votre instance Grafana, utilisés pour visualiser les journaux et les métriques de votre projet isolé de Google Distributed Cloud (GDC).
Un tableau de bord fournit une représentation visuelle dynamique des performances de votre système. Il se compose d'un ou de plusieurs panneaux personnalisables, chacun étant configuré pour interroger et afficher des métriques spécifiques de vos composants GDC. Ces panneaux vous permettent d'effectuer les opérations suivantes :
- Visualiser les métriques à l'aide de différents types de graphiques.
- Définir des seuils d'alerte pour déclencher des notifications en fonction des valeurs de métrique.
- Personnaliser les propriétés d'affichage telles que les libellés, les unités et les plages de dates.
- Définir des résolutions temporelles cohérentes pour des comparaisons précises.
En utilisant efficacement les tableaux de bord Grafana, vous pouvez obtenir des insights précieux sur les performances et l'état de votre environnement GDC.
Avant de commencer
Pour obtenir les autorisations nécessaires pour utiliser les tableaux de bord dans une organisation, demandez à votre administrateur IAM de l'organisation de vous accorder les rôles suivants :
- Créer un tableau de bord personnalisé : Créateur de PA de tableau de bord (
dashboard-pa-creator) - Modifier et supprimer un tableau de bord personnalisé : Éditeur de PA de tableau de bord (
dashboard-pa-editor) - Afficher un tableau de bord personnalisé : Lecteur de PA de tableau de bord (
dashboard-pa-viewer)
Pour obtenir les autorisations nécessaires pour utiliser les tableaux de bord d'un projet, demandez à votre administrateur IAM du projet de vous accorder les rôles suivants dans l'espace de noms du projet :
- Créer, modifier et supprimer un tableau de bord personnalisé : Éditeur de tableau de bord (
dashboard-editor) - Afficher un tableau de bord personnalisé : Lecteur de tableau de bord (
dashboard-viewer) - Créer et modifier un ConfigMap : Éditeur de ConfigMap (
observabilitypipeline-configmap-editor)
Après avoir obtenu les rôles correspondants, procédez comme suit avant de créer des tableaux de bord :
- Collectez les métriques de vos charges de travail.
Définissez le chemin d'accès au fichier kubeconfig comme variable d'environnement :
export KUBECONFIG=KUBECONFIG_PATHRemplacez
KUBECONFIG_PATHpar le chemin d'accès au fichier kubeconfig du serveur d'API Management sur lequel vous souhaitez créer le tableau de bord.
Identifier votre point de terminaison Grafana
L'URL suivante correspond au point de terminaison de l'instance Grafana de votre projet :
https://GDC_URL/PROJECT_NAMESPACE/grafana
Remplacez les éléments suivants :
GDC_URL: URL de votre organisation dans GDC.PROJECT_NAMESPACE: espace de noms de votre projet.
Par exemple, le point de terminaison Grafana du projet platform-obs dans l'org-1
organisation est https://org-1/platform-obs/grafana.
Créer un tableau de bord personnalisé
Pour créer un tableau de bord Grafana et personnaliser vos paramètres, procédez comme suit :
- Ouvrez votre point de terminaison Grafana pour afficher l'interface utilisateur.
- Dans le menu de navigation, cliquez sur Ajouter.
- Dans le menu déroulant, cliquez sur Tableau de bord. Grafana crée un tableau de bord vide.
Dans le tableau de bord vide, ajoutez tous les panneaux souhaités.
Dans le menu Source de données de chaque panneau, sélectionnez la source de données souhaitée pour le panneau, y compris les métriques (
prometheus), les journaux d'audit (auditloki) et les journaux opérationnels (oploki).Pour les univers multizones, Grafana dispose de sources de données libellées par zone que vous pouvez utiliser pour créer des visualisations de tableau de bord avec des métriques et des journaux provenant de plusieurs zones. Ces sources de données sont nommées au format
DATA_SOURCE-ZONE_ID, où :DATA_SOURCEpeut prendre l'une des valeurs suivantes :- Prometheus (
prometheusoumetrics) pour afficher les métriques. - Journaux d'audit (
auditloki) pour afficher les journaux d'audit. - Journaux opérationnels (
oploki) pour afficher les journaux opérationnels.
- Prometheus (
ZONE_IDcorrespond à l'ID de la zone à partir de laquelle vous souhaitez afficher les données dans le tableau de bord.
De plus, pour créer un tableau de bord de visualisation pour les ressources interzones, le nom de la source de données est
--Mixed--. Cette source de données vous permet d'ajouter plusieurs requêtes par zone et de disposer de visualisations de données interzones dans un seul tableau de bord. Vous pouvez utiliser cette fonctionnalité pour comparer le comportement entre, par exemple, une seule métrique ou une requête de journal dans plusieurs zones de votre univers.Personnalisez vos informations et modifiez vos panneaux pour fournir vos requêtes ou effectuer d'autres mises à jour.
Dans la barre de menu, cliquez sur Paramètres du tableau de bord pour ouvrir la page Paramètres.
Dans le menu de navigation, sélectionnez Modèle JSON.
Copiez le modèle JSON du tableau de bord et collez-le dans un fichier texte brut pour une utilisation ultérieure.
Créer un objet ConfigMap
Pour créer un objet ConfigMap contenant le modèle JSON du tableau de bord, procédez comme suit :
- Ouvrez une fenêtre de terminal.
Créez un objet
ConfigMap. Dans la sectiondatade votre objetConfigMap, collez le modèle JSON que vous avez copié précédemment :apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { JSON_MODEL }Remplacez les éléments suivants :
PROJECT_NAMESPACE: espace de noms de votre projet.CONFIGMAP_NAME: nom que vous souhaitez attribuer à votre objetConfigMap.JSON_FILE_NAME: nom que vous souhaitez attribuer au fichier pour le modèle JSON du tableau de bord.JSON_MODEL: modèle JSON de votre tableau de bord personnalisé.
Pour obtenir un exemple de ce à quoi doit ressembler cet objet, consultez un
ConfigMapexemple.Appliquez l'objet
ConfigMapau serveur d'API Management :kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
Exemple de ConfigMap
Le fichier YAML suivant montre un exemple de l'objet ConfigMap d'un tableau de bord dans l'espace de noms 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
}
Créer une ressource personnalisée Dashboard
Pour créer une ressource personnalisée Dashboard et importer votre tableau de bord personnalisé dans l'instance Grafana de votre projet, procédez comme suit :
- Ouvrez une fenêtre de terminal.
Créez une ressource personnalisée
Dashboardet configurez le fichier avec le nom que vous avez attribué à l'objetConfigMap: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: DefaultRemplacez les éléments suivants :
PROJECT_NAMESPACE: espace de noms de votre projet.DASHBOARD_NAME: nom que vous souhaitez attribuer à votre ressource personnaliséeDashboard.CONFIGMAP_NAME: nom que vous avez attribué à l'objetConfigMap.JSON_FILE_NAME: nom que vous avez attribué au fichier contenant le modèle JSON du tableau de bord dans l'objetConfigMap.
Appliquez la ressource personnalisée
Dashboardau serveur d'API Management :kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
Le système surveille les modifications apportées à la fois à la ressource personnalisée Dashboard et à l'objet ConfigMap associé. Pour mettre à jour ou supprimer un tableau de bord, modifiez ces ressources. Toute modification déclenche une mise à jour de Grafana. Vous ne pouvez pas enregistrer les mises à jour effectuées directement dans l'interface utilisateur Grafana.