Mengumpulkan metrik Prometheus

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 menggunakan Google Cloud Managed Service for Prometheus. Penerima Prometheus Agen Operasional memberikan kemampuan yang sama kepada pengguna Compute Engine.

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 KonsolGoogle Cloud untuk Monitoring, untuk membuat kueri 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 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 mengetahui 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 Ops Agent jika kondisi berikut terpenuhi:

  • Anda memiliki pengalaman menggunakan Prometheus, mengandalkan standar Prometheus, dan memahami cara 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 set integrasi Agen Operasional 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 dikenai harga berbasis byte untuk metrik yang dikumpulkan oleh agen. Untuk mengetahui informasi tentang harga ini, lihat Metrik yang dikenakan biaya berdasarkan byte yang diserap. 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 mengumpulkan lima metrik skalar; setiap titik data dihitung sebagai 8 byte. Jika Anda mempertahankan frekuensi pengambilan sampel default Ops Agent 60 detik, jumlah byte yang di-ingest 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 perkiraan 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 kendali Anda. Tidak ada kumpulan metrik yang diseleksi. Jumlah data yang Anda masukkan ditentukan oleh konfigurasi aplikasi Prometheus dan penerima Prometheus Agen Operasional.

  • Metrik dimasukkan 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 masukkan dan kebutuhan bisnis Anda. Untuk mengetahui informasi tentang cara membuat dasbor, lihat Dasbor dan diagram.

  • Harga untuk penyerapan metrik didasarkan pada jumlah Metrik yang dikenakan biaya berdasarkan sampel yang diserap. Untuk memperkirakan biaya saat menggunakan penerima Prometheus, Anda perlu menentukan jumlah sampel yang kemungkinan akan dikumpulkan selama siklus penagihan. Estimasi 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) sampel
    • Frekuensi pengambilan sampel setiap metrik
    • Jumlah host yang digunakan untuk mengambil sampel metrik

    Untuk mengetahui informasi selengkapnya tentang penghitungan sampel dan perkiraan biaya, lihat 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 tinggi.

Penerima Agen Operasional memerlukan endpoint yang memancarkan metrik Prometheus. Oleh karena itu, aplikasi Anda harus menyediakan endpoint tersebut secara langsung atau menggunakan library atau exporter Prometheus untuk mengekspos endpoint. Banyak library dan framework bahasa seperti Spring dan DropWizard, atau aplikasi seperti StatsD, DogStatsD, dan Graphite, yang memancarkan metrik non-Prometheus dapat menggunakan library atau eksportir klien Prometheus untuk memancarkan metrik gaya Prometheus. Misalnya, untuk memancarkan metrik Prometheus:

Saat metrik Prometheus dipancarkan oleh aplikasi, baik secara langsung maupun dengan menggunakan library atau pengekspor, metrik tersebut kemudian dapat dikumpulkan oleh Ops Agent yang dikonfigurasi dengan penerima Prometheus.

Mengonfigurasi Agen Operasional

Model konfigurasi Agen Operasional biasanya melibatkan penentuan hal berikut:

  • Penerima, yang menentukan metrik mana yang dikumpulkan.
  • Prosesor, yang menjelaskan cara Agen Operasional dapat mengubah metrik.
  • Pipeline, yang menautkan penerima dan pemroses menjadi 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 pelabelan ulang.

    Daripada menggunakan pemroses Agen Operasional, pemrosesan metrik apa pun dilakukan dengan menggunakan bagian relabel_configs dan metric_relabel_configs dari konfigurasi scraping, seperti yang ditentukan dalam penerima Prometheus. Untuk mengetahui informasi selengkapnya, lihat Memberi label ulang: Mengubah data yang di-scrape.

  • 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. Untuk mempersingkat, opsi tersebut tidak disertakan. Berikut ini 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 contoh fungsional penerima dan pipeline, lihat Menambahkan penerima dan pipeline Agen Operasional.

Penerima Prometheus

Untuk menentukan penerima metrik Prometheus, Anda membuat penerima metrik berjenis prometheus dan menentukan serangkaian opsi scrape_config. Penerima mendukung semua opsi Prometheus scrape_config, kecuali yang berikut:

  • Bagian penemuan layanan, *_sd_config.
  • Setelan honor_labels.

Oleh karena itu, Anda dapat menyalin konfigurasi pengambilan data yang ada dan menggunakannya untuk Agen Operasi 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 konfigurasi pelabelan ulang, lihat Konfigurasi penerima tambahan.

Contoh: Mengonfigurasi Agen Operasional untuk Prometheus

Bagian ini menunjukkan contoh cara mengonfigurasi Agen Operasi 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 tinggi

