Creare dashboard di visualizzazione

Questa pagina descrive la procedura per creare e gestire dashboard all'interno dell'istanza Grafana, utilizzata per le visualizzazioni di log e metriche del progetto Google Distributed Cloud (GDC) air-gap.

Una dashboard fornisce una rappresentazione visiva dinamica delle prestazioni del sistema. È costituito da uno o più pannelli personalizzabili, ciascuno configurato per interrogare e visualizzare metriche specifiche dei componenti GDC. Questi riquadri ti 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 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 accedere e visualizzare i dashboard Grafana, chiedi all'amministratore IAM dell'organizzazione o all'amministratore IAM del progetto di concederti uno dei ruoli predefiniti di visualizzatore Grafana.

Inoltre, per ottenere le autorizzazioni necessarie per gestire gli oggetti API richiesti per creare dashboard, chiedi all'amministratore IAM dell'organizzazione o all'amministratore IAM del progetto di concederti i ruoli ConfigMap e Dashboard associati.

A seconda del livello di accesso e delle autorizzazioni di cui hai bisogno, potresti ottenere i ruoli di creatore, editor o visualizzatore per queste risorse in un'organizzazione o in un progetto. Per maggiori informazioni, vedi Preparare le autorizzazioni IAM.

Dopo aver ottenuto i ruoli corrispondenti, segui questi passaggi prima di creare dashboard:

  1. Raccogli le metriche dai tuoi workload.
  2. Imposta il percorso del file kubeconfig come variabile di ambiente:

    export KUBECONFIG=KUBECONFIG_PATH
    

    Sostituisci KUBECONFIG_PATH con il percorso del file kubeconfig per il server API Management in cui vuoi creare la dashboard.

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

Creare una dashboard personalizzata

Segui questi passaggi per creare un dashboard Grafana e personalizzare le impostazioni:

  1. Apri l'endpoint Grafana per visualizzare l'interfaccia utente.
  2. Nel menu di navigazione, fai clic su Aggiungi.
  3. Nel menu a discesa, fai clic su Dashboard. Grafana crea una dashboard vuota.
  4. Nella dashboard vuota, aggiungi tutti i riquadri che vuoi.

  5. Nel menu Origine dati di ogni riquadro, seleziona l'origine dati che vuoi utilizzare 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 etichettate per 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_SOURCE può assumere uno dei seguenti valori:

      • Prometheus (prometheus o metrics) per visualizzare le metriche.
      • Audit log (auditloki) per visualizzare i log di controllo.
      • Log operativi (oploki) per visualizzare i log operativi.
    • 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 le zone in un'unica dashboard. Puoi utilizzare questa funzionalità per confrontare il comportamento tra, ad esempio, una singola metrica o query di log in più zone del tuo universo.

  6. Personalizza i dettagli e modifica i pannelli per fornire le query o apportare altri aggiornamenti.

  7. Dalla barra dei menu, fai clic su Impostazioni della dashboard per aprire la pagina Impostazioni.

  8. Dal menu di navigazione, seleziona Modello JSON.

  9. Copia il modello JSON del 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 del prospetto:

  1. Apri una finestra del terminale.
  2. Crea un oggetto ConfigMap. Nella sezione data dell'oggetto ConfigMap, 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'oggetto ConfigMap.
    • JSON_FILE_NAME: il nome che vuoi dare 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, vedi un ConfigMap esempio.

  3. Applica l'oggetto ConfigMap al server dell'API Management:

    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
      }

Creare una risorsa personalizzata Dashboard

Per creare una risorsa personalizzata Dashboard e importare la dashboard personalizzata nell'istanza Grafana del tuo progetto:

  1. Apri una finestra del terminale.
  2. Crea una risorsa personalizzata Dashboard e configura il file con il nome che hai assegnato all'oggetto ConfigMap:

    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: Default
    

    Sostituisci quanto segue:

    • PROJECT_NAMESPACE: lo spazio dei nomi del progetto.
    • DASHBOARD_NAME: il nome che vuoi assegnare alla risorsa personalizzata Dashboard.
    • CONFIGMAP_NAME: il nome che hai assegnato all'ConfigMap.
    • JSON_FILE_NAME: il nome che hai assegnato al file che contiene il modello JSON del dashboard nell'oggetto ConfigMap.
  3. Applica la risorsa personalizzata Dashboard al server API Management:

    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.