Prometheus 配置文件中 metric_relabel_configs 配置--转载
Prometheus 配置文件中 metric_relabel_configs 配置
Prometheus 从数据源拉取数据后,会对原始数据进行编辑;其中 metric_relabel_configs 是 Prometheus 在保存数据前的最后一步标签重新编辑(relabel_configs)。
所以,哪怕你将 metric_relabel_configs 模块放在 job_name 模块的最前端,Prometheus 解析编辑文件后,也会将 metric_relabel_configs 放在最后。
metric_relabel_configs 模块和 relabel_config 模块很相似。metric_relabel_configs 一个很常用的用途:将监控不需要的数据,直接丢掉,不在Prometheus 中保存。
重新标记操作一般常见的情况
- 删除不必要的指标。
- 从指标中删除敏感或不需要的标签。
- 添加、编辑或者修改指标的标签值或者标签格式。
一、删除不需要的指标(metric)
Prometheus 默认会将所有拉取到的 metrics 都写入自己的存储中。如果某些 metrics 对我们并没有太多意义,可以设置直接丢掉,减少磁盘空间的浪费。‘node_netstat_Icmp_OutMsgs’ 指标数据。
metric_relabel_configs:
- source_labels: [ __name__ ]
regex: 'node_netstat_Icmp_OutMsgs'
action: drop
使用 source_labels 参数选择要要操作的指标,并且还需要一组标签名称。
示例中使用 __name__ 标签,此标签是标识指标名称的预留标签。
如上,我们丢掉指定job_name 中的
参考上面的配置,我们可以对指标(metric) 进行添加,删除,重命名等操作。
二、修改指标(metric) 中的标签(label)
如果我们使用 Prometheus 监控 Kubernetes 运行状态;应该会遇到,在一个 query 中结合一个以上的job_name(metric_source)的情况。
不同的job_name中metric的label命名可能不相同。比如:pod的名称可以使用“pod”或者“pod_name” 这两个 label 记录。如果相同含义的label,名称却不相同;对query的编写就很困难了。至少我没有在PromQL 中找到类似 SQL 语句中的 as 的功能的关键词和方法。
这样的话,正确的解决思路应该是在 Prometheus 拉取数据后,保存数据前;将 label 的名称进行重写;保证相同含义的label 有相同的名称。
metric_relabel_configs:
- source_labels: [pod]
separator: ;
regex: (.+)
target_label: pod_name
replacement: $1
action: replace
- source_labels: [container]
separator: ;
regex: (.+)
target_label: container_name
replacement: $1
action: replace
如上,将指定job_name中,所有的metrics中含有名为“pod”和“container”名称的label分别拷贝到名为“pod_name”,“container_name”的label中。
注意:如果metric 的 label的名称包含了“pod”和“container”关键词,但是不等于;则不会处理此label。
三、删除标签
删除标签通常用于隐藏敏感信息或者简化时间序列。
metric_relabel_configs:
- regex: 'kernelVersion'
action: labeldrop
为了删除标签,我们指定了一个正则表达式,然后指定删除标签的操作labeldrop。
这将删除与正在表达式匹配的所有标签。
Prometheus 配置文件中 metric_relabel_configs 配置--转载的更多相关文章
- 【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置
[转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的con ...
- Mybatis系列(二):优化MyBatis配置文件中的配置和解决字段名与实体类属性名不相同的冲突
原文链接:http://www.cnblogs.com/xdp-gacl/p/4264301.html http://www.cnblogs.com/xdp-gacl/p/4264425.ht ...
- git在eclipse中的配置 转载
git在eclipse中的配置 转载 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EG ...
- MyBatis学习总结(三)——优化MyBatis配置文件中的配置(转载)
本文转载自:http://www.cnblogs.com/jpf-java/p/6013548.html 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置 ...
- MyBatis入门学习教程-优化MyBatis配置文件中的配置
一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version=" ...
- MyBatis学习总结(三)——优化MyBatis配置文件中的配置
一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version=" ...
- MyBatis学习总结(三)——优化MyBatis配置文件中的配置
一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: <?xml version="1 ...
- MyBatis——优化MyBatis配置文件中的配置
原文:http://www.cnblogs.com/xdp-gacl/p/4264301.html 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写 ...
- MyBatis学习总结_03_优化MyBatis配置文件中的配置
一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version=" ...
随机推荐
- .dmg & .pkg & .ipa
.dmg & .pkg & .ipa Apple, macOS, iOS .dmg mysql-8.0.21-macos10.15-x86_64.dmg https://dev.mys ...
- Dart & import show & import hide & import as & part & part of
Dart & import show & import hide & import as & part & part of // 部分导入,即仅仅导入 dart ...
- where is the storage location of the browser's HTTP cache? disk or memory
where is the storage location of the browser's HTTP cache? disk or memory HTTP cache & storage l ...
- website 性能检测 & 前端性能优化
website 性能检测 & 前端性能优化 https://cdn.xgqfrms.xyz/ https://mobile.xgqfrms.xyz/ PageSpeed Insights ht ...
- css dark theme & js theme checker
css dark theme & js theme checker live demo https://codepen.io/xgqfrms/pen/GRprYLm <!DOCTYPE ...
- Node.js & LTS
Node.js & LTS 2020 https://nodejs.org/en/about/releases/ https://raw.githubusercontent.com/nodej ...
- 观点纠正,yarn和npm对比,今天yarn仍然比npm快吗
yarn和npm的区别和对比,网上很多了,不多说了. 只纠正一个观点:yarn仍然比npm快吗?不. 2016年,yarn刚刚发布,速度确实比npm快,于是网络上出现了好多推荐yarn的文章. 于是很 ...
- mysql事务的实现原理
此篇文章算是对mysql事务的一个总结,基本把mysql事务相关的知识点都涵盖到了,面试问来问去无非也就是这些,在了解这些之前我们先对mysql在执行的过程中 有一个整体的认识,如下图 如上图所示,M ...
- luogu4464:莫比乌斯反演,积性函数和伯努利数
题目链接:https://www.luogu.com.cn/problem/P4464 简记$gcd(x,y)=(x,y)$. 推式子: $\sum_{i=1}^{n}{(i,n)^xlcm(i,n) ...
- Java流程控制:选择结构
一.选择结构 选择结构用于判断给定的条件,根据判断的结果来控制程序的流程. Java中选择结构的语法主要分为'if...else'语句和'switch...case'语句. Java中选择结构语句在语 ...