• 6.1relabel_config的位置
  • 6.2 relabel_config参数详解
    • 1.replace
    • 2. keep
    • 3.drop
    • 6.labelkeep
    • 7.hashmod
  • 6.3 正则表达式

重新标记是一种强大的工具,可以在抓取目标之前动态重写目标的标签集。 每个抓取配置可以配置多个重新标记步骤。 按照它们在配置文件中的出现顺序应用于每个目标的标签集。

6.1relabel_config的位置

1 global:
2 ....
3 # 抓取配置列表.
4 scrape_configs:
5 [ - <scrape_config> ... ]....
 1 # The job name assigned to scraped metrics by default.
2 job_name: <job_name>
3
4 [ honor_labels: <boolean> | default = false ]
5
6 [ honor_timestamps: <boolean> | default = true ]
7
8 # List of target relabel configurations.
9 relabel_configs:
10 [ - <relabel_config> ... ]
11
12 # List of metric relabel configurations.
13 metric_relabel_configs:
14 [ - <relabel_config> ... ]
15 ......

6.2 relabel_config参数详解

 1 # 源标签从现有标签中选择值。 它们的内容使用已配置的分隔符进行连接,并与已配置的正则表达式进行匹配,以进行替换,保留和删除操作。
2 [ source_labels: '[' <labelname> [, ...] ']' ]
3
4 # 分隔符放置在连接的源标签值之间。
5 [ separator: <string> | default = ; ]
6
7 # 在替换操作中将结果值写入的标签。
8 # 替换操作是强制性的。 正则表达式捕获组可用。
9 [ target_label: <labelname> ]
10
11 # 与提取的值匹配的正则表达式。
12 [ regex: <regex> | default = (.*) ]
13
14 # 采用源标签值的散列的模数。
15 [ modulus: <uint64> ]
16
17 # 如果正则表达式匹配,则执行正则表达式替换的替换值。 正则表达式捕获组可用。
18 [ replacement: <string> | default = $1 ]
19
20 # 基于正则表达式匹配执行的操作。
21 [ action: <relabel_action> | default = replace ]

<regex>是任何有效的RE2正则表达式。 它是replacekeepdroplabelmaplabeldroplabelkeep操作所必需的。 正则表达式固定在两端。 要取消锚定正则表达式,请使用。* <regex>.*

<relabel_action>确定要采取的重新签名行动:

1.replace 

regex与连接的source_labels匹配。 然后,将target_label设置为replacement,将匹配组引用(${1}${2},...)替换为其值。 如果正则表达式不匹配,则不进行替换。

 1 scrape_configs:
2 - job_name: file
3 file_sd_configs:
4 - files:
5 - '*.json'
6 #例如:team="monitoring"-->team_new="monitor"
7 relabel_configs:
8 -source_labels: [team]
9 regex: monitoring
10 replacement: monitor
11 target_label: team_new
12 action: replace
13 #action的默认值是replace
14 - source_labels: [__meta_consul_address]
15 regex: '(.*)'
16 replacement: '${1}:9100'
17 target_label: __address__
18 #参看上面看看这个什么意思
19 - source_labels: [__meta_consul_tag]
20 regex: '.*,(prod|staging|dev),.*'
21 target_label: env

2. keep

删除regex与连接的source_labels不匹配的目标。

1 scrape_configs:
2 - job_name: node
3 consul_sd_configs:
4 - server: 'localhost:8500'
5 relabel_configs:
6 - source_labels: [__meta_consul_tag]
7 regex: '.*,prod,.*'
8 action: keep

3.drop

删除regex与连接的source_labels匹配的目标。

1 scrape_configs:
2 - job_name: node
3 consul_sd_configs:
4 - server: 'localhost:8500'
5 relabel_configs:
6 - source_labels: [__meta_consul_tag]
7 regex: '.*,prod,.*'
8 action: drop

4.labelmap

regex与所有标签名称匹配。 然后将匹配标签的名称替换为replacement指定的值。(不同于replace,keep,drop,只改变label名,不修改标签值)

 1 scrape_configs:
2 - job_name: ec2
3 ec2_sd_configs:
4 - region: <region>
5 access_key: <access key>
6 secret_key: <secret key>
7 #将所有以monitor_开头的标签名替换为去掉monitor_前缀的新标签名字(例如:monitor_foo="bar"-->foo="bar")
8 relabel_configs:
9 - regex: monitor_(.*)
10 replacement: '${1}'
11 action: labelmap

5.labeldrop

regex与所有标签名称匹配。匹配的任何标签都将从标签集中删除。(理labelmap)5.labeldrop

6.labelkeep

regex与所有标签名称匹配。任何不匹配的标签都将从标签集中删除。(同理labelmap)

7.hashmod

target_label设置为连接的source_labels的哈希模数。

 1 scrape_configs:
2 - job_name: my_job
3 # Service discovery etc. goes here.
4 relabel_configs:
5 #prometheus从特定targets随机抓取数据量的10%
6 - source_labels: [__address__]
7 modulus: 10
8 target_label: __tmp_hash
9 action: hashmod
10 - source_labels: [__tmp_hash]
11 regex: 0 #指定抓取的目标
12 action: keep

必须小心使用labeldroplabelkeep,以确保在删除标签后仍然对指标进行唯一标记。

6.3 正则表达式