Membuat atau mengonfigurasi aplikasi Anda

Untuk mendapatkan dan menjalankan JSON Exporter, gunakan prosedur berikut:

  1. 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
    
  2. Bangun eksportir dengan menjalankan perintah berikut:

    make build
    
  3. Mulai server HTTP Python dengan menjalankan perintah berikut:

    python3 -m http.server 8000 &
    
  4. Mulai JSON Exporter dengan menjalankan perintah berikut:

    ./json_exporter --config.file examples/config.yml &
    
  5. Kueri JSON Exporter untuk memverifikasi bahwa JSON Exporter 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 mirip dengan 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. Nilai data mengikuti set label.

Menambahkan penerima dan pipeline Agen Operasional

Untuk mengonfigurasi Agen Operasional agar menyerap metrik dari aplikasi JSON Exporter, Anda harus mengubah konfigurasi agen untuk menambahkan penerima dan pipeline Prometheus. Untuk contoh JSON Exporter, gunakan prosedur berikut:

  1. Edit file konfigurasi Agen Operasional, /etc/google-cloud-ops-agent/config.yaml, dan tambahkan entri pipeline dan penerima 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 dan service yang ada. Untuk mengetahui informasi selengkapnya, lihat Konfigurasi metrik.

    Untuk contoh konfigurasi pelabelan ulang di penerima, lihat Konfigurasi penerima tambahan.

Mulai ulang Agen Operasional

Untuk menerapkan perubahan konfigurasi, Anda harus memulai ulang Agen Operasi.

LINUX

  1. Untuk memulai ulang agen, jalankan perintah berikut di instance Anda:

    sudo service google-cloud-ops-agent restart
    
  2. Untuk mengonfirmasi bahwa agen telah dimulai ulang, jalankan perintah berikut dan verifikasi bahwa komponen "Metrics Agent" dan "Logging Agent" telah dimulai:

    sudo systemctl status google-cloud-ops-agent"*"
    

Windows

  1. Hubungkan ke instance Anda menggunakan RDP atau alat serupa dan login ke Windows.

  2. Buka terminal PowerShell dengan hak istimewa administrator dengan mengklik kanan ikon PowerShell dan memilih Run as Administrator.

  3. Untuk memulai ulang agen, jalankan perintah PowerShell berikut:

    Restart-Service google-cloud-ops-agent -Force
    
  4. Untuk mengonfirmasi bahwa agen telah dimulai ulang, jalankan perintah berikut dan verifikasi bahwa komponen "Metrics Agent" dan "Logging Agent" telah 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 KonsolGoogle 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 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 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 di-ingest menggunakan penerima Prometheus.

Cara termudah untuk memverifikasi bahwa data Prometheus Anda sedang di-ingest adalah dengan menggunakan halaman Metrics Explorer Cloud Monitoring di konsol Google Cloud :

  1. Di konsol Google Cloud , buka halaman  Metrics explorer:

    Buka Metrics explorer

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di toolbar panel pembuat kueri, pilih tombol yang namanya  MQL atau  PromQL.

  3. Pastikan PromQL dipilih di tombol Language. Tombol bahasa ada di toolbar yang sama yang memungkinkan Anda memformat kueri.

  4. Masukkan kueri berikut ke editor, lalu klik Run query:

    up
    

Jika data Anda sedang di-ingest, Anda akan melihat diagram seperti berikut:

Diagram Metrics Explorer untuk metrik up json-exporter.

Jika Anda menjalankan contoh JSON Exporter, Anda juga dapat mengeluarkan kueri seperti berikut:

  • Kueri semua data untuk metrik yang diekspor tertentu menurut nama, misalnya:

    example_value_count
    

    Berikut ini menampilkan diagram untuk example_value_count, termasuk label yang ditentukan oleh aplikasi JSON Exporter dan label yang ditambahkan oleh Ops Agent:

    Diagram Metrics Explorer untuk metrik json-exporter example_value_count.

  • Mengueri data untuk metrik yang diekspor yang berasal dari namespace tertentu. Nilai label namespace adalah ID instance Compute Engine, angka panjang seperti 5671897148133813325, yang ditetapkan ke VM. Kueri akan terlihat seperti berikut:

    example_value_count{namespace="INSTANCE_ID"}
    
  • Membuat kueri data yang cocok dengan ekspresi reguler tertentu. JSON Exporter memancarkan metrik dengan label id yang memiliki nilai seperti id-A, id-B, id-C. Untuk memfilter metrik apa pun dengan label id yang cocok dengan pola ini, gunakan kueri berikut:

    example_value_count{id=~"id.*"}
    

