Membuat dasbor visualisasi

Dasbor Grafana memungkinkan Anda memvisualisasikan log dan metrik di seluruh Google Distributed Cloud (GDC) dengan air gap. Dasbor ini memberikan tampilan dinamis terkait kondisi dan performa sistem melalui panel yang dapat disesuaikan.

Dasbor memberikan representasi visual yang dinamis dari performa sistem Anda. Dasbor ini terdiri dari satu atau beberapa panel yang dapat disesuaikan, yang masing-masing dikonfigurasi untuk membuat kueri dan menampilkan metrik tertentu dari komponen GDC Anda. Panel ini memungkinkan Anda melakukan hal berikut:

  • Visualisasikan metrik melalui berbagai jenis grafik.
  • Tentukan nilai minimum pemberitahuan untuk memicu notifikasi berdasarkan nilai metrik.
  • Menyesuaikan properti tampilan seperti label, unit, dan rentang waktu.
  • Tetapkan resolusi waktu yang konsisten untuk perbandingan yang akurat.

Dengan menggunakan dasbor Grafana secara efektif, Anda dapat memperoleh insight berharga tentang performa dan kondisi lingkungan GDC Anda.

Sebelum memulai

Untuk mengelola resource kustom Dashboard dan ConfigMap, Anda harus memiliki izin yang diperlukan.

Meminta peran organisasi IAM

Hubungi Admin Org IAM Anda untuk meminta peran berikut agar dapat menggunakan dasbor di seluruh organisasi:

  • Dashboard PA Creator (dashboard-pa-creator): membuat dasbor kustom.
  • Dashboard PA Editor (dashboard-pa-editor): mengedit atau menghapus dasbor kustom.
  • Dashboard PA Viewer (dashboard-pa-viewer): melihat dasbor kustom.

Meminta peran project IAM

Hubungi Admin Project IAM Anda untuk meminta peran berikut agar dapat menggunakan dasbor dan konfigurasi dalam project:

  • Dashboard Editor (dashboard-editor): membuat, mengedit, dan menghapus dasbor kustom dalam namespace project.
  • Dashboard Viewer (dashboard-viewer): melihat dasbor kustom dalam namespace project.
  • ConfigMap Editor (observabilitypipeline-configmap-editor): membuat dan mengedit ConfigMap dalam namespace project.

Menyiapkan lingkungan Anda

Setelah mendapatkan peran yang sesuai, ikuti langkah-langkah berikut sebelum membuat dasbor:

  1. Mengumpulkan metrik dari workload Anda.
  2. Tetapkan jalur file kubeconfig sebagai variabel lingkungan:

    export KUBECONFIG=KUBECONFIG_PATH
    

    Ganti KUBECONFIG_PATH dengan jalur ke file kubeconfig untuk server API pengelolaan tempat Anda ingin membuat dasbor.

Mengidentifikasi endpoint Grafana Anda

URL berikut adalah endpoint instance Grafana project Anda:

https://GDC_URL/PROJECT_NAMESPACE/grafana

Ganti kode berikut:

  • GDC_URL: URL organisasi Anda di GDC.
  • PROJECT_NAMESPACE: namespace project Anda.

Misalnya, endpoint Grafana untuk project platform-obs di organisasi org-1 adalah https://org-1/platform-obs/grafana.

Membuat dasbor kustom

