Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kueri PromQL
Saat Anda memasukkan OpenTelemetry metrik ke dalam CloudWatch viaTitik akhir metrik, model data OTLP hierarkis diratakan menjadi label. PromQL-compatible Bagian ini menjelaskan struktur label, sintaks promQL untuk menanyakan label ini, dan dukungan di PromQL. UTF-8
catatan
PromQL di Prometheus 3 mendukung karakter lengkap dalam nama metrik dan nama label. UTF-8 Ini sangat penting untuk metrik OTLP, karena konvensi OpenTelemetry semantik menggunakan titik dalam nama atribut seperti. service.name Sebelumnya, titik-titik ini diganti dengan garis bawah selama penerjemahan, menyebabkan perbedaan antara apa yang didefinisikan dalam konvensi OTel dan apa yang dapat ditanyakan di Prometheus.
Saat menggunakan PromQL in CloudWatch, konvensi @ awalan membedakan label OTLP-scoped dari label Prometheus standar. Bidang dalam setiap lingkup menggunakan @ awalan ganda (misalnya,@resource.@schema_url), sementara atribut menggunakan awalan @ lingkup tunggal, misalnya,. @resource.service.name Atribut titik data juga mendukung akses kosong (tidak diawali) untuk kompatibilitas mundur dengan kueri promQL standar, misalnya, dan setara. {"http.server.active_requests"} {"@datapoint.@name"="http.server.active_requests"}
Ekspresi promQL terlampir dalam kurawal kurawal, menentukan nama metrik dan satu set opsional pencocokan label. Contoh berikut memilih semua deret waktu untuk http.server.active_requests metrik:
{"http.server.active_requests"}
Contoh berikut memilih semua deret waktu untuk metrik di http.server.active_requests mana atribut OpenTelemetry sumber daya service.name samamyservice:
{"http.server.active_requests", "@resource.service.name"="myservice"}
Anda dapat menggabungkan beberapa pencocokan label dalam satu kueri. Contoh berikut memilih semua deret waktu untuk http.server.active_requests metrik di mana atribut OpenTelemetry resource service.name sama myservice di semua wilayah AS:
{"http.server.active_requests", "@resource.service.name"="myservice", "@aws.region"=~"us-.*"}
Contoh berikut menunjukkan kueri rentang. Ini menghitung nilai rata-rata semua titik data dalam rentang waktu tertentu untuk setiap deret waktu:
avg_over_time( {"http.server.active_requests", "@resource.service.name"="myservice"}[5m] )
Tabel berikut merangkum konvensi awalan untuk setiap lingkup OTLP:
| Ruang lingkup OTLP | Awalan bidang | Atribut awalan | Contoh |
|---|---|---|---|
Sumber daya |
|
|
|
Lingkup Instrumentasi |
|
|
|
Titik data |
|
|
|
AWS-dipesan |
N/A |
|
|
Pertanyaan terjual AWS metrik dengan PromQL
Untuk dapat menanyakan AWS metrik yang dijual di PromQL, Anda harus terlebih dahulu mengaktifkan pengayaan OTel dari metrik yang dijual. Lihat:AWS metrik yang dijual dalam format OpenTelemetry.
Setelah Anda mengaktifkan pengayaan OTel, AWS metrik vended menjadi dapat ditanyakan melalui PromQL dengan label tambahan. Nama metrik sama dengan nama CloudWatch metrik asli, dan CloudWatch dimensi asli tersedia sebagai atribut titik data. Label berikut tersedia (contoh di bawah ini adalah untuk instance EC2):
| Label PromQL | Deskripsi | Contoh |
|---|---|---|
|
CloudWatch Dimensi asli, sebagai atribut titik data |
|
|
ARN penuh sumber daya |
|
|
Penyedia cloud |
|
|
AWS Wilayah tempat metrik ini berasal |
|
|
AWS ID akun tempat metrik ini berasal |
|
|
Nama lingkup instrumentasi mengidentifikasi layanan sumber |
|
|
Pengidentifikasi layanan sumber |
|
|
Pengidentifikasi solusi pengayaan |
|
|
AWS tag sumber daya |
|
|
AWS akun tempat metrik ini dicerna (label sistem) |
|
|
AWS Wilayah tempat metrik ini dicerna (label sistem) |
|
Contoh berikut memilih Invocations untuk fungsi Lambda tertentu:
{Invocations, FunctionName="my-api-handler"}
Contoh berikut memilih Errors Lambda untuk semua fungsi yang ditandai dengan tim tertentu:
{Errors, "@instrumentation.@name"="cloudwatch.aws/lambda", "@aws.tag.Team"="backend"}
Contoh berikut menghitung total Invocations Lambda yang dikelompokkan berdasarkan tim:
sum by ("@aws.tag.Team")( {Invocations, "@instrumentation.@name"="cloudwatch.aws/lambda"} )
Contoh berikut memilih semua deret waktu untuk metrik EC2CPUUtilization. Penggunaan "@instrumentation.@name"="cloudwatch.aws/ec2" is untuk secara eksklusif mencocokkan CPUUutilization dari EC2 dan bukan dari AWS layanan lain seperti Amazon Relational Database Service:
histogram_avg({CPUUtilization, "@instrumentation.@name"="cloudwatch.aws/ec2"})
Meminta dari Grafana
Anda dapat melakukan kueri CloudWatch data PromQL dari Grafana dengan menambahkan plugin sumber data Amazon Managed Service for Prometheus dan mengarahkannya ke titik akhir pemantauan. CloudWatch Penandatanganan SiGv4 dibangun ke plugin dan selalu diaktifkan, jadi tidak ada sakelar untuk dihidupkan. Plugin ini diterbitkan di grafana. com/grafana/plugins/grafana-amazonprometheus-datasource/>=11.6.11 <12 || >=12.0.10 <12.1 || >=12.1.7
<12.2 || >=12.2.5
Prasyarat IAM — prinsipal IAM yang kredensialnya digunakan Grafana harus memiliki cloudwatch:GetMetricData keduanya (diperlukan untuk kueri instan dan jangkauan) dan (diperlukan untuk penemuan seri dan label). cloudwatch:ListMetrics Lihat perinciannya di Izin IAM untuk PromQL.
Untuk mengkonfigurasi Grafana, selesaikan langkah-langkah berikut.
-
Instal plugin sumber data Amazon Managed Service untuk Prometheus dari katalog plugin Grafana.
-
Di Grafana, buka Koneksi, Sumber data, pilih Tambahkan sumber data, dan pilih Amazon Managed Service for Prometheus.
-
Atur URL sumber data ke
https://monitoring..AWS Region.amazonaws.com -
Atur Wilayah ke AWS Wilayah Anda. Pilih penyedia Otentikasi yang sesuai dengan lingkungan Anda (rantai kredensi default, kunci akses, atau peran IAM ruang kerja).
-
Pilih Simpan & uji.
Menanyakan dari Grafana yang Dikelola Amazon
Anda dapat melakukan kueri data CloudWatch PromQL dari ruang kerja Grafana Terkelola Amazon dengan menambahkan Layanan Terkelola Amazon untuk sumber data Prometheus yang mengarah ke titik akhir pemantauan. CloudWatch Plugin sumber data ini menandatangani permintaan dengan SigV4 menggunakan peran IAM ruang kerja secara otomatis; SigV4 selalu diaktifkan, tanpa sakelar untuk mengonfigurasi. Plugin ini tersedia di Amazon Managed Grafana versi 12 dan yang lebih baru. Untuk informasi selengkapnya, lihat Menyambungkan ke Layanan Terkelola Amazon untuk sumber data Prometheus di Panduan Pengguna Grafana Terkelola Amazon.
Prasyarat IAM — peran IAM ruang kerja Grafana yang Dikelola Amazon harus memiliki cloudwatch:GetMetricData keduanya (diperlukan untuk kueri instan dan rentang) dan (diperlukan untuk penemuan seri dan label)cloudwatch:ListMetrics. Lihat perinciannya di Izin IAM untuk PromQL.
Untuk mengkonfigurasi sumber data, selesaikan langkah-langkah berikut.
-
Di ruang kerja Grafana Terkelola Amazon Anda, tambahkan Layanan Terkelola Amazon untuk sumber data Prometheus.
-
Atur URL sumber data ke
https://monitoring..AWS Region.amazonaws.com -
Atur Wilayah ke AWS Wilayah Anda. Grafana Terkelola Amazon menyuntikkan kredensil dari peran IAM ruang kerja secara otomatis; Anda tidak perlu mengonfigurasi kunci statis.
-
Pilih Simpan & uji.
Query dengan alat MCP
CloudWatch MCP Server
Alat PromQL berikut tersedia di MCP Server: CloudWatch
| Alat | Deskripsi |
|---|---|
|
Menjalankan kueri PromQL instan, mengembalikan nilai metrik pada satu titik waktu. |
|
Menjalankan kueri rentang PromQL selama jendela waktu, mengembalikan data deret waktu untuk analisis tren dan grafik. |
|
Mengambil nilai untuk label PromQL tertentu, seperti |
|
Menemukan deret waktu yang cocok dengan pemilih label PromQL dan mengembalikan set label lengkap dari setiap seri yang cocok. |
|
Daftar semua nama label PromQL yang tersedia untuk membantu menemukan struktur label metrik Anda. |
Untuk detail selengkapnya tentang parameter, konfigurasi, dan petunjuk penyiapan, lihat Alat untuk CloudWatch PromQL dalam dokumentasi
Query dengan HTTP API
Anda juga dapat menanyakan data CloudWatch PromQL secara terprogram dengan memanggil titik akhir HTTP secara langsung. Prometheus-compatible Permintaan harus ditandatangani dengan AWS
Signature Version 4 menggunakan monitoring sebagai nama layanan.
Titik akhir PromQL mengikuti pola. https://monitoring. Misalnya, untuk Wilayah AS Timur (Virginia N.) (us-east-1), titik akhir untuk kueri instan adalah. AWS
Region.amazonaws.com/api/v1/operationhttps://monitoring.us-east-1.amazonaws.com/api/v1/query
Untuk referensi API lengkap, termasuk operasi yang didukung, parameter permintaan, dan format respons, lihatPrometheus-compatible API. Untuk daftar AWS Wilayah di mana kueri PromQL tersedia, lihat. Didukung AWS Wilayah Untuk tindakan IAM yang diperlukan untuk setiap operasi, lihatIzin IAM untuk PromQL.