四、prometheus联邦配置
一、基础环境
192.168.88.200 prometheus # prometheus主节点 192.168.88.201 prometheus-federate1 # 联邦节点1 192.168.88.202 prometheus-federate2 # 联邦节点2 192.168.88.203 node1 192.168.88.204 node2
二、配置prometheus联邦
2.1、部署prometheus
prometheus主节点和两个联邦节点都部署prometheus
# 解压二进制包 root@prometheus:~# tar xf /usr/local/src/prometheus-2.30.3.linux-amd64.tar.gz -C /usr/local/ root@prometheus:~# cd /usr/local/ root@prometheus:/usr/local# ln -sv prometheus-2.30.3.linux-amd64/ prometheus 'prometheus' -> 'prometheus-2.30.3.linux-amd64/' root@prometheus:/usr/local# cd prometheus root@prometheus:/usr/local/prometheus# ls LICENSE NOTICE console_libraries consoles prometheus prometheus.yml promtool root@prometheus:/usr/local/prometheus# # prometheus.service 文件 root@prometheus:~# cat > /etc/systemd/system/prometheus.service << EOF > [Unit] > Description=Prometheus Server > Documentation=https://prometheus.io/docs/introduction/overview > After=network.target > > [Service] > Restart=on-failure > WorkingDirectory=/usr/local/prometheus > ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml > > [Install] > WantedBy=multi-user.target > EOF root@prometheus:~# # 启动 root@prometheus:/usr/local# systemctl daemon-reload root@prometheus:/usr/local# systemctl start prometheus root@prometheus:/usr/local# netstat -tnpl | grep 9090 tcp6 0 0 :::9090 :::* LISTEN 2787/prometheus root@prometheus:/usr/local#
2.2、部署node_exporter
# 在node1和node2上执行以下步骤 # 二进制解包 root@node1:~# cd /usr/local/src/ root@node1:/usr/local/src# tar xf node_exporter-1.2.2.linux-amd64.tar.gz root@node1:/usr/local/src# cd node_exporter-1.2.2.linux-amd64/ root@node1:/usr/local/src/node_exporter-1.2.2.linux-amd64# ls LICENSE NOTICE node_exporter root@node1:/usr/local/src/node_exporter-1.2.2.linux-amd64# mv node_exporter /usr/local/bin/ root@node1:/usr/local/src/node_exporter-1.2.2.linux-amd64# # 创建service文件 root@node1:~# cat > /etc/systemd/system/node-exporter.service << EOF > [Unit] > Description=Prometheus Node Exporter > After=network.target > > [Service] > ExecStart=/usr/local/bin/node_exporter > > [Install] > WantedBy=multi-user.target > EOF root@node1:~# # 启动 root@node1:~# systemctl daemon-reload root@node1:~# systemctl start node-exporter root@node1:~# netstat -tnlp | grep 9100 tcp6 0 0 :::9100 :::* LISTEN 2648/node_exporter root@node1:~#
2.3、配置prometheus联邦节点监控node
分别在联邦节点1上监控node1,联邦节点2上监控node2
# 监控node1
root@prometheus-federate1:/usr/local/prometheus# vim prometheus.yml
................
- job_name: "node1"
static_configs:
- targets: ["192.168.88.203:9100"]
root@prometheus-federate1:/usr/local/prometheus# systemctl restart prometheus.service

# 监控node2
root@prometheus-federate2:/usr/local/prometheus# vim prometheus.yml
................
- job_name: "node2"
static_configs:
- targets: ["192.168.88.204:9100"]
root@prometheus-federate2:/usr/local/prometheus# systemctl restart prometheus.service

2.4、配置prometheus主server采集联邦节点数据
root@prometheus:/usr/local/prometheus# vim prometheus.yml
..........
- job_name: "prometheus-federate-1"
scrape_interval: 10s
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
- '{job="prometheus"}'
- '{__name__=~"job.*"}'
- '{__name__=~"node.*"}'
static_configs:
- targets:
- '192.168.88.201:9090'
- job_name: "prometheus-federate-2"
scrape_interval: 10s
honor_labels: true
metrics_path: '/federate'
params:
'match[]':
- '{job="prometheus"}'
- '{__name__=~"job.*"}'
- '{__name__=~"node.*"}'
static_configs:
- targets:
- '192.168.88.202:9090'
root@prometheus:/usr/local/prometheus# systemctl restart prometheus.service
2.5、验证prometheus server数据

验证指标数据

prometheus server已经可以收集两个node的指标数据了


浙公网安备 33010602011771号