Ikuti langkah-langkah berikut untuk membuat dasbor Grafana dan menyesuaikan setelan Anda:

  1. Buka endpoint Grafana Anda untuk menampilkan antarmuka pengguna.
  2. Dari menu navigasi, klik Add.
  3. Dari menu drop-down, klik Dasbor. Grafana membuat dasbor kosong.
  4. Di dasbor kosong, tambahkan semua panel yang Anda inginkan.

  5. Di menu Data source di setiap panel, pilih sumber data yang Anda inginkan untuk panel tersebut, termasuk metrik (prometheus), log audit (auditloki), dan log operasional (oploki).

    Untuk universe multi-zona, Grafana memiliki sumber data berlabel zona yang dapat Anda gunakan untuk membuat visualisasi dasbor dengan metrik dan log dari beberapa zona. Sumber data ini diberi nama dengan format DATA_SOURCE-ZONE_ID, dengan:

    • DATA_SOURCE dapat menggunakan salah satu nilai berikut:

      • Prometheus (prometheus atau metrics) untuk menampilkan metrik.
      • Log audit (auditloki) untuk menampilkan log audit.
      • Log operasional (oploki) untuk menampilkan log operasional.
    • ZONE_ID adalah ID zona tempat Anda ingin menampilkan data di dasbor.

    Selain itu, untuk membuat dasbor visualisasi untuk resource lintas zona, nama sumber datanya adalah --Mixed--. Sumber data ini memungkinkan Anda menambahkan beberapa kueri per zona dan memiliki visualisasi data lintas zona dalam satu dasbor. Anda dapat menggunakan fitur ini untuk membuat perbandingan perilaku antara, misalnya, satu metrik atau kueri log di beberapa zona universe Anda.

  6. Sesuaikan detail dan edit panel untuk memberikan kueri atau melakukan pembaruan lainnya.

  7. Dari panel menu, klik Dashboard settings untuk membuka halaman Settings.

  8. Dari menu navigasi, pilih JSON Model.

  9. Salin model JSON dasbor dan tempelkan dalam file teks biasa untuk penggunaan di masa mendatang.

Membuat objek ConfigMap.

Ikuti langkah-langkah berikut untuk membuat objek ConfigMap yang berisi model JSON dasbor:

  1. Buka jendela terminal.
  2. Buat objek ConfigMap. Di bagian data pada objek ConfigMap, tempelkan model JSON yang sebelumnya Anda salin:

    apiVersion: v1
    kind: ConfigMap
    metadata:
      namespace: PROJECT_NAMESPACE
      name: CONFIGMAP_NAME
    data:
      JSON_FILE_NAME.json: |
        {
        JSON_MODEL
        }
    

    Ganti kode berikut:

    • PROJECT_NAMESPACE: namespace project Anda.
    • CONFIGMAP_NAME: nama yang ingin Anda berikan ke objek ConfigMap.
    • JSON_FILE_NAME: nama yang ingin Anda berikan ke file untuk model JSON dasbor.
    • JSON_MODEL: model JSON dari dasbor kustom Anda.

    Untuk contoh tampilan objek ini, lihat contoh ConfigMap.

  3. Terapkan objek ConfigMap ke server Management API:

    kubectl --kubeconfig ${KUBECONFIG} apply -f CONFIGMAP_NAME.yaml
    

Contoh ConfigMap

File YAML berikut menunjukkan contoh objek ConfigMap dasbor di namespace 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
      }

Membuat resource kustom Dashboard

Ikuti langkah-langkah berikut untuk membuat resource kustom Dashboard dan mengimpor dasbor kustom ke instance Grafana project Anda:

  1. Buka jendela terminal.
  2. Buat resource kustom Dashboard dan konfigurasikan file dengan nama yang Anda berikan ke objek 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
    

    Ganti kode berikut:

    • PROJECT_NAMESPACE: namespace project Anda.
    • DASHBOARD_NAME: nama yang ingin Anda berikan ke resource kustom Dashboard.
    • CONFIGMAP_NAME: nama yang Anda berikan ke objek ConfigMap.
    • JSON_FILE_NAME: nama yang Anda berikan ke file yang berisi model JSON dasbor di objek ConfigMap.
  3. Terapkan resource kustom Dashboard ke server Management API:

    kubectl --kubeconfig ${KUBECONFIG} apply -f DASHBOARD_NAME.yaml
    

Sistem memantau perubahan pada resource kustom Dashboard dan objek ConfigMap terkait. Untuk mengupdate atau menghapus dasbor, ubah resource ini. Setiap modifikasi akan memicu update ke Grafana. Anda tidak dapat menyimpan update apa pun yang dilakukan langsung di antarmuka pengguna Grafana.