之前配置federate死活抓不到数据,prometheus的控制台也显示federate机器在线,郁闷了半天,后来才发现是job_name的问题
被抓取机器无需特别配置,但是需要知道被抓取机器的job_name
抓取federate的机器配置如下
scrape_configs:
- job_name: 'federate'
scrape_interval: 15s
honor_labels: true #这是坑,必要
metrics_path: '/federate' #这是坑,必要
params:
'match[]':
- '{job="prometheus"}' #这是坑,需要知道被抓取机器的job_name,使用正则或者直接写上抓取任务名,必须有
- '{__name__=~"job:.*"}'
#这是坑,以下为被抓取得机器得地址设置
static_configs:
- targets:
- 'source-prometheus-1:9090'
- 'source-prometheus-2:9090'
- 'source-prometheus-3:9090'
第二种设置方式
scrape_configs:
- job_name: 'federate'
scrape_interval: 15s
honor_labels: true #必要
metrics_path: '/federate' #必要
params:
'match[]':
- '{job="prometheus"}' #需要知道被抓取机器的job_name,使用正则或者直接写上抓取任务名
- '{__name__=~"job:.*"}'
#以下为被抓取得机器得地址配置文件
file_sd_configs:
- files: ['/etc/prometheus/federate.json']
/etc/prometheus/federate.json里边配置需要被抓取得机器
[
{
"targets" : [
"source-prometheus-1:9090",
"source-prometheus-2:9090",
"source-prometheus-3:9090"
]
}
]