四、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的指标数据了

 

posted @ 2022-03-19 16:54  zhrx  阅读(559)  评论(0编辑  收藏  举报