Prometheus中label名不一致的常用解决方案

在Prometheus的时候,有时候出于某种目的,经常会有要重命名label的需要。比如,老K8S集群上标识pod名的label叫pod_name,新K8S集群上的pod名label叫pod, 这种不一致会造成一些不必要的麻烦。为了保障label取值的统一,这里介绍两种常用的方法。

采集时处理

使用metric_relabel_configs来实现。下面这段配置会添加一个名为pod_name的label,其值为pod的值:

metric_relabel_configs:
- source_labels: [pod]
  regex: (.+)
  target_label: pod_name
  replacement: $1
  action: replace

这样,采集后的指标同时有podpod_name的label,这样在pod相关监控的查询和Grafana作图时,能同时兼容新老K8S集群了。

查询时处理

使用label_replace函数,可以在查询时,将结果添加一个想要的label。其具体语法格式如下:

label_replace(v instant-vector, dst_label string, replacement string, src_label string, regex string)

函数的括号里面有4个逗号分割的5个参数:

  • v是瞬时矢量指标
  • dst_label将要添加的label名
  • replacement为dst_label的值,通常是第5个参数正则匹配取出的值
  • src_label是第5个参数正则取值的源label名
  • regex是正则表达式

看下面这个官网上提供的例子:

label_replace(up{job="api-server",service="a:c"}, "foo", "$1", "service", "(.*):.*")

其作用是,添加一个名为foo的标签,其值是通过正则取的$1,是名为service的label的冒号前面部分的字符,即a
需要注意的是,如果正则表达式没有匹配到,则不会添加label。

如下是一个通过label_replace函数添加pod_name的示例:
在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
一、prometheus简介 Prometheus是一个开源的系统监控和告警系统,现在已经加入到CNCF基金会,成为继k8s之后第二个在CNCF维护管理的项目,在kubernetes容器管理系统,通常会搭配prometheus进行监控,prometheus支持多种exporter采集数据,还支持通过pushgateway进行数据上报,Prometheus再性能上可支撑上万台规模的集群。 二、prometheus架构图 三、prometheus组件介绍 1.Prometheus Server: 用于收集和存储时间序列数据。 2.Client Library: 客户端库,检测应用程序代码,当Prometheus抓取实例的HTTP端点时,客户端库会将所有跟踪的metrics指标的当前状态发送到prometheus server端。 3.Exporters: prometheus支持多种exporter,通过exporter可以采集metrics数据,然后发送到prometheus server端 4.Alertmanager: 从 Prometheus server 端接收到 alerts 后,会进行去重,分组,并路由到相应的接收方,发出报警,常见的接收方式有:电子邮件,微信,钉钉, slack等。 5.Grafana:监控仪表盘 6.pushgateway: 各个目标主机可上报数据到pushgatewy,然后prometheus server统一从pushgateway拉取数据。 四、课程亮点 五、效果图展示 六、讲师简介 先超(lucky):高级运维工程师、资深DevOps工程师,在互联网上市公司拥有多年一线运维经验,主导过亿级pv项目的架构设计和运维工作 主要研究方向: 1.云计算方向:容器 (kubernetes、docker),虚拟化(kvm、Vmware vSphere),微服务(istio),PaaS(openshift),IaaS(openstack)等2.系统/运维方向:linux系统下的常用组件(nginx,tomcat,elasticsearch,zookeeper,kafka等),DevOps(Jenkins+gitlab+sonarqube+nexus+k8s),CI/CD,监控(zabbix、prometheus、falcon)等 七、课程大纲

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值