Membuat dasbor visual

Halaman ini menjelaskan proses pembuatan dan pengelolaan dasbor di instance Grafana instance pemantauan sistem. Gunakan dasbor untuk melakukan operasi pemantauan di project Anda, seperti pemantauan jaringan dan pemantauan server.

Setelah platform Observability mengumpulkan metrik yang dihasilkan oleh beban kerja yang di-deploy di project GDC Anda, konfigurasi akan menyimpan label metrik terkait dan menggabungkan file dari semua sumber data. Kemudian, Anda dapat membuat dasbor yang disesuaikan untuk membuat kueri dan memvisualisasikan metrik tertentu dari antarmuka pengguna (UI) instance pemantauan.

Dasbor adalah susunan visual dinamis dari satu atau beberapa panel yang dapat disesuaikan yang berinteraksi dengan metrik Prometheus yang dikonfigurasi di sumber data. Dengan membuat kueri, Anda dapat menggunakan setiap panel ini untuk memvisualisasikan dan mengekspos metrik tertentu dari komponen GDC Anda.

Platform Observability mengekspos API yang memungkinkan Anda mengonfigurasi penyesuaian untuk pengaturan visual metrik Anda. Misalnya, tetapkan nilai minimum yang dapat diterima, tampilkan sinyal yang tepat, beri label pada grafik, dan pilih resolusi waktu yang konsisten.

Dasbor yang tersedia

Dengan asumsi lingkungan Anda sudah siap dan berjalan, Anda akan langsung melihat beberapa dasbor metrik di halaman beranda instance pemantauan. Misalnya, Anda dapat mengamati status peralihan dan kondisi komponen sistem.

Gunakan dasbor switch dan cluster untuk memantau metrik cluster dan node. Akses dasbor logging dan pemantauan untuk mengamati cluster admin.

Halaman beranda dengan daftar dasbor yang tersedia dan dasbor yang baru saja dilihat

Metrik Administrator Platform (PA) yang paling relevan adalah sebagai berikut:

  • Kubernetes / Server API: Menampilkan kondisi server API per cluster di organisasi.
  • Kubernetes / Compute Resources / Multi-Cluster: Menampilkan pemanfaatan resource di seluruh organisasi.
  • Kubernetes / Compute Resources / Cluster: Menampilkan pemanfaatan resource per cluster.
  • Kubernetes / Volume Persisten: Menampilkan pemanfaatan volume persisten Kubernetes di setiap cluster.
  • Status Node: Menampilkan penggunaan resource di setiap node pada setiap cluster.
  • Status Pod: Menampilkan konsumsi resource setiap pod di setiap cluster.

Gambar berikut menunjukkan contoh untuk dasbor Kubernetes / Compute Resources / Multi-Cluster.

Grafik garis yang menunjukkan penggunaan CPU dan daftar cluster yang menunjukkan kuota CPU

Mengakses instance pemantauan project Anda

Anda harus mendapatkan otorisasi untuk mengakses dasbor pemantauan. Untuk mendapatkan izin yang diperlukan untuk login dan melihat metrik di instance pemantauan project Anda, minta Admin IAM Organisasi Anda untuk memberi Anda peran Organization Grafana Viewer (organization-grafana-viewer). Admin IAM Organisasi dapat memberi Anda akses dengan membuat binding peran:

kubectl --kubeconfig ADMIN_KUBECONFIG create rolebinding pa-grafana-viewer-binding -n platform-obs --user=USER_NAME --clusterrole=organization-grafana-viewer

Ganti kode berikut:

  • ADMIN_KUBECONFIG: jalur file kubeconfig untuk cluster admin.
  • USER_NAME: nama akun pengguna yang memerlukan binding peran.

Lihat referensi berikut untuk mengetahui informasi selengkapnya tentang penetapan peran:

Membuat dasbor Grafana

Bagian ini menjelaskan proses pembuatan dan pengelolaan dasbor di instance Grafana Anda.

Ikuti langkah-langkah berikut untuk membuat dasbor di GDC:

  1. Selesaikan prasyarat dari bagian Sebelum Anda memulai.
  2. Buka endpoint Grafana project Anda.
  3. Buat objek ConfigMap untuk dasbor Anda.
  4. Buat Dashboard resource kustom (CR).

Sebelum memulai

