Dokumen ini menjelaskan konfigurasi dan penggunaan penerima metrik Agen Operasional yang dapat Anda gunakan untuk mengumpulkan metrik dari Prometheus di Compute Engine. Dokumen ini juga menjelaskan contoh yang dapat Anda gunakan untuk mencoba penerima.
Pengguna Google Kubernetes Engine dapat mengumpulkan metrik Prometheus dengan menggunakan Google Cloud Managed Service for Prometheus. Penerima Ops Agent Prometheus memberi pengguna Compute Engine kemampuan yang sama.
Anda dapat menggunakan semua alat yang disediakan oleh Cloud Monitoring, termasuk PromQL, untuk melihat dan menganalisis data yang dikumpulkan oleh penerima Prometheus. Misalnya, Anda dapat menggunakan Metrics Explorer, seperti yang dijelaskan di Konsol Google Cloud untuk Monitoring, untuk mengkueri data Anda. Anda juga dapat membuat dasbor dan kebijakan pemberitahuan Cloud Monitoring untuk memantau metrik Prometheus. Sebaiknya gunakan PromQL sebagai bahasa kueri untuk metrik Prometheus Anda.
Anda juga dapat melihat metrik Prometheus pada antarmuka di luar Cloud Monitoring, seperti UI Prometheus dan Grafana.
Memilih penerima yang tepat
Sebelum memutuskan untuk menggunakan penerima Prometheus, tentukan apakah sudah ada integrasi Agen Operasional untuk aplikasi yang Anda gunakan. Untuk mendapatkan informasi tentang integrasi yang ada dengan Agen Operasional, lihat Memantau aplikasi pihak ketiga. Jika sudah ada integrasi, sebaiknya gunakan integrasi tersebut. Untuk mengetahui informasi selengkapnya, lihat Memilih integrasi yang ada.
Sebaiknya gunakan penerima Prometheus Agen Operasional jika hal berikut benar:
Anda memiliki pengalaman menggunakan Prometheus, mengandalkan standar Prometheus, dan memahami bagaimana faktor seperti interval scraping dan kardinalitas dapat memengaruhi biaya Anda. Untuk mengetahui informasi selengkapnya, lihat Memilih penerima Prometheus.
Software yang Anda pantau belum menjadi bagian dari rangkaian integrasi Agen Operasional yang ada.
Integrasi yang ada
Agen Operasional menyediakan integrasi untuk sejumlah aplikasi pihak ketiga. Integrasi ini memberikan hal-hal berikut untuk Anda:
- Kumpulan metrik
workload.googleapis.com
yang dipilih untuk aplikasi - Dasbor untuk memvisualisasikan metrik.
Metrik yang diserap menggunakan integrasi yang ada akan dikenai harga berdasarkan byte untuk metrik yang dikumpulkan agen. Jumlah dan jenis metrik diketahui sebelumnya, dan Anda dapat menggunakan informasi itu untuk memperkirakan biaya.
Misalnya, jika Anda menggunakan integrasi Server Web Apache (httpd), Agen Operasional mengumpulkan lima metrik skalar; setiap titik data dihitung sebagai 8 byte. Jika Anda mempertahankan frekuensi pengambilan sampel default Agen Operasional selama 60 detik, jumlah byte yang diserap per hari adalah 57.600 * jumlah host:
- 8 (byte) * 1440 (menit per hari) * 5 (metrik) * n (host), atau
- 57.600 * n (host)
Untuk mengetahui informasi selengkapnya tentang memperkirakan biaya, baca Contoh harga berdasarkan byte yang diserap.
Penerima Prometheus
Saat Anda menggunakan Agen Operasional untuk mengumpulkan metrik Prometheus, hal berikut berlaku:
Jumlah dan kardinalitas metrik yang dimunculkan oleh aplikasi berada di bawah kendali Anda. Tidak ada kumpulan metrik yang diseleksi. Jumlah data yang Anda serap ditentukan oleh konfigurasi aplikasi Prometheus dan penerima Ops Agent Prometheus.
Metrik ditransfer ke Cloud Monitoring sebagai metrik
prometheus.googleapis.com
. Metrik ini diklasifikasikan sebagai jenis metrik "kustom" saat diserap ke dalam Cloud Monitoring dan tunduk pada kuota dan batas untuk metrik kustom.Anda harus mendesain dan membuat dasbor Cloud Monitoring yang diperlukan, berdasarkan kumpulan metrik yang Anda serap dan sesuai kebutuhan bisnis Anda. Untuk informasi tentang cara membuat dasbor, lihat Dasbor dan diagram.
Harga untuk penyerapan metrik didasarkan pada jumlah sampel yang diserap. Untuk memperkirakan biaya saat menggunakan penerima Prometheus, Anda harus menentukan jumlah sampel yang kemungkinan akan Anda kumpulkan selama siklus penagihan. Estimasi ini didasarkan pada faktor-faktor berikut:
- Jumlah metrik skalar; setiap nilai adalah satu sampel
- Jumlah metrik distribusi; setiap histogram dihitung sebagai (2 + jumlah bucket dalam histogram)
- Frekuensi pengambilan sampel setiap metrik
- Jumlah host tempat metrik diambil sampelnya
Untuk mengetahui informasi lebih lanjut tentang cara menghitung sampel dan memperkirakan biaya, baca artikel Contoh harga berdasarkan sampel yang diserap.
Prasyarat
Untuk mengumpulkan metrik Prometheus menggunakan penerima Prometheus, Anda harus menginstal Agen Operasional versi 2.25.0 atau yang lebih baru.
Penerima Agen Operasional memerlukan endpoint yang memunculkan metrik Prometheus. Oleh karena itu, aplikasi Anda harus menyediakan endpoint tersebut secara langsung atau menggunakan library atau pengekspor Prometheus untuk menampilkan endpoint. Banyak library dan framework bahasa seperti Spring dan DropWizard, atau aplikasi seperti StatsD, DogStatsD, dan Graphite, yang memunculkan metrik non-Prometheus dapat menggunakan library klien atau pengekspor Prometheus untuk menghasilkan metrik bergaya Prometheus. Misalnya, untuk memunculkan metrik Prometheus:
- Pengguna Spring dapat menggunakan library Spring Metrics.
- Pengguna statistik dapat menggunakan
paket
statsd_exporter
. - Pengguna grafit dapat menggunakan
paket
graphite_exporter
.
Saat metrik Prometheus dimunculkan oleh aplikasi, secara langsung atau menggunakan library atau pengekspor, metrik tersebut kemudian dapat dikumpulkan oleh Agen Operasional yang dikonfigurasi dengan penerima Prometheus.
Mengonfigurasi Agen Operasional
Model konfigurasi Agen Operasional biasanya melibatkan penentuan hal-hal berikut:
- Penerima, yang menentukan metrik mana yang dikumpulkan.
- Pemroses, yang menjelaskan cara Agen Operasional dapat mengubah metrik.
- Pipeline, yang menghubungkan penerima dan prosesor bersama-sama ke dalam sebuah layanan.
Konfigurasi untuk menyerap metrik Prometheus sedikit berbeda: tidak ada prosesor yang terlibat.
Konfigurasi untuk metrik Prometheus
Mengonfigurasi Agen Operasional untuk menyerap metrik Prometheus berbeda dengan konfigurasi biasa seperti berikut:
Anda tidak perlu membuat pemroses Agen Operasional untuk metrik Prometheus. Penerima Prometheus mendukung hampir semua opsi konfigurasi yang ditentukan oleh spesifikasi
scrape_config
Prometheus, termasuk opsi pelabelan ulang.Alih-alih menggunakan pemroses Agen Operasional, semua pemrosesan metrik dilakukan dengan menggunakan bagian
relabel_configs
danmetric_relabel_configs
dari konfigurasi scape, seperti yang ditentukan dalam penerima Prometheus. Untuk informasi selengkapnya, lihat Pelabelan ulang: Mengubah data yang sedang disalin.Anda menentukan pipeline Prometheus hanya dalam hal penerima Prometheus. Anda tidak menentukan pemroses apa pun. Anda juga tidak dapat menggunakan penerima non-Prometheus pada pipeline untuk metrik Prometheus.
Sebagian besar konfigurasi penerima merupakan spesifikasi opsi konfigurasi scrape. Jika opsi tersebut tidak diperlukan agar lebih singkat, gambar berikut akan menunjukkan struktur konfigurasi Agen Operasional yang menggunakan penerima Prometheus. Anda menentukan nilai RECEIVER_ID dan PIPELINE_ID.
metrics: receivers: RECEIVER_ID: type: prometheus config: scrape_configs: [... omitted for brevity ...] service: pipelines: PIPELINE_ID: receivers: [RECEIVER_ID]
Bagian berikut menjelaskan penerima Prometheus secara lebih mendetail. Untuk mengetahui contoh fungsi penerima dan pipeline, lihat Menambahkan penerima dan pipeline Agen Operasional.
Penerima Prometheus
Untuk menentukan penerima metrik Prometheus, Anda harus membuat penerima
metrik jenis prometheus
dan menentukan kumpulan opsi scrape_config
.
Penerima mendukung semua opsi
scrape_config
Prometheus,
kecuali hal berikut:
- Bagian penemuan layanan,
*_sd_config
. - Setelan
honor_labels
.
Oleh karena itu, Anda dapat menyalin konfigurasi scrape yang ada dan menggunakannya untuk Agen Operasional dengan sedikit atau tanpa modifikasi.
Struktur lengkap penerima Prometheus ditampilkan sebagai berikut:
metrics: receivers: prom_application: type: prometheus config: scrape_configs: - job_name: 'STRING' # must be unique across all Prometheus receivers scrape_interval: # duration, like 10m or 15s scrape_timeout: # duration, like 10m or 15s metrics_path: # resource path for metrics, default = /metrics honor_timestamps: # boolean, default = false scheme: # http or https, default = http params: - STRING: STRING basic_auth: username: STRING password: SECRET password_file: STRING authorization: type: STRING # default = Bearer credentials: SECRET credentials_file: FILENAME oauth2: OAUTH2 # See Prometheus oauth2 follow_redirects: # boolean, default = true enable_http2: # boolean, default = true tls_config: TLS_CONFIG # See Prometheus tls_config proxy_url: STRING static_configs: STATIC_CONFIG # See Prometheus static_config relabel_configs: RELABEL_CONFIG # See Prometheus relabel_config metric_relabel_configs: METRIC_RELABEL_CONFIGS # See Prometheus metric_relabel_configs
Untuk contoh pelabelan ulang konfigurasi, lihat Konfigurasi penerima tambahan.
Contoh: Mengonfigurasi Agen Operasional untuk Prometheus
Bagian ini menunjukkan contoh cara mengonfigurasi Agen Operasional untuk mengumpulkan metrik Prometheus dari aplikasi. Contoh ini menggunakan Pengekspor JSON
yang disediakan komunitas Prometheus
(json_exporter
), yang
mengekspos metrik Prometheus pada port 7979.
Untuk menyiapkan contoh, diperlukan resource berikut, yang mungkin harus diinstal:
git
curl
make
python3
- Bahasa Go, versi 1.19 atau yang lebih tinggi
Membuat atau mengonfigurasi aplikasi
Untuk mendapatkan dan menjalankan Pengekspor JSON, gunakan prosedur berikut:
Clone repositori
json_exporter
dan periksa pengekspor dengan menjalankan perintah berikut:git clone https://github.com/prometheus-community/json_exporter.git cd json_exporter git checkout v0.5.0
Buat pengekspor dengan menjalankan perintah berikut:
make build
Mulai server HTTP Python dengan menjalankan perintah berikut:
python3 -m http.server 8000 &
Mulai Pengekspor JSON dengan menjalankan perintah berikut:
./json_exporter --config.file examples/config.yml &
Buat kueri Pengekspor JSON untuk memverifikasi bahwa JSON sedang berjalan dan mengekspos metrik pada port 7979:
curl "http://localhost:7979/probe?module=default&target=http://localhost:8000/examples/data.json"
Jika kueri berhasil, Anda akan melihat output yang terlihat seperti berikut:
# HELP example_global_value Example of a top-level global value scrape in the json # TYPE example_global_value untyped example_global_value{environment="beta",location="planet-mars"} 1234 # HELP example_value_active Example of sub-level value scrapes from a json # TYPE example_value_active untyped example_value_active{environment="beta",id="id-A"} 1 example_value_active{environment="beta",id="id-C"} 1 # HELP example_value_boolean Example of sub-level value scrapes from a json # TYPE example_value_boolean untyped example_value_boolean{environment="beta",id="id-A"} 1 example_value_boolean{environment="beta",id="id-C"} 0 # HELP example_value_count Example of sub-level value scrapes from a json # TYPE example_value_count untyped example_value_count{environment="beta",id="id-A"} 1 example_value_count{environment="beta",id="id-C"} 3
Dalam output ini, string seperti
example_value_active
adalah nama metrik, dengan label dan nilai dalam tanda kurung kurawal. Nilai data mengikuti kumpulan label.
Menambahkan penerima dan pipeline Agen Operasional
Untuk mengonfigurasi Agen Operasional guna menyerap metrik dari aplikasi Pengekspor JSON, Anda harus mengubah konfigurasi agen untuk menambahkan penerima dan pipeline Prometheus. Untuk contoh Pengekspor JSON, gunakan prosedur berikut:
Edit file konfigurasi Agen Operasional,
/etc/google-cloud-ops-agent/config.yaml
, lalu tambahkan penerima dan entri pipeline Prometheus berikut:metrics: receivers: prometheus: type: prometheus config: scrape_configs: - job_name: 'json_exporter' scrape_interval: 10s metrics_path: /probe params: module: [default] target: [http://localhost:8000/examples/data.json] static_configs: - targets: ['localhost:7979'] service: pipelines: prometheus_pipeline: receivers: - prometheus
Jika Anda sudah memiliki entri konfigurasi lain dalam file ini, tambahkan penerima dan pipeline Prometheus ke entri
metrics
danservice
yang sudah ada. Untuk informasi selengkapnya, lihat Konfigurasi metrik.Untuk contoh pelabelan ulang konfigurasi di penerima, lihat Konfigurasi penerima tambahan.
Memulai ulang Agen Operasional
Untuk menerapkan perubahan konfigurasi, Anda harus memulai ulang Agen Operasional.
LINUX
Untuk memulai ulang agen, jalankan perintah berikut pada instance Anda:
sudo service google-cloud-ops-agent restart
Untuk mengonfirmasi bahwa agen dimulai ulang, jalankan perintah berikut dan verifikasi bahwa komponen "Metrics Agent" dan "Logging Agent" dimulai:
sudo systemctl status google-cloud-ops-agent"*"
Windows
Hubungkan ke instance Anda menggunakan RDP atau alat serupa, lalu login ke Windows.
Buka terminal PowerShell yang menggunakan hak istimewa administrator dengan mengklik kanan ikon PowerShell dan memilih Run as Administrator.
Untuk memulai ulang agen, jalankan perintah PowerShell berikut:
Restart-Service google-cloud-ops-agent -Force
Untuk mengonfirmasi bahwa agen dimulai ulang, jalankan perintah berikut dan verifikasi bahwa komponen "Metrics Agent" dan "Logging Agent" dimulai:
Get-Service google-cloud-ops-agent*
Metrik Prometheus di Cloud Monitoring
Anda dapat menggunakan alat yang disediakan oleh Cloud Monitoring dengan data yang dikumpulkan oleh penerima Prometheus. Misalnya, Anda dapat membuat diagram data menggunakan Metrics Explorer, seperti yang dijelaskan di Konsol Google Cloud untuk Monitoring. Bagian berikut menjelaskan alat kueri yang tersedia di Cloud Monitoring dengan Metrics Explorer:
Anda dapat membuat dasbor Cloud Monitoring dan kebijakan pemberitahuan untuk metrik Anda. Untuk informasi tentang dasbor dan jenis diagram yang dapat Anda gunakan, lihat Dasbor dan diagram. Untuk mengetahui informasi tentang kebijakan pemberitahuan, lihat Menggunakan kebijakan pemberitahuan.
Anda juga dapat melihat metrik di antarmuka lain, seperti UI Prometheus dan Grafana. Untuk mengetahui informasi tentang cara menyiapkan antarmuka ini, lihat bagian berikut dalam dokumentasi Google Cloud Managed Service for Prometheus:
Menggunakan PromQL
PromQL adalah bahasa kueri yang direkomendasikan untuk metrik yang diserap menggunakan penerima Prometheus.
Cara paling sederhana untuk memastikan bahwa data Prometheus Anda diserap adalah dengan menggunakan halaman Cloud Monitoring Metrics Explorer di Konsol Google Cloud:
-
Di panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih leaderboard Metrics Explorer:
Di toolbar panel pembuat kueri, pilih tombol dengan nama code MQL atau code PromQL.
Pastikan PromQL dipilih di tombol Language. Tombol bahasa berada di toolbar yang sama yang memungkinkan Anda memformat kueri.
Masukkan kueri berikut ke editor, lalu klik Run query:
up
Jika data Anda diserap, Anda akan melihat diagram seperti berikut:
Jika menjalankan contoh Pengekspor JSON, Anda juga dapat mengeluarkan kueri seperti berikut:
Mengkueri semua data untuk metrik tertentu yang diekspor menurut nama, misalnya:
example_value_count
Berikut adalah diagram untuk
example_value_count
, termasuk label yang ditentukan oleh aplikasi Pengekspor JSON dan label yang ditambahkan oleh Agen Operasional:Mengkueri data untuk metrik yang diekspor yang berasal dari namespace tertentu. Nilai label
namespace
adalah ID instance Compute Engine, angka panjang seperti5671897148133813325
, yang ditetapkan ke VM. Kueri akan terlihat seperti berikut:example_value_count{namespace="INSTANCE_ID"}
Kueri data yang cocok dengan ekspresi reguler tertentu. Pengekspor JSON memberikan metrik dengan label
id
yang memiliki nilai sepertiid-A
,id-B
,id-C
. Untuk memfilter metrik dengan labelid
yang cocok dengan pola ini, gunakan kueri berikut:example_value_count{id=~"id.*"}
Untuk mengetahui informasi selengkapnya tentang penggunaan PromQL dalam diagram Metrics Explorer dan Cloud Monitoring, lihat PromQL di Cloud Monitoring.
Gunakan MQL
Untuk melihat data Prometheus sebagai deret waktu Cloud Monitoring serta membuat diagram dan dasbor, Anda juga dapat menggunakan antarmuka berbasis menu atau MQL. Berikut adalah kueri sederhana di Metrics Explorer:
-
Di panel navigasi Konsol Google Cloud, pilih Monitoring, lalu pilih leaderboard Metrics Explorer:
Tentukan data yang akan muncul pada diagram. Selain menggunakan tab PromQL yang dijelaskan sebelumnya, Anda juga dapat menggunakan MQL.
Untuk menggunakan MQL, lakukan hal berikut:
- Di toolbar panel pembuat kueri, pilih tombol dengan nama code MQL atau code PromQL.
- Pastikan MQL dipilih di tombol Language. Tombol bahasa berada di toolbar yang sama yang memungkinkan Anda memformat kueri.
Masukkan kueri berikut:
fetch prometheus_target::prometheus.googleapis.com/up/gauge
Klik Run Query.
Untuk menggunakan antarmuka berbasis menu, lakukan hal berikut:
Di kolom Resource type, ketik "prometheus" untuk memfilter daftar, lalu pilih Prometheus Target.
Di kolom Metric, ketik "up/" untuk memfilter daftar, lalu pilih prometheus/up/gauge.
Diagram yang dihasilkan dari salah satu kueri ini akan menampilkan data yang sama dengan diagram yang ditampilkan dengan contoh PromQL.
Resource prometheus_target
Dalam Cloud Monitoring, data deret waktu ditulis berdasarkan jenis resource yang dipantau. Untuk metrik Prometheus, jenis resource yang dipantau adalah prometheus_target
. Kueri pemantauan untuk metrik Prometheus yang tidak ditulis dalam PromQL harus menentukan jenis resource ini.
Resource prometheus_target
memiliki label berikut, yang dapat Anda
gunakan untuk memfilter dan memanipulasi data yang dikueri:
project_id
: ID project Google Cloud, sepertimy-project
, tempat Agen Operasional dijalankan.location
: Region Google Cloud atau AWS tempat Agen Operasional dijalankan; misalnya,us-east1-a
(Google Cloud) atauaws:us-east-1a
(AWS).cluster
: Selalu__gce__
untuk metrik Prometheus yang dikumpulkan menggunakan Agen Operasional.namespace
: ID instance Compute Engine VM tempat Agen Operasional dijalankan.job
: Nilai kolomjob_name
di konfigurasi penerima.instance
: Label instance target Prometheus, yang diambil dari konfigurasi penerima; setelan default-nya adalah target.
Nilai untuk label ini ditetapkan selama pengumpulan. Nilai
label namespace
, location
, dan cluster
tidak dapat diubah. Jika metrik yang diambil dari aplikasi Anda juga memiliki label ini, Agen Operasional akan mengawali label salinan dengan string exported_
.
Lihat penggunaan dan diagnostik metrik di Cloud Monitoring
Halaman Metrics Management Cloud Monitoring menyediakan informasi yang dapat membantu Anda mengontrol jumlah biaya yang dikeluarkan untuk metrik yang dapat dikenakan biaya tanpa memengaruhi kemampuan observasi. Halaman Pengelolaan Metrik melaporkan informasi berikut:
- Volume penyerapan untuk penagihan berbasis byte dan sampel, di seluruh domain metrik dan untuk masing-masing metrik.
- Data tentang label dan kardinalitas metrik.
- Penggunaan metrik dalam kebijakan pemberitahuan dan dasbor kustom.
- Rasio error penulisan metrik.
Untuk menampilkan halaman Metrics Management, lakukan hal berikut:
-
Di panel navigasi konsol Google Cloud, pilih Monitoring, lalu pilih
Metrics management: - Di toolbar, pilih periode waktu. Secara default, halaman Metrics Management menampilkan informasi tentang metrik yang dikumpulkan dalam satu hari sebelumnya.
Untuk informasi selengkapnya tentang halaman Metrics Management, baca artikel Melihat dan mengelola penggunaan metrik.
Pelabelan ulang: Memodifikasi data yang sedang disalin
Anda dapat menggunakan pelabelan ulang untuk mengubah kumpulan label target scrape atau metriknya sebelum target disalin. Jika Anda memiliki beberapa langkah dalam konfigurasi pelabelan ulang, langkah tersebut akan diterapkan sesuai urutan kemunculannya di file konfigurasi.
Agen Operasional membuat kumpulan label meta (label yang diawali dengan
string __meta_
. Label meta ini merekam informasi tentang instance Compute Engine tempat Agen Operasional dijalankan. Label dengan awalan string __
, termasuk label meta, hanya tersedia selama pelabelan ulang. Anda dapat menggunakan pelabelan ulang untuk mencatat nilai label ini pada label yang disalin.
Pelabelan ulang metrik diterapkan pada sampel; ini adalah langkah terakhir sebelum penyerapan. Anda dapat menggunakan pelabelan ulang metrik untuk menghapus deret waktu yang tidak perlu diserap; menurunkan deret waktu ini akan mengurangi jumlah sampel yang diserap, sehingga dapat menurunkan biaya.
Untuk informasi selengkapnya tentang pelabelan ulang, lihat dokumentasi Prometheus
untuk relabel_config
dan
metric_relabel_configs
.
Label meta Compute Engine tersedia selama pelabelan ulang
Saat Agen Operasional mengekstrak metrik, sekumpulan label meta yang nilainya didasarkan pada konfigurasi VM Compute Engine tempat agen dijalankan. Anda dapat menggunakan label ini dan bagian relabel_configs
penerima Prometheus untuk menambahkan metadata tambahan ke metrik tentang VM tempat VM tersebut diserap. Untuk contoh, lihat
Konfigurasi penerima tambahan.
Label meta berikut tersedia di target untuk Anda gunakan di
bagian relabel_configs
:
__meta_gce_instance_id
: ID numerik instance Compute Engine (lokal)__meta_gce_instance_name
: nama instance Compute Engine (lokal); Agen Operasional secara otomatis menempatkan nilai ini pada labelinstance_name
yang dapat diubah di metrik Anda.__meta_gce_machine_type
: URL lengkap atau sebagian dari jenis mesin instance; Agen Operasional secara otomatis menempatkan nilai ini di labelmachine_type
yang dapat diubah pada metrik Anda.__meta_gce_metadata_NAME
: setiap item metadata instance__meta_gce_network
: URL jaringan instance__meta_gce_private_ip
: alamat IP pribadi instance__meta_gce_interface_ipv4_NAME
: Alamat IPv4 dari setiap antarmuka yang diberi nama__meta_gce_project
: project Google Cloud tempat instance berjalan (lokal)__meta_gce_public_ip
: alamat IP publik instance, jika ada__meta_gce_tags
: daftar tag instance yang dipisahkan koma__meta_gce_zone
: URL zona Compute Engine tempat instance berjalan
Nilai label ini ditetapkan saat Agen Operasional dimulai. Jika nilai diubah, Anda harus memulai ulang Agen Operasional untuk memperbarui nilai.
Konfigurasi penerima tambahan
Bagian ini memberikan contoh yang menggunakan bagian relabel_configs
dan
metric_relabel_configs
pada penerima Prometheus untuk mengubah
jumlah dan struktur metrik yang diserap. Bagian ini juga mencakup
versi penerima yang dimodifikasi untuk contoh Pengekspor JSON yang menggunakan
opsi pelabelan ulang.
Tambahkan metadata VM
Anda dapat menggunakan bagian relabel_configs
untuk menambahkan label ke metrik.
Misalnya, kode berikut menggunakan label meta, __meta_gce_zone
, yang disediakan oleh Agen Operasional untuk membuat label metrik, zone
, yang dipertahankan setelah pelabelan ulang, karena zone
tidak memiliki awalan __
.
Untuk daftar label meta yang tersedia, lihat Label meta Compute Engine yang tersedia selama pelabelan ulang. Beberapa label meta diberi label ulang untuk Anda melalui konfigurasi Agen Operasional default.
relabel_configs: - source_labels: [__meta_gce_zone] regex: '(.+)' replacement: '${1}' target_label: zone
Penerima Prometheus yang ditampilkan dalam Contoh: Mengonfigurasi Agen Operasional untuk Prometheus menyertakan penambahan label ini.
Metrik penurunan
Anda dapat menggunakan bagian metrics_relabel_configs
untuk menghapus metrik yang tidak ingin diserap; pola ini berguna untuk pembatasan biaya.
Misalnya, Anda dapat menggunakan pola berikut untuk menghapus metrik apa pun dengan nama yang cocok dengan METRIC_NAME_REGEX_1 atau METRIC_NAME_REGEX_2:
metric_relabel_configs: - source_labels: [ __name__ ] regex: 'METRIC_NAME_REGEX_1' action: drop - source_labels: [ __name__ ] regex: 'METRIC_NAME_REGEX_2' action: drop
Menambahkan label statis
Anda dapat menggunakan bagian metrics_relabel_configs
untuk menambahkan label statis ke
semua metrik yang diserap oleh penerima Prometheus. Anda dapat menggunakan pola berikut untuk menambahkan label staticLabel1
dan staticLabel2
ke semua metrik yang diserap:
metric_relabel_configs: - source_labels: [ __address__ ] action: replace replacement: 'STATIC_VALUE_1' target_label: staticLabel1 - source_labels: [ __address__ ] action: replace replacement: 'STATIC_VALUE_2' target_label: staticLabel2
Versi penerima Prometheus berikut untuk contoh Pengekspor JSON menggunakan pola konfigurasi ini untuk melakukan hal berikut:
- Tetapkan label
zone
dari nilai label meta__meta_gce_zone
yang disediakan oleh Agen Operasional. - Lepaskan metrik
example_global_value
pengekspor. - Tambahkan label
staticLabel
dengan nilai "Nilai statis" ke semua metrik yang diserap.
metrics: receivers: prometheus: type: prometheus config: scrape_configs: - job_name: 'json_exporter' scrape_interval: 10s metrics_path: /probe params: module: [default] target: [http://localhost:8000/examples/data.json] static_configs: - targets: ['localhost:7979'] relabel_configs: - source_labels: [__meta_gce_zone] regex: '(.+)' replacement: '${1}' target_label: zone metric_relabel_configs: - source_labels: [ __name__ ] regex: 'example_global_value' action: drop - source_labels: [ __address__ ] action: replace replacement: 'A static value' target_label: staticLabel