Questa pagina descrive la procedura per creare e gestire le dashboard all'interno dell'istanza Grafana, utilizzata per le visualizzazioni di log e metriche del progetto air-gapped Google Distributed Cloud (GDC).
Una dashboard fornisce una rappresentazione visiva dinamica delle prestazioni del sistema. È costituita da uno o più riquadri personalizzabili, ognuno configurato per eseguire query e visualizzare metriche specifiche dei componenti GDC. Questi riquadri consentono di:
- Visualizzare le metriche tramite vari tipi di grafici.
- Definire le soglie di avviso per attivare le notifiche in base ai valori delle metriche.
- Personalizzare le proprietà di visualizzazione, come etichette, unità e intervalli di tempo.
- Impostare risoluzioni temporali coerenti per confronti accurati.
Utilizzando in modo efficace le dashboard Grafana, puoi ottenere informazioni preziose sulle prestazioni e sullo stato di integrità del tuo ambiente GDC.
Prima di iniziare
Per ottenere le autorizzazioni necessarie per lavorare con le dashboard in un'organizzazione, chiedi all'amministratore IAM dell'organizzazione di concederti i seguenti ruoli:
- Crea una dashboard personalizzata: Dashboard PA Creator (
dashboard-pa-creator) - Modifica ed elimina una dashboard personalizzata: Dashboard PA Editor (
dashboard-pa-editor) - Visualizza una dashboard personalizzata: Dashboard PA Viewer (
dashboard-pa-viewer)
Per ottenere le autorizzazioni necessarie per lavorare con le dashboard per un progetto, chiedi all'amministratore IAM del progetto di concederti i seguenti ruoli nello spazio dei nomi del progetto:
- Crea, modifica ed elimina una dashboard personalizzata: Dashboard Editor (
dashboard-editor) - Visualizza una dashboard personalizzata: Dashboard Viewer (
dashboard-viewer) - Crea e modifica un ConfigMap: ConfigMap Editor (
observabilitypipeline-configmap-editor)
Dopo aver ottenuto i ruoli corrispondenti, segui questi passaggi prima di creare le dashboard:
- Raccogli le metriche dai tuoi workload.
Imposta il percorso del file kubeconfig come variabile di ambiente:
export KUBECONFIG=KUBECONFIG_PATHSostituisci
KUBECONFIG_PATHcon il percorso del file kubeconfig per il server API di gestione in cui vuoi creare la dashboard.
Identifica l'endpoint Grafana
Il seguente URL è l'endpoint dell'istanza Grafana del tuo progetto:
https://GDC_URL/PROJECT_NAMESPACE/grafana
Sostituisci quanto segue:
GDC_URL: l'URL della tua organizzazione in GDC.PROJECT_NAMESPACE: lo spazio dei nomi del progetto.
Ad esempio, l'endpoint Grafana per il platform-obs progetto nell'organizzazione org-1
è https://org-1/platform-obs/grafana.
Crea una dashboard personalizzata
Per creare una dashboard Grafana e personalizzare le impostazioni:
- Apri il tuo endpoint Grafana per visualizzare l' interfaccia utente.
- Dal menu di navigazione, fai clic su Add (Aggiungi).
- Dal menu a discesa, fai clic su Dashboard. Grafana crea una dashboard vuota.
Nella dashboard vuota, aggiungi tutti i riquadri che vuoi.
Nel menu Data source (Origine dati) di ogni riquadro, seleziona l'origine dati che vuoi per il riquadro, incluse le metriche (
prometheus), gli audit log (auditloki) e i log operativi (oploki).Per gli universi multizona, Grafana dispone di origini dati con etichette di zona che puoi utilizzare per creare visualizzazioni della dashboard con metriche e log di più zone. Queste origini dati hanno il formato
DATA_SOURCE-ZONE_ID, dove:DATA_SOURCEpuò assumere uno dei seguenti valori:- Prometheus (
prometheusometrics) per visualizzare le metriche. - Audit log (
auditloki) per visualizzare gli audit log. - Log operativi (
oploki) per visualizzare i log operativi.
- Prometheus (
ZONE_IDè l'ID della zona da cui vuoi visualizzare i dati nella dashboard.
Inoltre, per creare una dashboard di visualizzazione per le risorse tra zone, il nome dell'origine dati è
--Mixed--. Questa origine dati ti consente di aggiungere più query per zona e di visualizzare i dati tra zone in un'unica dashboard. Puoi utilizzare questa funzionalità per confrontare il comportamento, ad esempio, di una singola metrica o query di log in più zone del tuo universo.Personalizza i dettagli e modifica i riquadri per fornire le query o apportare altri aggiornamenti.
Dalla barra dei menu, fai clic su Dashboard settings (Impostazioni dashboard) per aprire la pagina Settings (Impostazioni).
Dal menu di navigazione, seleziona JSON Model (Modello JSON).
Copia il modello JSON della dashboard e incollalo in un file di testo normale per un utilizzo futuro.
Crea un oggetto ConfigMap
Per creare un oggetto ConfigMap contenente il modello JSON della dashboard:
- Apri una finestra del terminale.
Crea un oggetto
ConfigMap. Nella sezionedatadell'oggettoConfigMap, incolla il modello JSON che hai copiato in precedenza:apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { JSON_MODEL }Sostituisci quanto segue:
PROJECT_NAMESPACE: lo spazio dei nomi del progetto.CONFIGMAP_NAME: il nome che vuoi assegnare all'oggettoConfigMap.JSON_FILE_NAME: il nome che vuoi assegnare al file per il modello JSON della dashboard.JSON_MODEL: il modello JSON della tua dashboard personalizzata.
Per un esempio di come deve essere questo oggetto, vedi un
ConfigMapesempio.Applica l'oggetto
ConfigMapal server API di gestione:kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
Un esempio di ConfigMap
Il seguente file YAML mostra un esempio dell'oggetto ConfigMap di una dashboard nello spazio dei nomi 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
}
Crea una risorsa personalizzata Dashboard
Per creare una risorsa personalizzata Dashboard e importare la dashboard personalizzata nell'istanza Grafana del progetto:
- Apri una finestra del terminale.
Crea una risorsa personalizzata
Dashboarde configura il file con il nome che hai assegnato all'oggettoConfigMap: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: DefaultSostituisci quanto segue:
PROJECT_NAMESPACE: lo spazio dei nomi del progetto.DASHBOARD_NAME: il nome che vuoi assegnare alla risorsa personalizzataDashboard.CONFIGMAP_NAME: il nome che hai assegnato all'ConfigMapoggetto.JSON_FILE_NAME: il nome che hai assegnato al file contenente il modello JSON della dashboard nell'oggettoConfigMap.
Applica la risorsa personalizzata
Dashboardal server API di gestione:kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
Il sistema monitora le modifiche sia alla risorsa personalizzata Dashboard sia all'oggetto ConfigMap associato. Per aggiornare o eliminare una dashboard, modifica queste risorse. Qualsiasi modifica attiva un aggiornamento di Grafana. Non puoi salvare gli aggiornamenti eseguiti direttamente nell'interfaccia utente di Grafana.