Sebelum membuat dasbor, Anda harus mendapatkan akses ke instance pemantauan. Untuk mengetahui informasi selengkapnya, lihat Mendapatkan akses ke dasbor.

  1. Kumpulkan metrik dari project GDC Anda sebelum membuat dasbor.
  2. Untuk login, membuat dasbor, dan memvisualisasikan metrik, minta Admin IAM Project Anda untuk memberi Anda peran Project Grafana Viewer (project-grafana-viewer).
  3. Tetapkan jalur file kubeconfig sebagai variabel lingkungan:

    export KUBECONFIG=KUBECONFIG_FILE
    

    Ganti KUBECONFIG_FILE dengan jalur file kubeconfig di cluster admin tempat Anda ingin membuat dasbor.

Endpoint pemantauan

Buka URL berikut untuk mengakses endpoint project Anda:

https://GDC_URL/PROJECT_NAMESPACE/grafana

Ganti kode berikut:

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

Membuat objek ConfigMap untuk dasbor

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

  1. Buka endpoint project Anda.
  2. Dari menu navigasi, klik tombol Tambahkan.
  3. Dari menu drop-down yang ditampilkan, klik Dasbor. Instance membuat dasbor kosong.
  4. Di dasbor kosong, tambahkan semua panel yang Anda inginkan. Anda dapat menyesuaikan detail dan mengedit panel untuk menyediakan kueri atau melakukan pembaruan lainnya.

  5. Dari menu bar, klik tombol Setelan dasbor untuk membuka halaman Setelan.

  6. Dari menu navigasi, klik opsi Model JSON.

  7. Salin model JSON dasbor dan tempelkan ke file teks biasa agar tetap tersedia untuk Anda.

  8. Ganti kolom id dan uid tingkat teratas dengan nilai null dalam model JSON.

  9. Buat objek ConfigMap dari command line. Di bagian data objek ConfigMap, tempelkan model JSON yang sebelumnya Anda salin di dalam 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
    

    Ganti kode berikut:

    • PROJECT_NAMESPACE: Namespace project Anda.
    • DASHBOARD_CONFIGMAP_NAME: Nama yang ingin Anda berikan ke objek ConfigMap.
    • JSON_FILE_NAME: Nama yang ingin Anda berikan ke file tempat Anda menempelkan model JSON dasbor.

    Untuk contoh tampilan objek ini, lihat contoh ConfigMap untuk dasbor.

  10. Deploy objek ConfigMap dasbor Anda ke cluster admin.

Contoh ConfigMap untuk dasbor

File YAML berikut menunjukkan contoh objek ConfigMap dasbor untuk metrik 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": "-- 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
      }

Membuat resource kustom Dashboard

Ikuti langkah-langkah berikut untuk membuat Dashboardresource kustom (CR) dan mengaktifkan dasbor di project yang diberikan:

  1. Buat CR Dashboard dari command line dan konfigurasi file dengan nama yang Anda berikan ke objek ConfigMap dasbor Anda:

    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
    

    Ganti kode berikut:

    • PROJECT_NAMESPACE: Namespace project Anda.
    • CUSTOM_RESOURCE_NAME: Nama yang ingin Anda berikan ke resource kustom Dashboard.
    • DASHBOARD_CONFIGMAP_NAME: Nama yang Anda berikan ke objek ConfigMap untuk dasbor.
    • JSON_FILE_NAME: Nama yang Anda berikan ke file yang berisi model JSON dasbor dalam objek ConfigMap.
  2. Deploy CR Dashboard ke namespace project. Tindakan ini mengonfigurasi layanan Observability untuk mengimpor dasbor yang telah ditentukan sebelumnya ke instance pemantauan project Anda.

Dasbor dipisahkan dari project lain, begitu juga metrik dan log. Oleh karena itu, jika Anda ingin menggunakan dasbor yang sama di beberapa project, deploy CR Dashboard di setiap project. Selain itu, data logging dan pemantauan yang diakses dasbor harus tersedia di semua project tersebut.

Proses yang menangani dasbor mendeteksi perubahan pada CR Dashboard dan objek ConfigMap. Jika Anda mengubah salah satunya, program akan mencerminkan perubahan tersebut di instance pemantauan. Untuk memperbarui atau menghapus dasbor, Anda harus menerapkan perubahan di CR dan men-deploy-nya lagi. Anda tidak dapat menyimpan pembaruan yang dilakukan langsung di UI pemantauan.

Untuk membuat dasbor dalam folder atau mengubah folder, ubah nilai foldername di bagian spec CR Dashboard. Jika tidak, biarkan sebagai Default. Proses ini akan otomatis membuat folder jika belum ada.