关于prometheus表达式-label_replace的用法细节记录

prometheus -label_replace中的细节

首先看下函数label_replace的语法:
label_replace(v instant-vector, dst_label string, replacement string, src_label string, regex string)

v instant-vector 代表要操作的指标,其内包含了我们要替换的label;
dst_label 替换/新增(原始label不存在)label后的label 名字;
replacement 替换/新增label的value,可以是常量,可以是$[0/1/2…]格式的占位符,其后面的序号代表regex的匹配变量位置;
src_label 原始的label;
regex 正则表达式;

上几个例子说明一下replacement的具体含义:

1、replacement定义为常量

原始指标
http_requests_total{code=“400”,handler=“query”,instance=“120.77.65.193:9090”,job=“prometheus”,method=“get”} 9
label_replace函数执行
label_replace(http_requests_total{code=“400”,handler=“query”,instance=“120.77.65.193:9090”,job=“prometheus”,method=“get”}, “instance”, “hello,world”, “method”, “ge.*”)
显示结果:
http_requests_total{code=“400”,handler=“query”,instance=“hello,world”,job=“prometheus”,method=“get”} 9

2、replacement定义为变量

示例1
$1,从表达式的第二项开始匹配

原始指标
container_last_seen{application=“120501_commission_data_service”, container=“120501-0-930614”}

label_replace函数执行
label_replace(container_last_seen{application=“120501_commission_data_service”},“lineId”,“$1”,“container”,“120.-0-(.)”)

显示结果:
container_last_seen{application=“120501_commission_data_service”, container=“120501-0-930614”, lineId=“930614”}

示例2
$0,从表达式的第一项开始匹配
原始指标
container_last_seen{application=“120501_commission_data_service”, container=“120501-0-930614”}

label_replace函数执行
label_replace(container_last_seen{system=“mione”,application=“120501_commission_data_service”},“pId”,“$0”,“container”,“.-0-(.)”)

显示结果:
container_last_seen{application=“120501_commission_data_service”, container=“120501-0-930614”, pId=“120501-0-930614”}

由此可见,replacement为$[1/2/3…]的时候,指的是正则表达式开始位置,$0表示从正则表达式的第一个变量开始匹配,$1表示从正则表达式的第二个变量开始匹配,依此类推!

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在mysqld_exporter的配置文件中,"collect.global_variables"用于指定需要采集的全局变量,其中包括"thread_pool_size"和"max_connections"等参数。这些全局变量的值将在指定的时间间隔内被采集,并通过Prometheus进行监控和告警。 对于"thread_pool_size"和"max_connections"这两个参数,需要根据具体的MySQL服务器配置和实际情况进行设置。 - thread_pool_size:该参数指定MySQL服务器的线程池大小,即同时可以处理的客户端连接数。如果MySQL服务器经常出现"Too many connections"的错误,可以适当增加该参数的值。但是,过高的线程池大小也会导致系统资源的浪费,因此需要根据实际情况进行调整。一般来说,可以将该参数设置为CPU核心数的2~3倍。 - max_connections:该参数指定MySQL服务器允许的最大连接数。如果MySQL服务器经常出现连接数过高的问题,可以适当降低该参数的值。但是,过低的最大连接数也会导致系统无法处理更多的客户端连接请求,因此需要根据实际情况进行调整。一般来说,可以根据服务器的硬件配置和实际负载情况,将该参数设置为100~1000之间的值。 需要注意的是,调整这些参数的值可能会对MySQL服务器的性能和稳定性产生影响,因此建议在进行调整之前,先进行充分的测试和评估。同时,建议使用监控工具对MySQL服务器的运行状态进行实时监控,及时发现并解决问题。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值