Le dashboard di Grafana ti consentono di visualizzare log e metriche in Google Distributed Cloud (GDC) con air gap. Queste dashboard forniscono visualizzazioni dinamiche dell'integrità e delle prestazioni del sistema tramite riquadri personalizzabili.
Una dashboard fornisce una rappresentazione visiva dinamica delle prestazioni del sistema. È costituita da uno o più riquadri personalizzabili, ciascuno configurato per eseguire query e visualizzare metriche specifiche dei componenti GDC. Questi riquadri consentono di:
- Visualizza le metriche tramite vari tipi di grafici.
- Definisci le soglie di avviso per attivare le notifiche in base ai valori delle metriche.
- Personalizza le proprietà di visualizzazione, come etichette, unità e intervalli di tempo.
- Imposta risoluzioni temporali coerenti per confronti accurati.
Utilizzando in modo efficace le dashboard di Grafana, puoi ottenere informazioni preziose sulle prestazioni e sullo stato di integrità del tuo ambiente GDC.
Prima di iniziare
Per gestire le risorse personalizzate Dashboard e ConfigMap, devi disporre delle autorizzazioni necessarie.
Richiedi ruoli IAM dell'organizzazione
Contatta l'amministratore dell'organizzazione IAM per richiedere i seguenti ruoli per lavorare con le dashboard in un'organizzazione:
- Dashboard PA Creator (
dashboard-pa-creator): crea dashboard personalizzate. - Dashboard PA Editor (
dashboard-pa-editor): modifica o elimina le dashboard personalizzate. - Dashboard PA Viewer (
dashboard-pa-viewer): visualizza le dashboard personalizzate.
Richiedi ruoli IAM per il progetto
Contatta l'amministratore del progetto IAM per richiedere i seguenti ruoli per lavorare con dashboard e configurazioni in un progetto:
- Dashboard Editor (
dashboard-editor): crea, modifica ed elimina dashboard personalizzate all'interno dello spazio dei nomi del progetto. - Visualizzatore dashboard (
dashboard-viewer): visualizza le dashboard personalizzate all'interno dello spazio dei nomi del progetto. - ConfigMap Editor (
observabilitypipeline-configmap-editor): crea e modifica unConfigMapnello spazio dei nomi del progetto.
prepara l'ambiente
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 progetto platform-obs nell'organizzazione org-1 è https://org-1/platform-obs/grafana.
Crea una dashboard personalizzata
Segui questi passaggi per creare una dashboard di Grafana e personalizzare le impostazioni:
- Apri l'endpoint Grafana per visualizzare l'interfaccia utente.
- Nel menu di navigazione, fai clic su Aggiungi.
- Nel menu a discesa, fai clic su Dashboard. Grafana crea una dashboard vuota.
Nella dashboard vuota, aggiungi tutti i riquadri che vuoi.
Nel menu Origine dati di ogni riquadro, seleziona l'origine dati che vuoi per il riquadro, tra cui metriche (
prometheus), audit log (auditloki) e log operativi (oploki).Per gli universi multizona, Grafana dispone di origini dati etichettate per zona che puoi utilizzare per creare visualizzazioni della dashboard con metriche e log di più zone. Queste origini dati sono denominate con 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 avere visualizzazioni dei dati tra zone in un'unica dashboard. Puoi utilizzare questa funzionalità per fare confronti di comportamento, ad esempio, tra una singola metrica o una query di log in più zone del tuo universo.Personalizza i dettagli e modifica i riquadri per fornire le query o apportare altri aggiornamenti.
Nella barra dei menu, fai clic su Impostazioni dashboard per aprire la pagina Impostazioni.
Dal menu di navigazione, seleziona Modello JSON.
Copia il modello JSON della dashboard e incollalo in un file di testo normale per un utilizzo futuro.
Crea un oggetto ConfigMap
Segui questi passaggi 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 al tuo 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 apparire questo oggetto, consulta un esempio di
ConfigMap.Applica l'oggetto
ConfigMapal server dell'API di gestione:kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
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
Segui questi passaggi per creare una risorsa personalizzata Dashboard e importare la tua dashboard personalizzata nell'istanza Grafana del tuo 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 tua risorsa personalizzataDashboard.CONFIGMAP_NAME: il nome che hai assegnato all'oggettoConfigMap.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. Eventuali modifiche attivano un aggiornamento di Grafana. Non puoi salvare gli aggiornamenti eseguiti direttamente nell'interfaccia utente di Grafana.