Dokumen ini menjelaskan konfigurasi dan penggunaan penerima metrik Ops Agent 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 menggunakan Google Cloud Managed Service for Prometheus. Penerima Prometheus Agen Operasional 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 dalam Konsol Google Cloud untuk Pemantauan, untuk membuat kueri data. 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 di 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 informasi tentang integrasi yang ada dengan Agen Operasional, lihat Memantau aplikasi pihak ketiga. Jika sudah ada integrasi, sebaiknya gunakan integrasi tersebut. Untuk informasi selengkapnya, lihat Memilih integrasi yang ada.
Sebaiknya gunakan penerima Prometheus Ops Agent jika hal berikut terpenuhi:
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 kumpulan integrasi Agen Operasi yang ada.
Integrasi yang ada
Agen Operasional menyediakan integrasi untuk sejumlah aplikasi pihak ketiga. Integrasi ini memberikan hal berikut untuk Anda:
- Kumpulan metrik
workload.googleapis.com
yang dipilih untuk aplikasi - Dasbor untuk memvisualisasikan metrik.
Metrik yang diserap menggunakan integrasi yang ada tunduk pada harga berbasis byte untuk metrik yang dikumpulkan agen. Jumlah dan jenis metrik diketahui sebelumnya, dan Anda dapat menggunakan informasi tersebut untuk memperkirakan biaya.
Misalnya, jika Anda menggunakan integrasi Apache Web Server (httpd), Ops Agent akan mengumpulkan lima metrik skalar; setiap titik data dihitung sebagai 8 byte. Jika Anda mempertahankan frekuensi sampling default Ops Agent sebesar 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 informasi selengkapnya tentang cara memperkirakan biaya, lihat 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 dikeluarkan oleh aplikasi Anda berada di bawah kontrol Anda. Tidak ada kumpulan metrik yang diseleksi. Jumlah data yang Anda serap ditentukan oleh konfigurasi aplikasi Prometheus dan penerima Prometheus Agen Operasional.
Metrik diserap ke Cloud Monitoring sebagai metrik
prometheus.googleapis.com
. Metrik ini diklasifikasikan sebagai jenis metrik "kustom" saat diserap ke 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 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 perlu menentukan jumlah sampel yang kemungkinan akan dikumpulkan 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 sampel (2 + jumlah bucket dalam histogram)
- Frekuensi sampling setiap metrik
- Jumlah host tempat metrik diambil sampelnya
Untuk informasi selengkapnya tentang cara menghitung sampel dan memperkirakan biaya, lihat Contoh harga berdasarkan sampel yang diserap.
Prasyarat
Untuk mengumpulkan metrik Prometheus menggunakan penerima Prometheus, Anda harus menginstal Ops Agent versi 2.25.0 atau yang lebih tinggi.
Penerima Agen Operasional memerlukan endpoint yang memunculkan metrik Prometheus. Oleh karena itu, aplikasi Anda harus menyediakan endpoint tersebut secara langsung atau menggunakan library atau eksportir Prometheus untuk mengekspos 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 eksportir Prometheus untuk memunculkan metrik bergaya Prometheus. Misalnya, untuk menampilkan metrik Prometheus:
- Pengguna Spring dapat menggunakan library Spring Metrics.
- Pengguna StatsD dapat menggunakan
paket
statsd_exporter
. - Pengguna Graphite dapat menggunakan
paket
graphite_exporter
.
Saat metrik Prometheus dikeluarkan oleh aplikasi, secara langsung atau menggunakan library atau pengekspor, metrik tersebut kemudian dapat dikumpulkan oleh Ops Agent yang dikonfigurasi dengan penerima Prometheus.
Mengonfigurasi Agen Operasional
Model konfigurasi Agen Operasi biasanya melibatkan menentukan hal berikut:
- Penerima, yang menentukan metrik yang dikumpulkan.
- Pemroses, yang menjelaskan cara Agen Operasional dapat mengubah metrik.
- Pipeline, yang menautkan penerima dan pemroses menjadi satu layanan.
Konfigurasi untuk menyerap metrik Prometheus sedikit berbeda: tidak ada pemroses yang terlibat.
Konfigurasi untuk metrik Prometheus
Mengonfigurasi Agen Operasional untuk menyerap metrik Prometheus berbeda dengan konfigurasi biasa sebagai berikut:
Anda tidak membuat pemroses Agen Operasional untuk metrik Prometheus. Penerima Prometheus mendukung hampir semua opsi konfigurasi yang ditentukan oleh spesifikasi
scrape_config
Prometheus, termasuk opsi pemberian label ulang.Daripada menggunakan pemroses Agen Operasi, pemrosesan metrik dilakukan dengan menggunakan bagian
relabel_configs
danmetric_relabel_configs
dari konfigurasi scape, seperti yang ditentukan dalam penerima Prometheus. Untuk informasi selengkapnya, lihat Pemberian label ulang: Mengubah data yang di-scrap.Anda menentukan pipeline Prometheus hanya dalam hal penerima Prometheus. Anda tidak menentukan prosesor apa pun. Anda juga tidak dapat menggunakan penerima non-Prometheus dalam pipeline untuk metrik Prometheus.
Sebagian besar konfigurasi penerima adalah spesifikasi opsi scrape-config. Dengan menghilangkan opsi tersebut agar lebih ringkas, berikut ini menunjukkan struktur konfigurasi Agen Operasi 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 contoh fungsional penerima dan pipeline, lihat Menambahkan penerima dan pipeline Ops Agent.
Penerima Prometheus
Untuk menentukan penerima metrik Prometheus, Anda membuat penerima metrik
berjenis prometheus
dan menentukan serangkaian opsi scrape_config
.
Penerima mendukung semua opsi scrape_config
Prometheus, kecuali opsi berikut:
- Bagian penemuan layanan,
*_sd_config
. - Setelan
honor_labels
.
Oleh karena itu, Anda dapat menyalin konfigurasi scrape yang ada dan menggunakannya untuk Ops Agent dengan sedikit atau tanpa modifikasi.
Struktur lengkap penerima Prometheus ditampilkan dalam hal 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 konfigurasi pemberian label ulang, lihat Konfigurasi penerima tambahan.
Contoh: Mengonfigurasi Agen Operasional untuk Prometheus
Bagian ini menunjukkan contoh cara mengonfigurasi Ops Agent untuk mengumpulkan metrik Prometheus dari aplikasi. Contoh ini menggunakan JSON Exporter
yang disediakan komunitas Prometheus
(json_exporter
), yang
mengekspos metrik Prometheus di port 7979.
Penyiapan contoh memerlukan resource berikut, yang mungkin harus Anda instal:
git
curl
make
python3
- Bahasa Go, versi 1.19 atau yang lebih baru
Membuat atau mengonfigurasi aplikasi
Untuk mendapatkan dan menjalankan JSON Exporter, gunakan prosedur berikut:
Clone repositori
json_exporter
dan lihat ekspor dengan menjalankan perintah berikut:git clone https://github.com/prometheus-community/json_exporter.git cd json_exporter git checkout v0.5.0
Build eksportir dengan menjalankan perintah berikut:
make build
Mulai server HTTP Python dengan menjalankan perintah berikut:
python3 -m http.server 8000 &
Mulai JSON Exporter dengan menjalankan perintah berikut:
./json_exporter --config.file examples/config.yml &
Buat kueri JSON Exporter untuk memverifikasi bahwa aplikasi tersebut berjalan dan mengekspos metrik di port 7979:
curl "http://localhost:7979/probe?module=default&target=http://localhost:8000/examples/data.json"
Jika kueri berhasil, Anda akan melihat output yang menyerupai 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 set label.
Menambahkan penerima dan pipeline Ops Agent
Untuk mengonfigurasi Agen Operasional guna menyerap metrik dari aplikasi Ekspor JSON, Anda harus mengubah konfigurasi agen untuk menambahkan penerima dan pipeline Prometheus. Untuk contoh JSON Exporter, gunakan prosedur berikut:
Edit file konfigurasi Ops Agent,
/etc/google-cloud-ops-agent/config.yaml
, dan tambahkan entri penerima dan 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 ada. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi metrik.Untuk contoh konfigurasi pemberian label ulang di penerima, lihat Konfigurasi penerima tambahan.
Memulai ulang Agen Operasional
Untuk menerapkan perubahan konfigurasi, Anda harus memulai ulang Ops Agent.
LINUX
Untuk memulai ulang agen, jalankan perintah berikut di 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 dengan 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 dalam 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. Untuk mengetahui 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 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 termudah untuk memverifikasi bahwa data Prometheus Anda sedang ditransfer adalah dengan menggunakan halaman Metrics Explorer Cloud Monitoring di konsol Google Cloud:
-
Di konsol Google Cloud, buka halaman leaderboard Metrics explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
Di toolbar panel pembuat kueri, pilih tombol yang namanya adalah 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 sedang ditransfer, Anda akan melihat diagram seperti berikut:
Jika menjalankan contoh JSON Exporter, Anda juga dapat membuat kueri seperti berikut:
Buat kueri semua data untuk metrik tertentu yang diekspor berdasarkan nama, misalnya:
example_value_count
Berikut ini diagram untuk
example_value_count
, termasuk label yang ditentukan oleh aplikasi JSON Exporter dan label yang ditambahkan oleh Ops Agent: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 terlihat seperti berikut:example_value_count{namespace="INSTANCE_ID"}
Membuat kueri data yang cocok dengan ekspresi reguler tertentu. Ekspor JSON mengeluarkan metrik dengan label
id
yang memiliki nilai sepertiid-A
,id-B
,id-C
. Untuk memfilter metrik apa pun dengan labelid
yang cocok dengan pola ini, gunakan kueri berikut:example_value_count{id=~"id.*"}
Untuk mengetahui informasi selengkapnya tentang cara menggunakan PromQL di diagram Metrics Explorer dan Cloud Monitoring, lihat PromQL di Cloud Monitoring.
Menggunakan MQL
Untuk melihat data Prometheus sebagai deret waktu Cloud Monitoring dan membuat diagram serta dasbor, Anda juga dapat menggunakan antarmuka berbasis menu atau MQL. Berikut adalah kueri sederhana di Metrics Explorer:
-
Di konsol Google Cloud, buka halaman leaderboard Metrics explorer:
Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
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 yang namanya adalah 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 menampilkan data yang sama dengan diagram yang ditampilkan dengan contoh PromQL.
Resource prometheus_target
Di Cloud Monitoring, data deret waktu ditulis berdasarkan jenis resource yang dimonitor. Untuk metrik Prometheus, jenis resource yang dimonitor 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 Ops Agent berjalan.location
: Region Google Cloud atau AWS tempat Ops Agent berjalan; misalnya,us-east1-a
(Google Cloud) atauaws:us-east-1a
(AWS).cluster
: Selalu__gce__
untuk metrik Prometheus yang dikumpulkan menggunakan Ops Agent.namespace
: ID instance Compute Engine dari VM tempat Ops Agent berjalan.job
: Nilai kolomjob_name
dalam konfigurasi penerima.instance
: Label instance target Prometheus, diambil dari konfigurasi penerima; secara default 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, Ops Agent akan menambahkan awalan string exported_
ke label yang diambil.
Melihat penggunaan dan diagnostik metrik di Cloud Monitoring
Halaman Pengelolaan Metrik Cloud Monitoring memberikan informasi yang dapat membantu Anda mengontrol jumlah yang Anda belanjakan untuk metrik yang dapat ditagih tanpa memengaruhi visibilitas. Halaman Pengelolaan Metrik melaporkan informasi berikut:
- Volume transfer untuk penagihan berbasis byte dan sampel, di seluruh domain metrik dan untuk setiap metrik.
- Data tentang label dan kardinalitas metrik.
- Jumlah pembacaan untuk setiap metrik.
- Penggunaan metrik dalam kebijakan pemberitahuan dan dasbor kustom.
- Rasio error penulisan metrik.
Anda juga dapat menggunakan Pengelolaan Metrik untuk mengecualikan metrik yang tidak diperlukan, sehingga menghilangkan biaya penyerapannya.
Untuk melihat halaman Pengelolaan Metrik, lakukan tindakan berikut:
-
Di konsol Google Cloud, buka halaman
Metrics management:Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.
- Di toolbar, pilih jangka waktu. Secara default, halaman Pengelolaan Metrik menampilkan informasi tentang metrik yang dikumpulkan dalam satu hari sebelumnya.
Untuk informasi selengkapnya tentang halaman Pengelolaan Metrik, lihat Melihat dan mengelola penggunaan metrik.
Pemberian label ulang: Mengubah data yang di-scrape
Anda dapat menggunakan pemberian label ulang untuk mengubah kumpulan label target pengambilan data atau metriknya sebelum target diambil. Jika Anda memiliki beberapa langkah dalam konfigurasi pemberian label ulang, langkah tersebut akan diterapkan sesuai urutan yang muncul dalam file konfigurasi.
Ops Agent membuat kumpulan label meta (label yang diawali dengan
string __meta_
. Label meta ini mencatat informasi tentang instance Compute Engine tempat Ops Agent berjalan. Label yang diawali dengan string __
, termasuk label meta,
hanya tersedia selama pemberian label ulang. Anda dapat menggunakan pemberian label ulang untuk mengambil
nilai label ini dalam label yang di-scrap.
Pemberian label ulang metrik diterapkan ke sampel; ini adalah langkah terakhir sebelum penyerapan. Anda dapat menggunakan pemberian label ulang metrik untuk menghapus deret waktu yang tidak perlu diserap; menghapus deret waktu ini akan mengurangi jumlah sampel yang diserap, sehingga dapat menurunkan biaya.
Untuk informasi selengkapnya tentang pemberian label ulang, lihat dokumentasi Prometheus
untuk relabel_config
dan
metric_relabel_configs
.
Label meta Compute Engine tersedia selama pemberian label ulang
Saat meng-scrape metrik, Agen Operasional akan menyertakan serangkaian label meta yang nilainya
didasarkan pada konfigurasi VM Compute Engine tempat
agen berjalan. Anda dapat menggunakan label ini dan bagian relabel_configs
penerima Prometheus untuk menambahkan metadata tambahan ke metrik tentang VM tempat metrik tersebut diserap. Misalnya, 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); Ops Agent secara otomatis menempatkan nilai ini dalam labelinstance_name
yang dapat diubah pada metrik Anda.__meta_gce_machine_type
: URL lengkap atau sebagian dari jenis mesin instance; Ops Agent secara otomatis menempatkan nilai ini dalam 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 bernama__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 Ops Agent dimulai. Jika mengubah nilai, Anda harus memulai ulang Ops Agent untuk memuat ulang nilai.
Konfigurasi penerima tambahan
Bagian ini memberikan contoh yang menggunakan bagian relabel_configs
dan metric_relabel_configs
penerima Prometheus untuk mengubah jumlah dan struktur metrik yang diserap. Bagian ini juga menyertakan
versi penerima yang dimodifikasi untuk contoh JSON Exporter yang menggunakan
opsi pemberian label ulang.
Menambahkan 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 Ops untuk membuat label metrik, zone
, yang
dipertahankan setelah pemberian label ulang, karena zone
tidak memiliki
awalan __
.
Untuk mengetahui daftar label meta yang tersedia, lihat Label meta Compute Engine yang tersedia selama pemberian label ulang. Beberapa label meta diberi label ulang untuk Anda oleh konfigurasi Agen Operasional default.
relabel_configs: - source_labels: [__meta_gce_zone] regex: '(.+)' replacement: '${1}' target_label: zone
Penerima Prometheus yang ditampilkan di Contoh: Mengonfigurasi Agen Operasi untuk Prometheus menyertakan penambahan label ini.
Metrik drop
Anda dapat menggunakan bagian metrics_relabel_configs
untuk menghapus metrik yang tidak ingin ditransfer; 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 JSON Exporter menggunakan pola konfigurasi ini untuk melakukan hal berikut:
- Tetapkan label
zone
dari nilai label meta__meta_gce_zone
yang disediakan oleh Agen Operasi. - Hapus metrik
example_global_value
eksportir. - Tambahkan label
staticLabel
dengan nilai "Nilai statis" ke semua metrik yang ditransfer.
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