6. 配置项:relabel_config
- 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正则表达式。 它是replace
,keep
,drop
,labelmap
,labeldrop
和labelkeep
操作所必需的。 正则表达式固定在两端。 要取消锚定正则表达式,请使用。* <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
不匹配的目标。
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
必须小心使用labeldrop
和labelkeep
,以确保在删除标签后仍然对指标进行唯一标记。
6.3 正则表达式
6. 配置项:relabel_config的更多相关文章
- SpringMVC配置项学习笔记
1. <mvc:annotation-driven /> <mvc:annotation-driven />是一种简写形式,默认会注册DefaultAnnotationHand ...
- JSHint配置项说明
转自:http://www.jianshu.com/p/4cb23f9e19d3 什么是JSHint? 官方网站这样介绍: JSHint, A Static Code Analysis Tool fo ...
- validate插件深入学习-03validate()方法配置项
validate()方法配置项 rules 定义校验规则 messages 定义提示信息 上面这两个已经介绍过了 rules里隐藏的属性depends,只有符合条件(返回true)的时候才会执行 su ...
- 配置项setOption -- title
标题组件,包含主标题和副标题.在 ECharts 3 中可以存在任意多个标题组件,这在需要标题进行排版,或者单个实例中的多个图表都需要标题时会比较有用. title.show boolean [ de ...
- Ext JS 4 新特性2:配置项属性(config)之二
Ext JS 4 新特征2:配置项属性config之二 ☞ Config(自动的setters和getters) Ext JS 4介绍了config声明方式,在Ext JS 中也有几个例子:在运行程序 ...
- Ext JS 4 新特性2:配置项属性(config)之一
Ext JS 4 新特征2:配置项属性config 最新版本的Ext JS 4.2的另外一个伟大的新特征就是增加了configuration配置项属性,当我们在创建一个新类的时候,经常性的要设置某某属 ...
- Redis应用配置项说明
近期整理了下项目中Redis配置参数,以便学习备用~ #指定内存大小,格式为1k 1GB 1M,单位不区分大小写 # 1k => 1000 bytes # 1kb => 1024 byt ...
- Mysql配置项的简单优化
preface 众所周知,Mysql已经成为广泛使用的开源数据库了,so 公司阿里云的数据库为Mysql,在最开始的时候是直接yum安装,配置项都是默认的,没有任何调整,这次有时间就参考各路大神的资料 ...
- 【转】VS项目属性的一些配置项的总结
首先,解决方案和项目文件夹包含关系(c++项目): VS解决方案和各个项目文件夹以及解决方案和各个项目对应的配置文件包含关系,假设新建一个项目ssyy,解决方案起名fangan,注意解决方案包括项目, ...
- 【转】Hive配置文件中配置项的含义详解(收藏版)
http://www.aboutyun.com/thread-7548-1-1.html 这里面列出了hive几乎所有的配置项,下面问题只是说出了几种配置项目的作用.更多内容,可以查看内容问题导读:1 ...
随机推荐
- MinIO客户端之ping
MinIO提供了一个命令行程序mc用于协助用户完成日常的维护.管理类工作. 官方资料 mc ping 检查指定的MinIO节点的服务是否可用. 不带参数,命令如下: ./mc ping local1 ...
- Windows Server2016 默认使用英文输入法或默认使用中文输入法
1.确认是Server2016操作系统及以后版本 2.打开开始菜单"设置"--"时间和语言" 3.添加英文输入法(已存在可以跳过) 找到"区域与语言& ...
- 1.elasticsearch运行
在docker中运行elasticsearch.kibana 一.MacOs 首先需要安装doceker,提供两种方式,选一种方便的就好 1.命令行安装方式 安装命令行 xcode-select -- ...
- Rabbitmq从安装到简单入门
1:Rabbitmq是什么? RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件). 它由以高性能.健壮以及可伸缩性出名的 Erlang 写成. 2:它的优点 ...
- Base64编码:数据传输的安全使者
Base64编码是一种将二进制数据转换为可传输的文本表示形式的方法,它在全球范围内被广泛应用于网络通信.数据存储和传输等领域.本文将从多个方面介绍Base64编码的原理.应用及其在现实场景中的优势,帮 ...
- GaussDB(for Redis)游戏实践:玩家下线行为上报
本文分享自华为云社区<GaussDB(for Redis) 游戏实践:玩家下线行为上报>,作者:GaussDB 数据库 为保护未成年人的身心健康,2007年国家推出网络游戏防沉迷系统,对未 ...
- 技术实操丨使用ModelArts和HiLens Studio完成云端验证及部署
前言 HiLens Studio公测也出来一阵子了,亮点很多,我前些天也申请了公测,通过后赶快尝试了一下,不得不说真的很不错啊,特别是支持云端编辑代码,调试,甚至可以直接运行程序,即使自己的HiLen ...
- 开源遇上华为云——DataX for HuaweiCloud OBS
摘要:欢迎越来越多的开发者加入,与华为云一起不断成长,繁荣开源生态. 本文分享自华为云社区<开源遇上华为云--DataX for HuaweiCloud OBS>,作者:华为云社区精选. ...
- 云小课|MRS基础原理之Hudi介绍
阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说).深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云.更多精彩内容请单击此处. 摘要:Hudi是数据湖的 ...
- 实践GoF的设计模式:单例模式
摘要:单例模式虽然简单易用,但也是最容易被滥用的设计模式.它并不是"银弹",在实际使用时,还需根据具体的业务场景谨慎使用. 本文分享自华为云社区<[Go实现]实践GoF的23 ...