6. 配置项:relabel_config的更多相关文章

  1. SpringMVC配置项学习笔记

    1. <mvc:annotation-driven /> <mvc:annotation-driven />是一种简写形式,默认会注册DefaultAnnotationHand ...

  2. JSHint配置项说明

    转自:http://www.jianshu.com/p/4cb23f9e19d3 什么是JSHint? 官方网站这样介绍: JSHint, A Static Code Analysis Tool fo ...

  3. validate插件深入学习-03validate()方法配置项

    validate()方法配置项 rules 定义校验规则 messages 定义提示信息 上面这两个已经介绍过了 rules里隐藏的属性depends,只有符合条件(返回true)的时候才会执行 su ...

  4. 配置项setOption -- title

    标题组件,包含主标题和副标题.在 ECharts 3 中可以存在任意多个标题组件,这在需要标题进行排版,或者单个实例中的多个图表都需要标题时会比较有用. title.show boolean [ de ...

  5. Ext JS 4 新特性2:配置项属性(config)之二

    Ext JS 4 新特征2:配置项属性config之二 ☞ Config(自动的setters和getters) Ext JS 4介绍了config声明方式,在Ext JS 中也有几个例子:在运行程序 ...

  6. Ext JS 4 新特性2:配置项属性(config)之一

    Ext JS 4 新特征2:配置项属性config 最新版本的Ext JS 4.2的另外一个伟大的新特征就是增加了configuration配置项属性,当我们在创建一个新类的时候,经常性的要设置某某属 ...

  7. Redis应用配置项说明

    近期整理了下项目中Redis配置参数,以便学习备用~ #指定内存大小,格式为1k 1GB 1M,单位不区分大小写 # 1k  => 1000 bytes # 1kb => 1024 byt ...

  8. Mysql配置项的简单优化

    preface 众所周知,Mysql已经成为广泛使用的开源数据库了,so 公司阿里云的数据库为Mysql,在最开始的时候是直接yum安装,配置项都是默认的,没有任何调整,这次有时间就参考各路大神的资料 ...

  9. 【转】VS项目属性的一些配置项的总结

    首先,解决方案和项目文件夹包含关系(c++项目): VS解决方案和各个项目文件夹以及解决方案和各个项目对应的配置文件包含关系,假设新建一个项目ssyy,解决方案起名fangan,注意解决方案包括项目, ...

  10. 【转】Hive配置文件中配置项的含义详解(收藏版)

    http://www.aboutyun.com/thread-7548-1-1.html 这里面列出了hive几乎所有的配置项,下面问题只是说出了几种配置项目的作用.更多内容,可以查看内容问题导读:1 ...

随机推荐

  1. JXNU acm选拔赛 涛神的城堡

    涛神的城堡 Time Limit : 3000/1000ms (Java/Other)   Memory Limit : 65535/32768K (Java/Other) Total Submiss ...

  2. Mongo 数据库备份和恢复命令

    转载请注明出处: 在MongoDB中,使用mongodump和mongorestore命令来备份和恢复数据库 mongodump 1.使用方法: 使用 mongodump 命令可以备份MongoDB数 ...

  3. 2023-08-18:用go写算法。你会得到一个字符串 text, 你应该把它分成 k 个子字符串 (subtext1, subtext2,…, subtextk)。 要求满足: subtexti 是

    2023-08-18:用go写算法.你会得到一个字符串 text, 你应该把它分成 k 个子字符串 (subtext1, subtext2,-, subtextk). 要求满足: subtexti 是 ...

  4. html2pdf

    nodejs 生成pdf比较靠谱,使用chrome核心渲染: puppeteer / phantom 爬虫都好用 good

  5. GaussDB(DWS)条件表达式函数返回错误结果集排查

    摘要:条件表达式函数中出现结果集不一致问题,我们首先要考虑是否入参数据类型不一致导致出参不一致. 本文分享自华为云社区<GaussDB(DWS)条件表达式函数返回错误结果集排查>,作者:y ...

  6. 一文读懂GaussDB(openGauss) 的六大关键技术特性

    摘要:更为深入地介绍了GaussDB(openGauss)的关键特性.成功案例. GaussDB(openGauss)是深度融合华为在数据库领域多年的经验,结合企业级场景需求,推出的新一代企业级分布式 ...

  7. 细说Python Lambda函数的用法,建议收藏!

    摘要:今天我就和大家聊聊lambda函数,在Python编程中,大家习惯将其称为表达式. 名称是用于引用或寻址任何实体的约定.我们周围的几乎所有事物都有名字.编程领域也与此一致.但这是必须命名的吗?还 ...

  8. 云图说|初识云数据库GaussDB(for Cassandra)

    摘要:不用再为数据不一致苦恼,因为强一致的Cassandra来了,DBA们不用加班修数据了.GaussDB(for Cassandra)是一款基于华为自主研发的计算存储分离架构的分布式云数据库服务,是 ...

  9. Hudi自带工具DeltaStreamer的实时入湖最佳实践

    摘要:本文介绍如何使用Hudi自带入湖工具DeltaStreamer进行数据的实时入湖. 本文分享自华为云社区<华为FusionInsight MRS实战 - Hudi实时入湖之DeltaStr ...

  10. linux 只查看 java 进程

    top $(ps -e | grep java | awk '{print $1}' | sed 's/^/-p/')