首页 > 其他分享 >010Prometheus配置文件中metric_relabel_configs详解

010Prometheus配置文件中metric_relabel_configs详解

时间:2022-11-28 19:23:30浏览次数:51  
标签:name 配置文件 标签 metric relabel label configs

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

 

重新标记操作一般常见的情况
删除不必要的指标。
从指标中删除敏感或不需要的标签。
添加、编辑或者修改指标的标签值或者标签格式。
 

一、删除不需要的指标(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_name ​​​中​​ metric ​​​的​​ label ​​​命名可能不相同。比如: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。
这将删除与正在表达式匹配的所有标签。

标签:name,配置文件,标签,metric,relabel,label,configs
From: https://www.cnblogs.com/itcomputer/p/16933082.html

相关文章