Prometheus指标定义的方法是通过在配置文件中添加scrape_configs和metric_relabel_configs来定义指标的抓取规则和标签重写规则,下面是详细的步骤和小标题:
(图片来源网络,侵删)
1、配置抓取规则(scrape_configs)
job_name:指定抓取任务的名称,用于标识不同的抓取任务。
static_configs:指定静态抓取目标的配置。
targets:指定要抓取的目标地址和端口,可以使用IP地址、域名或服务发现机制。
labels:为抓取到的指标添加自定义标签。
2、配置指标标签重写规则(metric_relabel_configs)
source_labels:指定要重写的源标签名称。
regex:使用正则表达式匹配源标签的值。
replacement:将匹配到的源标签值替换为指定的值。
action:指定对匹配到的标签执行的操作,可选值为keep(保留)、drop(删除)和relabel(重写)。
下面是一个示例配置文件,展示了如何定义指标的抓取规则和标签重写规则:
全局配置 global: scrape_interval: 15s # 抓取间隔时间 evaluation_interval: 15s # 评估间隔时间 抓取规则 scrape_configs: job_name: example # 抓取任务名称 static_configs: targets: [localhost:9090] # 目标地址和端口 labels: group: production # 自定义标签 env: production # 自定义标签 targets: [localhost:8080] # 目标地址和端口 labels: group: development # 自定义标签 env: development # 自定义标签 标签重写规则 metric_relabel_configs: source_labels: [__address__] # 源标签名称 regex: (.*):9090 # 正则表达式匹配目标地址和端口 replacement: localhost # 替换后的标签值 action: keep # 保留匹配到的标签值以上示例配置文件中,我们定义了两个抓取任务,分别从localhost:9090和localhost:8080抓取指标,通过labels字段为每个抓取目标添加了自定义标签,通过metric_relabel_configs配置了标签重写规则,将源标签中的地址部分替换为localhost。