栏目分类:
子分类:
返回
文库吧用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
文库吧 > IT > 软件开发 > 后端开发 > Java

prometheus relabel

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

prometheus relabel

目录

1. 概述

2. Metadata标签

3. Relabeling 规则

3.1 语法

3.2 action解释

4. 修改标签场景

5. 场景实战

5.1 过滤指定target

5.2 将__meta_等内部标签转为promsql可使用的标签

5.3 删除标签


1. 概述

relabel_config,用于标签的管理,包括标签过滤、重定义或替换标签等。简单的说,就是可以删除不要标签,保留隐藏的标签与元数据,替换指定标签值等,只适用于数据采集之前的标签修改,如需在采集数据后再修改,参阅metric_relabel_configs。

常见的场景使用中,如prometheus采集node_exporter的数据,在Targets中,可以看到 “job="xxxx"”等标签,以及以__meta开头的元组标签,有些标签可能需要重写标签,有些需要保留,如__meta是prometheus系统内部使用,无法被promql查询时使用的,这个时候就需要对__meta的标签进行重写保留。另外也可用于过滤不要target,只保留满足匹配的label的target。

2. Metadata标签

以双下划线__开头的标签属于特殊的标签,如__meta_开头的标签,它们在重新标记后会被删除。

说明:

__address__:包含应该被抓取目标的地址,它最初默认为服务发现机制提供的 :,如果在此之前没有明确地将实例标签 instance 设置为其他值,那么在 relabeling 之后,Prometheus 会将 instance 标签设置为 __address__ 的值。

__scheme__:抓取目标的请求模式,包括 http 与 https,默认为 http。

__metrics_path__:表示用于采集指标的 HTTP 路径,默认为 /metrics。

__param_: 包含 HTTP 查询参数名称和它们的值。

3. Relabeling 规则

3.1 语法
# vim prometheus.yml
- job_name: 'prometheus'
    *** ***
    relabel_configs:
      - regex: __meta_xx_(.+)  #正则匹配指定的标签
        action: replace | keep | drop | labelmap | labeldrop | labelkeep
        source_labels: [源标签]  # 根据action选择
        target_label: [目标标签] # 根据action选择
        replacement: [替换的标签] # 根据action选择

3.2 action解释

动作

说明

replace

默认值,通过regex匹配source_label的值,使用replacement替换新的标签值

keep

只保留regex匹配source_label的target,其它不匹配的target删除

drop

丢弃regex匹配source_label的target

labelmap

复制保留regex匹配source_label的值,并生成一个新标签

labeldrop

删除匹配的标签

labelkeep

只保留匹配的标签

4. 修改标签场景
  • 删除不要的标签
  • 增加新标签(如使__meta等内部标签重命名后可被promsql查询使用)
  • 标签重命名
  • 过滤指定target

5. 场景实战

5.1 过滤指定target
只抓取标签:job= *mysql_exporter*的target
- job_name: 'prometheus'
    *** ***
    relabel_configs:
    - source_labels: [job]   
      regex: .*mysql_exporter.*
      action: keep

5.2 将__meta_等内部标签转为promsql可使用的标签
- job_name: 'prometheus'
    *** ***
    relabel_configs:
    - regex: __meta_ecs_tag_(.+)
      action: labelmap

如内部标签(自动生成的)__meta_ecs_tag_prometheus="test",通过上面的正则匹配后,新生成的标签为prometheus="test",这个就能将内部标签转化为promsql能使用的标签

5.3 删除标签
- job_name: 'prometheus'
    *** ***
    relabel_configs:
    - action: labeldrop
      regex: "job"   #正则匹配标签名称

附:

官方文档:https://prometheus.io/docs/prometheus/latest/configuration/configuration/#relabel_config

参考文档:

Prometheus Relabeling 重新标记的使用 - 腾讯云开发者社区-腾讯云

Prometheus 动态lables标签 | Jesse's home

转载请注明:文章转载自 www.wk8.com.cn
本文地址:https://www.wk8.com.cn/it/1039747.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 wk8.com.cn

ICP备案号:晋ICP备2021003244-6号