Prometheus 配置文件中 metric_relabel_configs 配置

参考1:https://www.baidu.com/link?url=YfpBgnD1RoEthqXOL3LgnymQ2hccghAUXZIAkzZBTdJ-7K_4shh2V5LDCZy4ymCv&wd=&eqid=adec794e001cdfb9000000065e0d9acd

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 中保存。

重新标记操作一般常见的情况

  1. 删除不必要的指标。
  2. 从指标中删除敏感或不需要的标签。
  3. 添加、编辑或者修改指标的标签值或者标签格式。

一、删除不需要的指标(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_namemetriclabel命名可能不相同。比如: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 配置--转载的更多相关文章

  1. 【转】MyBatis学习总结(三)——优化MyBatis配置文件中的配置

    [转]MyBatis学习总结(三)——优化MyBatis配置文件中的配置 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的con ...

  2. Mybatis系列(二):优化MyBatis配置文件中的配置和解决字段名与实体类属性名不相同的冲突

    原文链接:http://www.cnblogs.com/xdp-gacl/p/4264301.html     http://www.cnblogs.com/xdp-gacl/p/4264425.ht ...

  3. git在eclipse中的配置 转载

    git在eclipse中的配置 转载 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EG ...

  4. MyBatis学习总结(三)——优化MyBatis配置文件中的配置(转载)

    本文转载自:http://www.cnblogs.com/jpf-java/p/6013548.html 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置 ...

  5. MyBatis入门学习教程-优化MyBatis配置文件中的配置

    一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version=" ...

  6. MyBatis学习总结(三)——优化MyBatis配置文件中的配置

    一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version=" ...

  7. MyBatis学习总结(三)——优化MyBatis配置文件中的配置

    一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: <?xml version="1 ...

  8. MyBatis——优化MyBatis配置文件中的配置

    原文:http://www.cnblogs.com/xdp-gacl/p/4264301.html 一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写 ...

  9. MyBatis学习总结_03_优化MyBatis配置文件中的配置

    一.连接数据库的配置单独放在一个properties文件中 之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中,如下: 1 <?xml version=" ...

随机推荐

  1. ituring 挂了

    ituring 挂了 图灵社区 挂了 运行时错误 "/"应用程序中的服务器错误. 运行时错误 说明: 服务器上出现应用程序错误.此应用程序的当前自定义错误设置禁止远程查看应用程序错 ...

  2. 专利 & 发明专利 & 专利查询

    专利 & 发明专利 & 专利查询 PDF 文档中表格解析的方法.系统.存储介质及电子设备 中国专利公布公告 http://epub.sipo.gov.cn/index.action 中 ...

  3. The Filesystem Hierarchy Standard of Linux

    The Filesystem Hierarchy Standard of Linux linux directory https://zhuanlan.zhihu.com/p/23862856 htt ...

  4. 百万SPC即将空投,3.0公链NGK有多“豪横”?

    在1月2日晚间,比特币强势突破3万美金,随后还在一路上涨,现在价格33431.64美金.仅用了不到一个月的时间,比特币就从2万美金涨到了3万美金,这充分展示了市场对于数字货币的强烈信心.没有了天花板的 ...

  5. 痞子衡嵌入式:串行NOR Flash的DQS信号功能简介

    大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是串行NOR Flash的DQS信号功能. 串行NOR Flash在嵌入式里的应用相当广泛,既可用作数据存储也可以用作代码(XiP)存储, ...

  6. Vue.js 多选列表(Multi-Select)组件

    搬运公众号早前文章 多选列表 (Multi-Select) 是一种将所有选项列出,并允许用户利用 Ctrl/Shift 键进行多选的 UI 元素.这是一种常见的设计元素.有时候为了节省空间,我们会将选 ...

  7. mysql 单表下的字段操作

    如下只介绍单表的添加.更新.删除.查询表结构操作,查询数据操作范围太大用单独的篇幅来讲解: 查看表结构 desc test_tb; Insert 插入数据 插入 = 添加 为表中指定的字段插入数据 C ...

  8. 只需2分钟!PC端的报表即可转换成手机报表

    转: 只需2分钟!PC端的报表即可转换成手机报表 手机制作报表,这个大家不知有没有尝试过,虽然我们平时都用电脑做,但是电脑要是不在身边了,手机就可以用来应应急.但其实小编并没有在手机上制作报表的实践经 ...

  9. Nginx常用内核参数优化,安装,基本命令

    1.内核参数配置,默认的Linux内核参数考虑的是通用的场景,明显不符合用于支持高并发访问web服务的定义,所以需要修改Linux内核参数,使得Nginx可以拥有更高的性能.可以通过修改 /etc/s ...

  10. 大牛带你学会java类加载机制,不要错过,值得收藏!

    很多人对java类加载机制都是非常抗拒的,因为这个太难理解了,但是我们作为一名优秀的java工程师,还是要把java类加载机制研究和学习明白的,因为这对于我们在以后的工作中有很大的帮助,因为它在jav ...