網站首頁 編程語言 正文
Prometheus處理metrics的標簽
Prometheus在拉取exporter的數據之后,會對數據標簽進行編輯,也允許用戶通過relabel_configs對標簽進行處理,包括修改、刪除標簽以及刪除不必要的標簽。
1、配置說明
相關配置具體如下:
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['47.95.32.229:9100']
relabel_configs:
- source_labels: '[' <labelname> [, ...] ']' #從target數據中現有標簽中選擇值,source_label的值使用separator的配置進行連接,當與regex的正則表達式匹配時,進行action中配置的動作,如:替換、保留、刪除等
separator: <string> | default = ; #連接source_label中的多個標簽,默認值是";"
target_label: <labelname> #目標標簽,當action配置為replace時,target_label是必須的
regex: <regex> | default = (.*) #通過正則表達式匹配提取值
modulus: <uint64> #獲取source_labels的哈希值模數
replacement: <string> | default = $1 #如果正則表達式匹配到值的話,則用當前值進行替換
action: <relabel_action> | default = replace #對匹配到的標簽進行的操作,
其中,<relabel_action>包含以下幾種操作:
- replace:使用replacement的值替換被regex正則匹配到source_label;
- keep:保留被匹配到的標簽的metric,刪除未被匹配到標簽的 metric;
- drop:刪除被匹配到的標簽的metric,保留未被匹配到標簽的metric;
- hashmod:將target_label設置成source_label的modulus配置的hash值;
- labelmap:將regex匹配到的所有標簽的名稱配置成新的標簽,值配置成新標簽的值;
- labeldrop:將符合規則的標簽刪除,保留未被匹配的標簽;
- labelkeep:將符合規則的標簽保留,刪除未被匹配的標簽。
2. 給metrics添加標簽
在基于Prometheus進行監控平臺的設計的過程中,通過標簽對metrics進行分類,所以需要給metrics添加標簽。配置舉例如下:
scrape_configs:
- job_name: 'node'
static_configs:
- targets: ['localhost:9100']
metric_relabel_configs:
- target_label: test_key
replacement: test_value
在去Prometheus上查看收集到的metrics:
可以看到該node上的metrics都增加了test_key的label,內容為指定的test_value。
(而且標簽的值還可以支持中文,這什么神仙監控組件啊,我哭了o(╥﹏╥)o)
我們可以通過這種方式metrics添加自己想要的標簽,更靈活的使用Prometheus的標簽處理自己的監控項。
官方文檔如下:
https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config
自勉小尾巴: 多少事,從來急;天地轉,光陰迫。一萬年太久,只爭朝夕。
原文鏈接:https://blog.csdn.net/weixin_44723434/article/details/103886782
相關推薦
- 2022-06-13 C語言指針超詳細講解上篇_C 語言
- 2022-07-06 C++實現中值濾波的示例代碼_C 語言
- 2022-04-10 git本地提交到遠程倉庫報錯error: failed to push some refs to
- 2022-01-05 webpack——Loader示例:打包css文件
- 2022-12-21 Android?O對后臺Service限制詳解_Android
- 2023-04-12 Blazor實現組件嵌套傳遞值的示例詳解_其它綜合
- 2022-05-10 oracle如何創建或刪除臨時表空間和空間詳解
- 2022-06-08 CentOs7下docker簡單實踐,安裝nginx
- 最近更新
-
- window11 系統安裝 yarn
- 超詳細win安裝深度學習環境2025年最新版(
- Linux 中運行的top命令 怎么退出?
- MySQL 中decimal 的用法? 存儲小
- get 、set 、toString 方法的使
- @Resource和 @Autowired注解
- Java基礎操作-- 運算符,流程控制 Flo
- 1. Int 和Integer 的區別,Jav
- spring @retryable不生效的一種
- Spring Security之認證信息的處理
- Spring Security之認證過濾器
- Spring Security概述快速入門
- Spring Security之配置體系
- 【SpringBoot】SpringCache
- Spring Security之基于方法配置權
- redisson分布式鎖中waittime的設
- maven:解決release錯誤:Artif
- restTemplate使用總結
- Spring Security之安全異常處理
- MybatisPlus優雅實現加密?
- Spring ioc容器與Bean的生命周期。
- 【探索SpringCloud】服務發現-Nac
- Spring Security之基于HttpR
- Redis 底層數據結構-簡單動態字符串(SD
- arthas操作spring被代理目標對象命令
- Spring中的單例模式應用詳解
- 聊聊消息隊列,發送消息的4種方式
- bootspring第三方資源配置管理
- GIT同步修改后的遠程分支