Mengimpor dasbor Grafana ke Cloud Monitoring

Dengan mengimpor file dasbor JSON Grafana ke Cloud Monitoring, Anda dapat menggunakan kembali visualisasi Prometheus yang ada sebagai dasbor kustom. Anda dapat mengonversi dan mengupload dasbor Grafana menggunakan konsolGoogle Cloud atau alat pengimpor command line.

Anda hanya dapat mengimpor dasbor yang menggunakan ekspresi PromQL dan sumber data Prometheus. Jika dasbor menyertakan fitur Grafana yang tidak didukung Monitoring, proses impor akan menghilangkan fitur tersebut dan mencantumkan perbedaannya dalam hasil impor.

Untuk memigrasikan aturan pemberitahuan Prometheus, lihat Memigrasikan aturan pemberitahuan dan penerima dari Prometheus. Untuk mengelola dasbor setelah mengimpornya, lihat Membuat dan mengelola dasbor kustom.

Sebelum memulai

Baik menggunakan konsol Google Cloud atau alat pengimpor untuk mengimpor dasbor, Anda harus memiliki otorisasi yang memadai, dan Anda memerlukan dasbor untuk diimpor. Saat menggunakan alat pengimpor, ada prasyarat tambahan.

Otorisasi

Untuk mendapatkan izin yang diperlukan guna membuat dan mengubah dasbor kustom, minta administrator untuk memberi Anda peran IAM Monitoring Editor (roles/monitoring.editor) di project Anda. Untuk mengetahui informasi selengkapnya tentang cara memberikan peran, lihat Mengelola akses ke project, folder, dan organisasi.

Anda mungkin juga bisa mendapatkan izin yang diperlukan melalui peran khusus atau peran bawaan lainnya.

Untuk mengetahui informasi selengkapnya tentang peran, lihat Mengontrol akses dengan Identity and Access Management.

Mengumpulkan dasbor Grafana untuk diimpor

Untuk mengimpor dasbor Grafana, Anda harus menyimpannya secara lokal sebagai file dalam format JSON. Anda mungkin ingin membuat direktori khusus untuk file dasbor ini.

Mengimpor dasbor menggunakan konsol Google Cloud

Anda dapat mengimpor dasbor Grafana ke Cloud Monitoring dari halaman Dashboards Monitoring di konsol Google Cloud .

Mengimpor dasbor Grafana

Untuk mengimpor satu atau beberapa dasbor Grafana, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman  Dashboards:

    Buka Dashboards

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di toolbar konsol Google Cloud , pilih project Google Cloud Anda. Untuk konfigurasi App Hub, pilih project host atau project pengelolaan App Hub.

  3. Klik Import Dashboard.

  4. Klik Browse untuk membuka direktori tempat Anda menyimpan dasbor Grafana dalam format JSON, lalu pilih dasbor yang ingin diimpor.

    Setiap file JSON akan di-stage setelah dipilih; panel Staged Files menunjukkan apakah ada masalah dalam konversi.

    • Klik  View converted JSON untuk melihat hasil konversi.
    • Klik  Remove file untuk menghapus dasbor dari operasi impor.
  5. Klik  Impor. Panel Import results menunjukkan apakah setiap dasbor telah berhasil diimpor atau tidak.

  6. Untuk melihat dasbor yang berhasil diimpor, klik  View.

Melihat dasbor yang diimpor

Untuk melihat dasbor yang diimpor, lakukan tindakan berikut:

  1. Di konsol Google Cloud , buka halaman  Dashboards:

    Buka Dashboards

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di toolbar konsol Google Cloud , pilih project Google Cloud Anda. Untuk konfigurasi App Hub, pilih project host atau project pengelolaan App Hub.
  3. Temukan dasbor yang ingin Anda lihat dalam daftar. Untuk memfilter daftar dasbor, Anda dapat melakukan tindakan berikut:

    • Di menu Type, pilih Custom.
    • Di panel Labels, pilih label cloud-monitoring-dashboard-importer untuk hanya melihat dasbor Grafana yang diimpor menggunakan konsol Google Cloud .

    • Gunakan panel filter untuk menelusuri berdasarkan nama.

