Prometheus监控之Federation机制配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Prometheus监控之Federation机制配置相关的知识,希望对你有一定的参考价值。

一、简介

简单来说就是类似与zabbix-proxy,起到一个分级收集的作用,要比pushgateway要方便很多,而且可以使用加密访问,有一定的安全性。

联邦允许一个prometheus server 从另外一个prometheus server 获取metrics。
此外联邦模式可以实现prometheus监控prometheus。遵循以下两点:
在同一个数据中心,每个prometheus监控其他的prometheus。
上下级模式。上一级的prometheus监控数据中心级别的prometheus。

二、搭建

1、第一台机器
正常启动,记住prometheus.yml中的
scrape_configs:
- job_name: prometheus #这个job_name在第二台机器中会用到

2、第二台机器
添加配置
- job_name: "prometheus-federate-xxxxxx-station"
scrape_interval: 10s
honor_labels: true #这是坑,必要
metrics_path: /federate #这是坑,必要
params:
match[]:
- job="prometheus" #这个地方必须要和第一台机器的job_name配置为一样,使用正则或者直接写上抓取任务名,必须有
- __name__=~"job.*"
- __name__=~"node.*"
static_configs:
- targets:
- 192.168.10.131:9090
- 192.168.10.132:9090 #如果有多个ip可以这样配置
#params部分的配置会筛选采集的数据,按照自己集群的需求配置即可
正常启动即可

三、补充targets IP

1、直接写多行
- targets:
- 192.168.10.131:9090
- 192.168.10.132:9090

2、一行展示
- targets: [192.168.10.131:9090,192.168.10.132:9090]

3、指定配置文件
params:
match[]:
- job="prometheus" #需要知道被抓取机器的job_name,使用正则或者直接写上抓取任务名
- __name__=~"job:.*"
#以下为被抓取得机器得地址配置文件
file_sd_configs:
- files: [/etc/prometheus/federate.json]

cat /etc/prometheus/federate.json
[

"targets" : [
"192.168.10.131:9090",
"192.168.10.132:9090",
"192.168.10.133:9090"
]

]

以上是关于Prometheus监控之Federation机制配置的主要内容,如果未能解决你的问题,请参考以下文章

Prometheus federation ignoring/dropping # HELPline from metrics

监控利器之Prometheus服务监控-上篇

云原生系列之使用prometheus监控redis集群实战

prometheus监控之Mysql监控

Prometheus监控之简介

监控平台设计 之 Prometheus 存储 LevelDB