来聊一聊promtheus配置文件的
relabel_config
官方地址:relabel_config
稍微解释下作用(因为看到公司里最开始的用法有点多余,所以好好的研究了一下),relabel_config的作用就是将时间序列中 label 的值做一个替换,具体的替换规则有配置决定,默认 job 的值是 job_name,__address__的值为 host,instance的值会比 __address__所以多一个端口号 ,__param_<name>的值就是请求中<name>的值
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 127.0.0.1:9115
上述是一般会用到的形式,意思是:
(网友提醒instance的默认值和__address__一样,但目前本人未验证,请各位自行查阅最新文档,此博客为2018年编写,非最新)
__param_target = __address__ , instance = __param_target ,__address__ = 127.0.0.1:9115。
当然上面是最精简的形式,一般还会有
separator
意思是如果有多个source_label([_address__,jod])的时候用separator去连接几个值
regex
意思是符合这个正则表达式的source_label会被赋值给replacement再赋值给target_label
replacement
意思是取匹配了正则表达式的第几串字符串