從原始碼徹底理解 Prometheus/VictoriaMetrics 中的 relabel_configs/metric_relabel_configs 設定

2023-03-21 15:03:13

背景

最近接手維護了公司的指標監控系統,之後踩到坑就沒站起來過。。

本次問題的起因是我們設定了一些指標的刪除策略沒有生效:

      - action: drop_metrics
        regex: "^envoy_.*|^url\_\_\_\_.*|istio_request_bytes_sum"

與這兩個容易引起誤解的設定relabel_configs/metric_relabel_configs有關。

他們都是對抓取的資料進行重新命名、過濾、新增、刪除等操作,但應用場景卻完全不同。

我們使用了 VictoriaMetrics 替換了 Prometheus,VM 完全相容 Prometheus ,所以本文也對 Prometheus 同樣適用。

理解錯誤1


但這裡其實是有一個錯誤理解的,我是通過 VM 的服務發現頁面的指標響應頁面查詢指標的,開啟之後確實能搜到需要被刪除的相關指標。

但其實即便是真的刪除了資料這個頁面也會有資料存在,刪除的資料只是不會寫入 VM 的時序資料庫中。

這一點是在後續查原始碼時才發現;後面我設定對了依然在這裡檢視資料,發現還是沒有刪除,這個錯誤理解浪費了不少時間