正常普米只需要两层联邦就可以了,再通过横向扩展,实现大规模普米监控;
通常单台普米master节点可以连接上百成千台联邦节点;
但是有一种场景比较麻烦,就是网络不通的时候,一个项目只有一个地址和我们联邦普米通,然后本身已经有一个k8s监控的普米节点,部署在docker内,需要将k8s内的普米数据接出来,可以通过lvs等方式进行网络映射,也可以使用三层联邦的方式,即在网络联通的前置机上安装一个联邦节点,作为第二层联邦节点,该节点为多网卡,可以和内部的普米联邦通,也可以和最外层的联邦通。
配置的主要方面在于,外层联邦需要放开接收数据写入;
中间联邦节点,需要将k8s普米联邦节点的数据写入到最外层联邦;
第二层联邦节点添加配置如下
remote_write:
- url: 'http://132.211.11.7:19090/api/v1/write'
basic_auth:
username: admin
password: *******
最外层联邦拉服务的时候需要添加 --enable-feature=remote-write-receiver配置项
[Unit]
Description=Prometheus
After=network.target
[Service]
Type=simple
ExecStart=/usr/local/Prometheus/prometheus --config.file=/usr/local/Prometheus/prometheus.yml --web.config.file=/usr/local/Prometheus/config.yml --storage.tsdb.retention.time=15d --storage.tsdb.path=/app/prometheus_data --web.listen-address=0.0.0.0:19090 --enable-feature=remote-write-receiver
Restart=always
[Install]
WantedBy=multi-user.target
至此可以完成k8s容器内厂家部署的普米节点的性能数据通过三层联邦的方式在本地联邦获取