Untuk mengetahui informasi selengkapnya tentang cara menggunakan PromQL di Metrics Explorer dan diagram Cloud Monitoring, lihat PromQL di Cloud Monitoring.

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 kemampuan pengamatan. Halaman Pengelolaan Metrik melaporkan informasi berikut:

  • Volume penyerapan 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 halaman Pengelolaan Metrik untuk mengecualikan metrik yang tidak diperlukan, sehingga menghilangkan biaya penyerapan metrik tersebut.

Untuk melihat halaman Pengelolaan Metrik, lakukan hal berikut:

  1. Di konsol Google Cloud , buka halaman  Metrics management:

    Buka Pengelolaan metrik

    Jika Anda menggunakan kotak penelusuran untuk menemukan halaman ini, pilih hasil yang subjudulnya adalah Monitoring.

  2. Di toolbar, pilih rentang waktu Anda. Secara default, halaman Pengelolaan Metrik menampilkan informasi tentang metrik yang dikumpulkan dalam satu hari sebelumnya.

Untuk mengetahui informasi selengkapnya tentang halaman Pengelolaan Metrik, lihat Melihat dan mengelola penggunaan metrik.

Memberi label ulang: Mengubah data yang di-scraping

Anda dapat menggunakan pelabelan ulang untuk mengubah set label target pengambilan data atau metriknya sebelum target diambil datanya. Jika Anda memiliki beberapa langkah dalam konfigurasi pelabelan ulang, langkah tersebut diterapkan sesuai urutan yang muncul dalam file konfigurasi.

Ops Agent membuat serangkaian label meta (label yang diawali dengan string __meta_. Label meta ini mencatat informasi tentang instance Compute Engine tempat Agen Operasional berjalan. Label yang diawali dengan string __, termasuk label meta, hanya tersedia selama pelabelan ulang. Anda dapat menggunakan pelabelan ulang untuk mengambil nilai label ini dalam label yang di-scrape.

Pelabelan ulang metrik diterapkan ke sampel; ini adalah langkah terakhir sebelum penyerapan. Anda dapat menggunakan pelabelan ulang metrik untuk menghapus deret waktu yang tidak perlu Anda masukkan; menghapus deret waktu ini akan mengurangi jumlah sampel yang dimasukkan, sehingga dapat menurunkan biaya.

Untuk mengetahui informasi selengkapnya tentang pelabelan ulang, lihat dokumentasi Prometheus untuk relabel_config dan metric_relabel_configs.

Label meta Compute Engine tersedia selama pelabelan ulang

Saat melakukan scraping metrik, Agen Operasional 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 Anda tentang VM tempat metrik tersebut di-ingest. Untuk melihat 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 dalam label instance_name yang dapat diubah pada metrik Anda.
  • __meta_gce_machine_type: URL lengkap atau sebagian dari jenis mesin instance; Agen Operasi secara otomatis menempatkan nilai ini dalam label machine_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 setiap antarmuka bernama
  • __meta_gce_project: Google Cloud project 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 Anda mengubah nilai, Anda harus memulai ulang Agen Operasi untuk memperbarui 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 di-ingest. Bagian ini juga mencakup versi penerima yang diubah untuk contoh JSON Exporter yang menggunakan opsi pelabelan ulang.

Menambahkan metadata VM

Anda dapat menggunakan bagian relabel_configs untuk menambahkan label ke metrik. Misalnya, berikut ini menggunakan label meta, __meta_gce_zone, yang disediakan oleh Ops Agent untuk membuat label metrik, zone, yang dipertahankan setelah diberi label ulang, karena zone tidak memiliki awalan __.

Untuk mengetahui daftar label meta yang tersedia, lihat Label meta Compute Engine yang tersedia selama pelabelan ulang. Beberapa label meta dilabeli 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 dalam Contoh: Mengonfigurasi Agen Operasional untuk Prometheus mencakup penambahan label ini.

Metrik pelepasan

Anda dapat menggunakan bagian metrics_relabel_configs untuk menghilangkan metrik yang tidak ingin Anda masukkan; pola ini berguna untuk menekan 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 diproses oleh penerima Prometheus. Anda dapat menggunakan pola berikut untuk menambahkan label staticLabel1 dan staticLabel2 ke semua metrik yang di-ingest:

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

Contoh penerima Prometheus untuk JSON Exporter versi berikut menggunakan pola konfigurasi ini untuk melakukan hal berikut:

  • Tetapkan label zone dari nilai label meta __meta_gce_zone yang disediakan oleh Agen Operasional.
  • Hapus metrik example_global_value eksportir.
  • Tambahkan label staticLabel dengan nilai "A static value" ke semua metrik yang di-ingest.
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