Menambahkan atau menghapus label yang ditentukan pengguna

Anda hanya dapat menambahkan label ke dasbor kustom, yang mencakup dasbor yang Anda impor. Jika dasbor menampilkan tombol Add labels to dashboard, Anda dapat mengonfigurasi label mana yang diterapkan ke dasbor.

Untuk menambahkan atau menghapus label yang ditentukan pengguna di dasbor, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman  Dashboards:

    Buka Dashboards

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Dalam daftar dasbor, temukan dasbor, lalu klik Add labels to dashboard.
  3. Lakukan salah satu hal berikut:
    • Untuk membuat label dan menambahkannya ke dasbor, di bagian Create a new label, masukkan nama label di kotak teks, lalu klik Create and apply.

    • Untuk mengonfigurasi label yang ditambahkan ke dasbor, klik Select labels to apply, pilih label, lalu klik Ok.
  4. Untuk menyimpan perubahan, klik Konfirmasi.

Mengimpor dasbor menggunakan alat importir

Anda dapat menggunakan alat pengimpor untuk mengonversi dasbor Grafana dan menguploadnya ke Cloud Monitoring sebagai satu operasi, atau Anda dapat melakukan langkah-langkah konversi dan upload secara terpisah. Anda dapat memilih pendekatan ini jika ingin mengedit dasbor yang dikonversi sebelum menguploadnya.

Prasyarat tambahan

Sebelum dapat menginstal dan menjalankan pengimpor dasbor, Anda harus melakukan hal berikut:

  1. Gunakan lingkungan yang mendukung skrip shell Bash.
  2. Memiliki atau menginstal Git.
  3. Miliki atau instal Node.js, versi 20.4.1 atau yang lebih baru.
  4. Memiliki atau menginstal Google Cloud CLI. Jika Anda sudah menginstal gcloud CLI, pastikan Anda memiliki versi terbaru dengan menjalankan perintah gcloud components update.

Mendapatkan pengimpor dasbor

Pengimpor dasbor disimpan di repositori GitHub monitoring-dashboard-samples. Untuk mendapatkan dan menyiapkan pengimpor, lakukan hal berikut:

  1. Buat clone repositori:

    git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
    
  2. Ubah ke direktori untuk pengimpor dasbor:

    cd monitoring-dashboard-samples/scripts/dashboard-importer
    
  3. Instal modul node dan bangun file:

    npm install && npm run build
    

Pengimpor dasbor menyertakan skrip berikut:

  • import.sh, yang mengonversi dasbor dan secara opsional mengupload dasbor yang dikonversi ke Cloud Monitoring.

  • upload.sh, yang mengupload dasbor yang dikonversi—atau dasbor Monitoring apa pun—ke Cloud Monitoring. Skrip import.sh memanggil skrip ini untuk melakukan upload.

Saat menggunakan skrip import.sh, Anda harus menentukan lokasi dasbor Grafana yang akan dikonversi. Pengimpor membuat direktori yang berisi dasbor yang dikonversi dan informasi lainnya. Bagian berikut menjelaskan direktori ini.

Dasbor Grafana yang akan dikonversi

Anda dapat menggunakan pengimpor dasbor untuk mengonversi satu atau beberapa dasbor sekaligus dengan menentukan jalur ke file dasbor.

  • Anda dapat menentukan jalur ke direktori yang berisi dasbor. Hanya file dalam direktori yang memiliki ekstensi .json yang akan diproses.

  • Anda dapat menentukan jalur ke satu file JSON. Nama file harus memiliki ekstensi .json.

Dasbor yang dikonversi dan informasi lainnya

Saat dijalankan pertama kali, pengimpor akan membuat subdirektori reports. Setiap kali menjalankan pengimpor, Anda akan mendapatkan direktori output baru di bawah direktori reports, yang diberi nama berdasarkan tanggal dan waktu. Nama direktori output memiliki struktur berikut:
reports/YYYY-M-D/HH:MM:SS

