Pengatur dan Pemvalidasi Permintaan PromQL
Memandu
Format dan Validasi Permintaan PromQL Prometheus secara langsung
Pengaturan PromQL Query Formatter & Validator membersihkan query yang Anda tulis terhadap Prometheus dan database waktu-seri lainnya. Tempelkan ekspresi metrik dan alat ini akan menormalisasi spasi di sekitar operator biner, mengatur agregasi, panggilan fungsi, dan pencocokan label ke baris terpisah saat query menjadi panjang, serta menunjukkan kesalahan tanda kurung yang tidak seimbang, kurung yang tidak cocok, durasi yang hilang, dan masalah sintaks lainnya sebelum Anda menempelkan query ke dashboard atau aturan peringatan. Semua proses berjalan secara lokal di browser Anda, sehingga query-query yang sering mengungkapkan nama metrik dan label internal tidak pernah meninggalkan perangkat Anda.
Cara Penggunaan
- Tempel query PromQL Anda ke area input, atau unggah
.promqlatau file teks menggunakan picker file. - Pilih lebar indentasi — 2 spasi, 4 spasi, atau karakter tab literal — untuk ekspansi multi-baris.
- Atur panjang maksimum baris. Panggilan fungsi, set pencocokan label, dan operator boolean berat (
and,or,unless) akan dipindahkan ke baris terpisah jika panjang baris yang telah diformat melebihi lebar ini. - Beralih Selalu pecah jika Anda ingin setiap agregasi, daftar argumen panggilan fungsi, dan set pencocokan label berada di baris terpisah terlepas dari panjangnya.
- Beralih Wrap sebagai aturan pencatatan dan berikan nama metrik (seperti
job:http_errors:rate5m) untuk menghasilkan query yang telah diformat sebagai aturan pencatatan siap dipasang dalam format YAML Prometheus. - Salin hasil format atau unduh sebagai
.promqlfile.
Fitur
- Pengaturan jarak yang sadar terhadap PromQL – Menambahkan satu spasi di sekitar operator aritmatika, perbandingan, dan boolean sambil mempertahankan pencocokan label ketat di dalam
{ }kurung. - Pengaturan tata letak multi-baris cerdas – Memecah query panjang di
and/or/unlesspertama, lalu di batas argumen fungsi, lalu di setiap pencocokan label sehingga hasilnya tetap mudah dipantau. - Dukungan agregasi dan pencocokan vektor – Mengenali
sum,avg,topk,quantiledan teman-temannya bersama denganby,without,on,ignoring,group_leftdangroup_rightmodifikasi. - Pemecah durasi dan subquery – Membaca rentang kompleks seperti
1h30mdan subquery seperti[5m:1m]sebagai unit tunggal sehingga tidak pernah dibagi di tengah token. - Validasi sintaks – Mendeteksi tanda kurung, kurung, dan kurung yang tidak seimbang, pembuka dan penutup yang tidak cocok, tubuh pencocokan label yang tidak valid, rentang indeks yang tidak valid, dan string yang tidak ditutup, masing-masing dilaporkan dengan nomor baris.
- Ekspor aturan pencatatan – Secara opsional memformat query yang telah diformat sebagai blok aturan pencatatan Prometheus dalam format YAML, menggunakan blok skalar literal YAML untuk ekspresi multi-baris sehingga indentasi tetap dipertahankan.
Kasus Penggunaan Umum
- Membersihkan query PromQL sementara yang dikopi dari editor panel Grafana sebelum dimasukkan ke dashboard atau aturan peringatan.
- Mempersiapkan ekspresi PromQL untuk review kode — query error rate atau saturasi panjang menjadi perbedaan yang mudah dibaca setelah setiap cabang berada di baris terpisah.
- Mendeteksi kesalahan sintaks halus (durasi yang hilang, koma yang tidak sesuai, kurung yang tidak tertutup
{setelah mengedit pencocokan label) tanpa memerlukan perjalanan melalui instance Prometheus yang hidup. - Mengonversi query mentah menjadi format YAML aturan pencatatan Prometheus untuk pipeline pra-agregasi.
- Mengajarkan PromQL — output yang telah dinormalisasi membuat urutan operator dan pengelompokan agregasi langsung jelas bagi pembaca yang belajar bahasa ini.
Tanya Jawab Umum
-
Apa itu PromQL?
PromQL (Bahasa Pencarian Prometheus) adalah bahasa pencarian sisi baca yang digunakan oleh sistem pemantauan Prometheus, serta backend yang kompatibel seperti Thanos, Mimir, Cortex, VictoriaMetrics, dan Amazon Managed Service for Prometheus. Bahasa ini dirancang khusus untuk data waktu-seri: setiap ekspresi menghasilkan vektor instan, vektor rentang, skalar, atau string, dan operator memahami pencocokan label, pengelompokan, dan makna perubahan waktu yang tidak dimiliki oleh SQL umum.
-
Apa perbedaan antara vektor instan dan vektor rentang?
Vektor instan adalah himpunan sampel waktu-seri pada satu titik waktu — misalnya, nilai terbaru dari setiap seri yang sesuai dengan http_requests_total. Vektor rentang adalah himpunan sampel selama jangkauan waktu tertentu, ditulis dengan durasi dalam kurung seperti [5m]. Vektor rentang tidak dapat ditampilkan secara langsung; mereka adalah input untuk fungsi seperti rate(), increase(), dan avg_over_time() yang mengurangi jangkauan menjadi vektor instan.
-
Bagaimana perbedaan antara `by` dan `without` dalam agregasi?
Kedua opsi ini mengubah perilaku pengelompokan operator agregasi seperti sum dan avg. Klause `by` mempertahankan hanya label yang disebutkan dalam keluaran, sehingga sum by (job) (rate(...)) menggabungkan setiap label kecuali job. Klause `without` mempertahankan setiap label kecuali yang disebutkan, sehingga sum without (instance) (rate(...)) mempertahankan dimensi lainnya. Pengelompokan yang setara dapat ditulis dalam dua cara; tim biasanya memilih satu untuk konsistensi.
-
Apa itu aturan pencatatan dan mengapa perlu memperhitungkan satu sebelumnya?
Aturan pencatatan adalah ekspresi PromQL bernama yang dievaluasi oleh Prometheus secara berkala dan ditulis kembali sebagai metrik baru. Memperhitungkan ekspresi kompleks — misalnya, tingkat kesalahan 5 menit per layanan — memungkinkan dashboard dan peringatan mengakses hasil langsung daripada menghitung ulang seluruh ekspresi setiap kali diperbarui. Konvensi adalah memberi nama aturan pencatatan dengan pola level:metric:operation seperti job:http_requests_errors:rate5m sehingga makna dari nama metrik menjadi jelas secara langsung.
-
Apa yang dilakukan oleh `on`, `ignoring`, `group_left`, dan `group_right`?
Kata kunci-kata ini mengontrol cara PromQL mencocokkan seri di kedua sisi operasi biner. Secara default, Prometheus memerlukan himpunan label yang sama di kedua sisi; `on(label, ...)` dan `ignoring(label, ...)` memungkinkan Anda membatasi atau melemahkan kunci penggabungan. `group_left` dan `group_right` mengubah pencocokan menjadi penggabungan satu ke banyak atau banyak ke satu, menyalin label dari sisi dengan kekayaan tinggi ke hasil. Mereka setara dengan petunjuk join dalam SQL untuk data waktu-seri.
Instal Ekstensi Kami
Tambahkan alat IO ke browser favorit Anda untuk akses instan dan pencarian lebih cepat
恵 Papan Skor Telah Tiba!
Papan Skor adalah cara yang menyenangkan untuk melacak permainan Anda, semua data disimpan di browser Anda. Lebih banyak fitur akan segera hadir!
Alat Wajib Coba
Lihat semua Pendatang baru
Lihat semuaMemperbarui: Kita alat terbaru was added on Jun 22, 2026
