• 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. 从零开始封装 vue 组件

    对于学习 Vue 的同学来说,封装 vue 组件是实现代码复用的重要一环.在 Vue 官网中非常详细地介绍了 vue 组件的相关知识,我这里简单摘取使用最频繁的几个知识点,带大家快速入门 vue 组件 ...

  2. 如何对U盘的使用权限进行管控

    对U盘的使用权限进行管控是保护企业信息安全的一项重要措施.以下是一些常见的方法,可帮助您有效管理和控制U盘的使用权限: 禁用U盘端口: 在公司计算机上禁用或限制USB端口的使用,特别是那些不需要使用U ...

  3. 【UniApp】-uni-app-动态计算字体大小(苹果计算器)

    前言 本文主要介绍uni-app中动态计算字体大小的方法 原因呢就是在上一篇文章当中我发现输入的内容已经超过了展示区域 于是我就想到了动态计算字体大小的方法,这样就可以保证输入的内容不会超过展示区域 ...

  4. Javascript Ajax总结——FormData类型

    XMLHttpRequest1级只是把已有的XHR对象的实现细节描述出来.XMLHttpRequest2级进一步发展了XHR.FormData类型FormData类型,为序列化表单以及创建以表单格式相 ...

  5. ASR项目实战-前处理

    本文深入探讨前处理环节. 首先介绍一些基本的名词,比如 文件名后缀 文件格式 音频格式 采样率和位深 预备知识 文件名后缀.文件格式和音频格式 常见的音频文件,比如.wav..mp3..m4a..wm ...

  6. ElasticSearch之cat shards API

    命令样例如下: curl -X GET "https://localhost:9200/_cat/shards?v=true&pretty" --cacert $ES_HO ...

  7. Recursion Function 递归笔记

    递归的解释: 递归(英语:Recursion),又译为递回, 在数学与计算机科学中,是指在函数的定义中使用函数自身的方法.(本文要讨论的重点) 递归一词还较常用于描述以自相似方法重复事物的过程.(指一 ...

  8. idea配置tomcat热部署

    idea配置tomcat热部署,点击+添加一个local的tomcat服务 点击部署tab 添加Artifact...选择 一定要选择exploded,否则没有热部署选项!!! 一定要选择explod ...

  9. 【独立闯天下】Prim新传奇!💥原团队的Blazor版本迟迟无音,合并请求石沉大海。于是,我们决定单干!加入Prime Blazor版项目,一起开创崭新的旅程吧!🌟📚

    共建Prime的Blazor版:为开源社区注入新活力 Prime组件库作为一款广受欢迎的开源组件库,一直以来都备受开发者们的青睐.然而,随着技术的不断发展和更新,原团队的Blazor版本似乎已经逐渐失 ...

  10. 面试Java时碰到过的那些问题

    项目终于忙完了,难得不加班,但回到家中却不知道干啥,打开自己的云笔记,看到了以前面试时碰到的一些面试题,下面将会把以前面试时被问到的问题都分享出来,下面的题看看小伙伴们可以答的怎样吧 HashMap实 ...