Untuk setiap pemanggilan pengimpor, direktori output berisi hal berikut:

  • Satu atau beberapa file dengan nama yang sama dengan dasbor Grafana asli, tetapi kini dalam format JSON Cloud Monitoring.
  • File report.json, yang mencatat informasi berikut untuk setiap dasbor yang dikonversi:
    • Nama dan lokasi file dasbor Grafana yang dikonversi.
    • Nama dan lokasi file dasbor Monitoring yang dikonversi.
    • Pemberitahuan tentang fitur apa pun di dasbor Grafana yang tidak memiliki fitur yang sesuai di Cloud Monitoring, sehingga tidak dapat disertakan dalam dasbor yang dikonversi.
    • Error yang terjadi dalam konversi.

Jika Anda telah mengupload dasbor, direktori laporan juga menyertakan file upload_HH:MM:SS.txt, yang menyertakan URL tempat dasbor diupload.

Mengimpor dasbor Grafana

Untuk mengonversi dasbor Grafana dan menguploadnya ke Cloud Monitoring, gunakan skrip import.sh:

./import.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID

Skrip ini melakukan hal berikut:

  1. Mengonversi dasbor di PATH_TO_DIRECTORY_OR_FILE dari format JSON yang digunakan oleh Grafana ke format JSON yang digunakan oleh Cloud Monitoring.
  2. Mengupload dasbor yang dikonversi ke project Google Cloud Anda PROJECT_ID menggunakan Google Cloud CLI.

    Jika Anda belum melakukan autentikasi ke gcloud CLI, jalankan perintah gcloud auth login sebelum menjalankan skrip import.sh.

Anda dapat mengimpor semua dasbor Grafana dalam direktori, atau menentukan satu dasbor dalam direktori untuk diimpor.

  • Untuk mengimpor semua dasbor di direktori GRAFANA_DASHBOARDS_DIR ke projectPROJECT_ID Google Cloud , tentukan direktori, relatif terhadap direktori pengimpor, dan project ID tujuan saat memanggil skrip:

    ./import.sh GRAFANA_DASHBOARDS_DIR PROJECT_ID
    
  • Untuk mengonversi hanya dasbor MY_GRAFANA_DASHBOARD.json di direktori GRAFANA_DASHBOARDS_DIR, sertakan nama file dasbor, yang relatif terhadap direktori pengimpor, saat memanggil skrip:

    ./import.sh GRAFANA_DASHBOARDS_DIR/MY_GRAFANA_DASHBOARD.json PROJECT_ID
    

Pengimpor dasbor menyertakan contoh dasbor Grafana sebagai examples/k8s_cluster_example.json. Perintah berikut mengimpor dasbor tersebut ke project yang ditentukan:

./import.sh examples/k8s_cluster_example.json PROJECT_ID

Saat dipanggil dengan PROJECT_ID my-project-test-1, outputnya akan terlihat seperti berikut:

Converting: Kubernetes Cluster Overview
✓ Kubernetes Cluster Overview converted successfully

Conversion of examples/k8s_cluster_example.json complete. Conversion Report located at: reports/2023-9-28/22:14:57/report.json

To upload these dashboard(s) manually, you can run:
./upload.sh reports/2023-9-28/22:14:57/ <PROJECT_ID>

Conversion Complete. Proceeding to uploading...

Now running: ./upload.sh reports/2023-9-28/22:14:57/ my-project-test-1

Uploading 1 dashboard(s) from a directory with the following args:
Directory: reports/2023-9-28/22:14:57/
Project: my-project-test-1

The following are your dashboards:
- k8s_cluster_example.json

Setelah skrip import.sh membuat direktori output dan mengonversi dasbor, tetapi sebelum mengupload dasbor yang dikonversi ke project, skrip akan meminta konfirmasi Anda. Masukkan y, dan skrip akan mengupload dasbor dan mencetak URL untuk dasbor baru:

Would you like to continue? (y/n) y

✓ k8s_cluster_example.json successfully uploaded:
https://console.cloud.google.com/monitoring/dashboards/builder/9c341ef8-cfef-4bdd-98d5-821571c520ef?project=my-project-test-1

