Cloud Monitoring menyediakan pengimpor yang dapat Anda gunakan untuk mengimpor file dasbor dalam format JSON Grafana ke Cloud Monitoring. Dokumen ini menjelaskan cara menggunakan pengimpor untuk mengonversi dasbor Grafana dan menguploadnya secara opsional ke project Google Cloud Anda.
Anda dapat menggunakan pengimpor untuk mengonversi dasbor Grafana dan menguploadnya ke Cloud Monitoring sebagai operasi tunggal, atau Anda dapat melakukan langkah konversi dan upload secara terpisah. Anda dapat memilih pendekatan ini jika ingin mengedit dasbor yang dikonversi sebelum menguploadnya.
Pengimpor mengonversi file dasbor dalam format JSON yang digunakan oleh Grafana menjadi format JSON yang digunakan oleh Cloud Monitoring. Dasbor yang dikonversi mungkin berbeda dari dasbor Grafana asli. Jika dasbor Grafana menggunakan fitur yang tidak tersedia di dasbor Cloud Monitoring, aspek dasbor Grafana tersebut tidak akan dikonversi. Perbedaan ini tercantum dalam output konversi. Pengimpor hanya dirancang untuk menangani dasbor yang menggunakan ekspresi PromQL dan sumber data Prometheus. Dasbor yang menggunakan bentuk kueri atau sumber data lain mungkin tidak berhasil diimpor.
Untuk mengetahui informasi tentang cara mengimpor pemberitahuan Prometheus ke Cloud Monitoring, lihat Memigrasikan aturan dan penerima pemberitahuan dari Prometheus.
Sebelum memulai
Sebelum dapat menginstal dan menjalankan pengimpor dasbor, Anda harus melakukan hal berikut:
- Gunakan lingkungan yang mendukung skrip shell Bash.
- Miliki atau instal Git.
- Memiliki atau instal Node.js, versi 20.4.1 atau yang lebih baru.
- Memiliki atau menginstal Google Cloud CLI. Jika 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 pengimpor, lakukan hal berikut:
Meng-cloning repository
git clone https://github.com/GoogleCloudPlatform/monitoring-dashboard-samples
Ubah ke direktori untuk pengimpor dasbor:
cd monitoring-dashboard-samples/scripts/dashboard-importer
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, ke Cloud Monitoring. Skripimport.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 untuk 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 diproses.Anda dapat menentukan jalur ke satu file JSON. Nama file harus memiliki ekstensi
.json
.
Dasbor yang dikonversi dan informasi lainnya
Saat menjalankan pertama kalinya, 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:
- File dengan nama yang sama seperti 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 terkait di Cloud Monitoring sehingga tidak dapat disertakan dalam dasbor yang dikonversi.
- Error apa pun yang terjadi dalam konversi.
Jika Anda telah mengupload dasbor, direktori laporan juga menyertakan file upload_HH:MM:SS.txt
, yang menyertakan URL tujuan upload dasbor.
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:
- Mengonversi dasbor di
PATH_TO_DIRECTORY_OR_FILE
dari format JSON yang digunakan oleh Grafana ke dalam format JSON yang digunakan oleh Cloud Monitoring. Mengupload dasbor yang dikonversi ke project Google Cloud PROJECT_ID menggunakan Google Cloud CLI.
Jika Anda belum melakukan autentikasi ke gcloud CLI, jalankan perintah
gcloud auth login
sebelum menjalankan skripimport.sh
.
Anda dapat mengimpor semua dasbor Grafana di direktori, atau Anda dapat menentukan satu dasbor di direktori yang akan diimpor.
Untuk mengimpor semua dasbor di direktori
GRAFANA_DASHBOARDS_DIR
ke project Google Cloud PROJECT_ID, tentukan direktorinya, secara relatif terhadap direktori pengimpor, dan project ID tujuan saat memanggil skrip:./import.sh GRAFANA_DASHBOARDS_DIR PROJECT_ID
Untuk mengonversi dasbor
MY_GRAFANA_DASHBOARD.json
di direktoriGRAFANA_DASHBOARDS_DIR
saja, sertakan nama file dasbor, yang sesuai dengan 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 dalam 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 membuat direktori output dan mengonversi dasbor, skrip import.sh
akan meminta konfirmasi Anda sebelum mengupload dasbor yang dikonversi ke project Anda. Masukkan y
, lalu 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
Konversi 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 dasbor Impor 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 direktorinya, secara relatif terhadap direktori pengimpor, dan project ID tujuan saat memanggil skrip:./upload.sh
reports/YYYY-M-D/HH:MM:SS
PROJECT_IDSaat 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, secara 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_IDSaat mengupload satu dasbor dari direktori, skrip akan berjalan tanpa meminta Anda 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
Pemecahan masalah
Kami sesekali memublikasikan update kecil dan perbaikan bug pada alat ini. Sebelum
mencoba pemecahan masalah lebih lanjut, pertama-tama coba perbaiki masalah dengan
menggunakan git pull
untuk mengambil versi terbaru
repositori, lalu impor lagi.
Untuk informasi tentang masalah pada dasbor yang dikonversi,
seperti diagram yang tidak menampilkan data, lihat file
README
pengimpor.
Langkah selanjutnya
- Membuat dan mengelola dasbor kustom
- Lihat kode sumber dan file
README
untuk pengimpor dasbor - Memigrasikan aturan dan penerima pemberitahuan dari Prometheus
- Melihat dan mengelola penggunaan metrik