Questa pagina descrive la procedura per creare e gestire le dashboard nell'istanza Grafana, chiamata anche istanza di monitoraggio del sistema. istanza di monitoraggio del sistema. Utilizza le dashboard per eseguire operazioni di monitoraggio nel tuo progetto, ad esempio il monitoraggio della rete e del server.
Dopo che la piattaforma di osservabilità raccoglie le metriche prodotte dai workload di cui è stato eseguito il deployment nel tuo progetto GDC, la configurazione salva le etichette delle metriche associate e aggrega i file di tutte le origini dati. Poi, puoi creare dashboard personalizzate per eseguire query e visualizzare metriche specifiche dall'interfaccia utente dell'istanza di monitoraggio.
Una dashboard è una disposizione visiva dinamica di uno o più pannelli personalizzabili che interagiscono con le metriche Prometheus configurate nelle origini dati. Eseguendo query, puoi utilizzare ciascuno di questi pannelli per visualizzare ed esporre metriche specifiche dei componenti GDC.
La piattaforma di osservabilità espone un'API che ti consente di configurare le personalizzazioni per la disposizione visiva delle metriche. Ad esempio, stabilisci soglie di accettazione, visualizza i segnali corretti, etichetta i grafici e scegli una risoluzione temporale coerente.
Dashboard disponibili
Supponendo che l'ambiente sia attivo e funzionante, nella home page dell'istanza di monitoraggio vengono visualizzate immediatamente alcune dashboard delle metriche. Ad esempio, puoi osservare lo stato dell'interruttore e l'integrità dei componenti del sistema.
Utilizza i dashboard di switch e cluster per monitorare i cluster e le metriche dei nodi. Accedi alle dashboard di logging e monitoraggio per osservare i cluster di amministrazione.
Le metriche più pertinenti per l'amministratore della piattaforma (PA) sono le seguenti:
- Kubernetes / API server: mostra l'integrità del server API per cluster nell'organizzazione.
- Kubernetes / Risorse di calcolo / Multi-cluster: mostra l'utilizzo delle risorse a livello di organizzazione.
- Kubernetes / Risorse di calcolo / Cluster: mostra l'utilizzo delle risorse per cluster.
- Kubernetes / Volumi permanenti: mostra l'utilizzo dei volumi permanenti Kubernetes in ogni cluster.
- Stato nodo: mostra l'utilizzo delle risorse su ogni nodo di ogni cluster.
- Stato pod: mostra il consumo di risorse di ogni pod in ogni cluster.
L'immagine seguente mostra un esempio per la dashboard Kubernetes / Risorse di calcolo / Multi-Cluster.
Accedere all'istanza di monitoraggio del progetto
Devi ottenere l'autorizzazione per accedere alle dashboard di monitoraggio. Per ottenere le autorizzazioni necessarie per accedere e visualizzare le metriche nell'istanza di monitoraggio del progetto, chiedi all'amministratore IAM dell'organizzazione di concederti il ruolo Visualizzatore Grafana dell'organizzazione (organization-grafana-viewer
). L'amministratore IAM dell'organizzazione può concederti l'accesso creando un binding del ruolo:
kubectl --kubeconfig ADMIN_KUBECONFIG create rolebinding pa-grafana-viewer-binding -n platform-obs --user=USER_NAME --clusterrole=organization-grafana-viewer
Sostituisci quanto segue:
- ADMIN_KUBECONFIG: il percorso del file kubeconfig per il cluster di amministrazione.
- USER_NAME: il nome account dell'utente che richiede l'associazione del ruolo.
Per saperne di più sull'assegnazione dei ruoli, consulta le seguenti risorse:
- Per una descrizione del ruolo Visualizzatore Grafana dell'organizzazione, consulta Descrizioni dei ruoli predefiniti.
- Per istruzioni su come aggiungere e rimuovere ruoli dall'interfaccia utente, vedi Concedere l'accesso alle risorse.
Creare dashboard Grafana
Questa sezione descrive la procedura per creare e gestire i dashboard nell'istanza Grafana.
Segui questi passaggi per creare una dashboard in GDC:
- Completa i prerequisiti della sezione Prima di iniziare.
- Apri l'endpoint Grafana del tuo progetto.
- Crea un oggetto
ConfigMap
per la tua dashboard. - Crea una
Dashboard
risorsa personalizzata (CR).
Prima di iniziare
Prima di creare dashboard, devi ottenere l'accesso all'istanza di monitoraggio. Per saperne di più, vedi Accedere alle dashboard.
- Raccogli le metriche dal tuo progetto GDC prima di creare dashboard.
- Per accedere, creare dashboard e visualizzare le metriche, chiedi all'amministratore IAM del progetto di concederti il ruolo Visualizzatore Grafana progetto (
project-grafana-viewer
). Imposta il percorso del file kubeconfig come variabile di ambiente:
export KUBECONFIG=KUBECONFIG_FILE
Sostituisci KUBECONFIG_FILE con il percorso del file kubeconfig nel cluster di amministrazione in cui vuoi creare la dashboard.
Endpoint di monitoraggio
Apri il seguente URL per accedere all'endpoint 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.
Crea un oggetto ConfigMap
per la dashboard
Segui questi passaggi per creare un oggetto ConfigMap
contenente il modello JSON del prospetto:
- Vai all'endpoint del progetto.
- Nel menu di navigazione, fai clic sul pulsante Aggiungi.
- Nel menu a discesa visualizzato, fai clic su Dashboard. L'istanza crea una dashboard vuota.
Nella dashboard vuota, aggiungi tutti i riquadri che vuoi. Puoi personalizzare i dettagli e modificare i pannelli per fornire le query o apportare altri aggiornamenti.
Dalla barra dei menu, fai clic sul pulsante
Impostazioni della dashboard per aprire la pagina Impostazioni.Nel menu di navigazione, fai clic sull'opzione Modello JSON.
Copia il modello JSON della dashboard e incollalo in un file di testo normale per averlo a disposizione.
Sostituisci i campi
id
euid
di primo livello con il valorenull
nel modello JSON.Crea un oggetto
ConfigMap
dalla riga di comando. Nella sezionedata
dell'oggettoConfigMap
, incolla il modello JSON che hai copiato in precedenza all'interno di un file.json
:cat <<EOF | kubectl --kubeconfig ${KUBECONFIG} apply -f - apiVersion: v1 kind: ConfigMap metadata: namespace: PROJECT_NAMESPACE name: DASHBOARD_CONFIGMAP_NAME data: JSON_FILE_NAME.json: | { <JSON model of the dashboard> } EOF
Sostituisci quanto segue:
- PROJECT_NAMESPACE: lo spazio dei nomi del progetto.
- DASHBOARD_CONFIGMAP_NAME: il nome che vuoi assegnare all'oggetto
ConfigMap
. - JSON_FILE_NAME: il nome che vuoi dare al file in cui incolli il modello JSON della dashboard.
Per un esempio di come deve apparire questo oggetto, consulta l'esempio
ConfigMap
per una dashboard.Esegui il deployment dell'oggetto
ConfigMap
della dashboard nel cluster di amministrazione.
Esempio di ConfigMap
per una dashboard
Il seguente file YAML mostra un esempio dell'oggetto ConfigMap
di un dashboard per le metriche 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": "-- Grafana --",
"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
}
Creare una risorsa personalizzata Dashboard
Segui questi passaggi per creare una risorsa personalizzata (CR) Dashboard
e attivare la dashboard nel progetto specificato:
Crea un
Dashboard
CR dalla riga di comando e configura il file con il nome che hai assegnato all'oggettoConfigMap
della dashboard:cat <<EOF | kubectl --kubeconfig ${KUBECONFIG} apply -f - apiVersion: observability.gdc.goog/v1alpha1 kind: Dashboard metadata: namespace: PROJECT_NAMESPACE name: CUSTOM_RESOURCE_NAME spec: configMapRef: name: DASHBOARD_CONFIGMAP_NAME namespace: PROJECT_NAMESPACE key: JSON_FILE_NAME.json foldername: Default EOF
Sostituisci quanto segue:
- PROJECT_NAMESPACE: lo spazio dei nomi del progetto.
- CUSTOM_RESOURCE_NAME: il nome che vuoi assegnare alla risorsa personalizzata
Dashboard
. - DASHBOARD_CONFIGMAP_NAME: il nome che hai assegnato all'oggetto
ConfigMap
per la dashboard. - JSON_FILE_NAME: il nome che hai assegnato al file che contiene il modello JSON della dashboard nell'oggetto
ConfigMap
.
Esegui il deployment della CR
Dashboard
nello spazio dei nomi del progetto. Questa azione configura il servizio di osservabilità per importare la dashboard predefinita nell'istanza di monitoraggio del tuo progetto.
Le dashboard sono isolate dagli altri progetti, così come le metriche e i log. Di conseguenza, se vuoi utilizzare la stessa dashboard in più progetti, implementa una CR Dashboard
in ciascuno. Inoltre, i dati di logging e monitoraggio a cui accede la dashboard devono essere disponibili in tutti questi progetti.
Il processo che gestisce i dashboard rileva le modifiche apportate sia al Dashboard
CR che all'oggetto ConfigMap
. Se modifichi uno o l'altro, il programma riflette la modifica nell'istanza di monitoraggio. Per aggiornare o eliminare una dashboard, devi applicare le modifiche nel CR e implementarlo di nuovo. Non puoi salvare gli aggiornamenti eseguiti direttamente nell'interfaccia utente di monitoraggio.
Per creare una dashboard in una cartella o modificare le cartelle, modifica il valore foldername
nella sezione spec
del Dashboard
CR. In caso contrario, lascialo impostato su Default
. Il processo crea automaticamente le cartelle se non esistono.