Upload log created in reports/2023-9-28/22:14:57/upload_22:14:57.txt

Need to troubleshoot? Please visit:
https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples/tree/master/scripts/dashboard-importer/README.md#troubleshooting

Mengonversi dasbor Grafana tanpa mengupload

Jika Anda ingin memeriksa atau mengedit dasbor yang dikonversi sebelum menguploadnya, hapus nilai PROJECT_ID saat memanggil skrip import.sh:

./import.sh PATH_TO_DIRECTORY_OR_FILE

Pengimpor mengonversi dasbor seperti yang dijelaskan dalam Mengimpor dasbor Grafana, tetapi tidak mengupload dasbor yang dikonversi ke Cloud Monitoring.

Anda dapat menjalankan langkah upload nanti, dengan menggunakan skrip upload.sh secara manual.

Mengupload dasbor secara manual

Untuk mengupload dasbor secara manual dalam format JSON Cloud Monitoring, gunakan skrip upload.sh.

    ./upload.sh PATH_TO_DIRECTORY_OR_FILE PROJECT_ID

Skrip upload.sh menggunakan Google Cloud CLI untuk mengupload file JSON. Jika Anda belum melakukan autentikasi ke gcloud CLI, jalankan perintah gcloud auth login sebelum menjalankan skrip upload.sh.

  • Untuk mengupload semua dasbor di direktori reports/YYYY-M-D/HH:MM:SS, tentukan direktori, yang relatif terhadap direktori pengimpor, dan project ID tujuan saat memanggil skrip:

    ./upload.sh reports/YYYY-M-D/HH:MM:SS PROJECT_ID
    

    Saat mengupload semua dasbor dari direktori, skrip akan meminta Anda untuk melanjutkan atau keluar sebelum mengupload dasbor.

  • Untuk mengupload dasbor tertentu di direktori reports/YYYY-M-D/HH:MM:SS, tentukan direktori dan nama file, yang relatif terhadap direktori pengimpor, dan project ID tujuan saat memanggil skrip:

    ./upload.sh reports/YYYY-M-D/HH:MM:SS/MY_MONITORING_DASHBOARD.json PROJECT_ID
    

    Saat mengupload satu dasbor dari direktori, skrip akan berjalan tanpa meminta konfirmasi sebelum mengupload dasbor.

Misalnya, perintah berikut mengupload dasbor yang disimpan di subdirektori reports ke project Google Cloud my-project-test-1:

./upload.sh reports/2023-9-26/22:48:31/k8s_cluster_example.json my-project-test-1
Uploading json file: k8s_cluster_example.json to project: my-project-test-1...

✓ k8s_cluster_example.json successfully uploaded:
https://console.cloud.google.com/monitoring/dashboards/builder/25956d9a-93e2-410c-ada1-ec6872cb6665?project=my-project-test-1

Melihat dasbor yang diupload

Untuk melihat dasbor yang diupload, lakukan tindakan berikut:

  1. Di konsol Google Cloud , buka halaman  Dashboards:

    Buka Dashboards

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Temukan dasbor yang ingin Anda lihat dalam daftar. Untuk memfilter daftar dasbor, Anda dapat melakukan tindakan berikut:

    • Pilih kategori Custom untuk hanya melihat dasbor yang ditentukan pengguna.
    • Pilih label cloud-ops-grafana-importer untuk hanya melihat dasbor Grafana yang diimpor menggunakan alat pengimpor.
    • Gunakan panel filter untuk menelusuri berdasarkan nama.

Pemecahan masalah

Terkadang kami memublikasikan update kecil dan perbaikan bug pada alat ini. Sebelum mencoba pemecahan masalah lebih lanjut, coba perbaiki masalah terlebih dahulu dengan menggunakan git pull untuk mengambil versi terbaru repositori, lalu impor lagi.

Untuk mengetahui informasi tentang masalah pada dasbor yang dikonversi, seperti diagram yang tidak menampilkan data, lihat file README pengimpor.

Langkah berikutnya