Halaman ini menunjukkan cara menyesuaikan dasbor pemantauan project Dataflow, dengan menambahkan grafik yang membuat kueri metrik Cloud Monitoring.
Dasbor pemantauan project memungkinkan Anda memantau kumpulan tugas dan melihat kondisi serta performanya secara keseluruhan. Dasbor berisi kumpulan diagram default yang berguna untuk sebagian besar beban kerja. Dengan menyesuaikan dasbor, Anda dapat menambahkan diagram yang spesifik untuk persyaratan bisnis Anda.
Contoh skenario
Untuk menunjukkan cara menyesuaikan dasbor, asumsikan bahwa organisasi ingin melacak perkiraan biaya 25 tugas teratas dalam project mereka.
Untuk skenario ini, asumsikan bahwa tugas memiliki karakteristik berikut:
- Semua tugas adalah tugas streaming.
- Tugas menggunakan model penagihan data yang diproses.
- Tugas menyimpan file ke Persistent Disk, baik Standard (HDD) maupun SSD.
- Tugas tidak menggunakan GPU.
Pilih metrik
Metrik berikut diperlukan untuk memperkirakan biaya tugas, dengan asumsi yang tercantum di bagian sebelumnya:
Resource | Metrik yang relevan |
---|---|
CPU (vCPU per jam) |
job/total_vcpu_time
|
Memori (GB per jam) |
job/total_memory_usage_time
|
Data yang diproses selama shuffle (GB) |
job/total_streaming_data_processed
|
Penggunaan Persistent Disk (GB per jam, Standar dan SSD) |
job/total_pd_usage_time
|
Untuk mengetahui informasi selengkapnya, lihat Harga Dataflow.
Untuk mempelajari resource mana yang tersedia di Monitoring, lihat Jenis resource yang dimonitor.
Menulis kueri PromQL
Untuk membuat kueri metrik dari Cloud Monitoring, gunakan Prometheus Query Language (PromQL). Bagian ini menunjukkan cara menulis kueri PromQL untuk skenario dengan menyusunnya dari klausa yang lebih kecil. Bagian ini tidak mengasumsikan pengetahuan sebelumnya tentang PromQL. Untuk mengetahui informasi selengkapnya, lihat PromQL di Cloud Monitoring.
Memetakan nama metrik ke string PromQL
Untuk menggunakan metrik Monitoring dalam kueri PromQL, Anda harus memetakan nama metrik ke string PromQL, sebagai berikut:
Nama metrik | String PromQL |
---|---|
job/total_vcpu_time |
dataflow_googleapis_com:job_total_vcpu_time |
job/total_memory_usage_time |
dataflow_googleapis_com:job_total_memory_usage_time |
job/total_streaming_data_processed |
dataflow_googleapis_com:job_total_streaming_data_processed
|
job/total_pd_usage_time |
dataflow_googleapis_com:job_total_pd_usage_time |
Untuk mengetahui informasi selengkapnya, lihat Memetakan metrik Cloud Monitoring ke PromQL.
Buat kueri
Untuk mendapatkan perkiraan biaya, hitung harga setiap komponen berdasarkan nilai terbaru setiap metrik. Metrik diambil sampelnya setiap 60 detik, jadi untuk mendapatkan nilai terbaru, gunakan fungsi windowing 1 menit dan ambil nilai maksimum dalam setiap jendela.
Untuk mendapatkan estimasi biaya CPU, pertama-tama konversikan
job/total_vcpu_time
dari detik ke jam. Kalikan dengan harga CPU per vCPU per jam.# ((vCPU time)[Bucket 1m] / Seconds per hour * vCPU Price) max_over_time(dataflow_googleapis_com:job_total_vcpu_time[1m]) / 3600 * CPU_PRICE
Formula ini memberikan estimasi biaya CPU untuk semua tugas dalam project. Untuk mendapatkan perkiraan biaya CPU per tugas, gunakan operator agregasi
sum
dan kelompokkan menurut ID tugas.sum( max_over_time(dataflow_googleapis_com:job_total_vcpu_time[1m]) / 3600 * CPU_PRICE ) by (job_id)
Untuk mendapatkan estimasi biaya memori, konversi
job/total_memory_usage_time
dari detik ke jam. Kalikan dengan harga memori per GB per jam dan kelompokkan menurut ID tugas.#((Memory time)[Bucket 1m] / Seconds per hour) * Memory Price sum( max_over_time(dataflow_googleapis_com:job_total_memory_usage_time[1m]) / 3600 * MEMORY_PRICE ) by (job_id)
Untuk mendapatkan estimasi biaya pengacakan, konversikan
job/total_streaming_data_processed
dari byte ke GB. Kalikan dengan harga data yang diproses selama shuffle per GB dan kelompokkan menurut ID tugas.# Shuffle Billing. Reported once every 60 seconds, measured in bytes. # Formula: (Shuffle Data)[Bucket 1m] / (Bytes in GB) * (Shuffle Price) sum( max_over_time( dataflow_googleapis_com:job_total_streaming_data_processed[1m] ) / 1000000000 * SHUFFLE_PRICE ) by (job_id)
Untuk mendapatkan perkiraan biaya penggunaan Persistent Disk, lakukan pengindeksan pada label
storage_type
untuk memisahkan menurut jenis disk (Standar atau SSD). Konversi setiap nilai dari GB-detik ke GB-jam dan kelompokkan menurut ID tugas.# Formula: ((Standard PD time)[Bucket 1m] / Seconds per hour) * Standard PD price sum( max_over_time( dataflow_googleapis_com:job_total_pd_usage_time{storage_type="HDD"}[1m] ) / 3600 * STANDARD_PD_PRICE ) by (job_id) # Formula: ((SSD PD time)[Bucket 1m] / Seconds per hour) * SSD PD price sum( max_over_time( dataflow_googleapis_com:job_total_pd_usage_time{storage_type="SSD"}[1m] ) / 3600 * SSD_PD_PRICE ) by (job_id)
Menjumlahkan nilai sebelumnya akan memberikan estimasi biaya per pekerjaan. Untuk mendapatkan 25 tugas teratas, gunakan filter K teratas:
topk(25, # Sum the individual values. )
Tulis kueri lengkap
Berikut adalah kueri lengkapnya:
topk(25,
sum(
max_over_time(
dataflow_googleapis_com:job_total_vcpu_time[1m]) / 3600 * CPU_PRICE
)
by (job_id) +
sum(
max_over_time(
dataflow_googleapis_com:job_total_memory_usage_time[1m]) / 3600 * MEMORY_PRICE
)
by (job_id) +
sum(
max_over_time(
dataflow_googleapis_com:job_total_streaming_data_processed[1m]) / 1000000000 * SHUFFLE_PRICE
)
by (job_id) +
sum(
max_over_time(
dataflow_googleapis_com:job_total_pd_usage_time{storage_type="HDD"}[1m]) / 3600 * STANDARD_PD_PRICE
)
by (job_id) +
sum(
max_over_time(
dataflow_googleapis_com:job_total_pd_usage_time{storage_type="SSD"}[1m]) / 3600 * SSD_PD_PRICE
)
by (job_id)
)
Ganti variabel berikut dengan nilai dari halaman harga Dataflow untuk wilayah Anda.
- CPU_PRICE: Harga CPU, per vCPU per jam
- MEMORY_PRICE: Harga memori, per GB per jam
- SHUFFLE_PRICE: Harga acak, per GB
- STANDARD_PD_PRICE: Harga Persistent Disk Standar, per GB per jam
- SSD_PD_PRICE: Harga Persistent Disk SSD, per GB per jam
Mengedit dasbor
Jika sebelumnya Anda belum membuat dasbor kustom untuk Dataflow di project ini, buat dasbor dengan cara berikut:
Di konsol Google Cloud , buka halaman Dataflow > Monitoring.
Di menu drop-down Sudah ditentukan, klik Sesuaikan dasbor.
Opsional: Masukkan nama untuk dasbor di kotak Nama tampilan kustom.
Jika sebelumnya Anda membuat dasbor kustom, lakukan langkah-langkah berikut untuk mengedit dasbor:
Di konsol Google Cloud , buka halaman Dataflow > Monitoring.
Di drop-down Predefined, pilih dasbor kustom.
Klik
Edit dasbor.
Menambahkan diagram metrik
Untuk menambahkan diagram metrik ke dasbor, lakukan langkah-langkah berikut:
- Klik Add widget.
- Di panel Tambahkan widget, pilih Metrik.
- Di kotak Judul widget, masukkan judul untuk diagram, seperti
Estimated cost (top 25)
. - Klik PROMQL
- Tempelkan kueri PromQL yang ditampilkan sebelumnya.
- Klik Run query.
- Klik Terapkan.
- Opsional: Tarik diagram untuk memosisikannya di dasbor.
Langkah berikutnya
- Tambahkan garis referensi agar Anda dapat melihat kapan metrik melampaui batas yang telah ditentukan.
- Pelajari PromQL.
- Pelajari dasbor lebih lanjut.