袁党生博客

  • 主页
  • linux基础
  • SHELL
  • WEB
  • 负载
  • 企业级应用
  • 数据库
  • KVM
  • Docker
  • K8S
  • 监控
  • 存储
  • 博客搭建问题
  1. 首页
  2. 监控
  3. 正文

十、Prometheus联邦

2024年1月10日 2873点热度 0人点赞 0条评论


本章概述

  • node节点部署node_exporter
  • prometheus联邦节点监控node_exporter
  • 修改prometheus联邦节点配置文件
  • 联邦节点监控数据验证
  • prometheus server采集联邦节点数据
  • 联邦server监控数据验证

前言
  如果prometheus需要采集的服务器过多,会导致prometheus server节点压力过大,降低服务器性能。为了分担server节点的压力,可以配置prometheus联邦集群。
  Prometheus联邦集群通过设置多个prometheus联邦从节点采集服务器数据,然后再将联邦节点的数据汇总到prometheus联邦server主节点。server主节点负责接收联邦节点数据,而采集服务器数据的任务则是由联邦节点完成,这样就可以分担server节点的压力。
架构图:

环境准备:

172.31.7.201   #prometheus联邦server主节点
172.31.7.202   #prometheus联邦节点1
172.31.7.203   #prometheus联邦节点2
172.31.7.191   #node1,prometheus联邦节点1的目标采集服务器
172.31.7.192,172.31.7.193   #node1,prometheus联邦节点2的目标采集服务器

10.1 node节点部署node_exporter

分别在三个node节点(172.31.7.191、172.31.7.192、172.31.7.193)上安装node_exporter
1、下载node-export安装包,解压做软链接

mkdir  /apps  && cd /apps
wget https://github.com/prometheus/node_exporter/releases/download/v1.3.1/node_exporter-1.3.1.linux-amd64.tar.gz
tar -xvf node_exporter-1.3.1.linux-amd64.tar.gz
ln -sv /apps/node_exporter-1.3.1.linux-amd64 /apps/node_exporter

2、创建service文件

vim /etc/systemd/system/node-exporter.service
[Unit]
Description=Prometheus Node Exporter
After=network.target

[Service]
ExecStart=/apps/node_exporter/node_exporter

[Install]
WantedBy=multi-user.target

3、启动服务并设置为开机自启动
systemctl daemon-reload
systemctl restart node-exporter.service
systemctl enable node-exporter.service

10.2 prometheus联邦节点监控node_exporter

由于172.31.7.201上已经部署了prometheus,无需再次部署。现在分别在prometheus联邦节点1(172.31.7.202)和节点2(172.31.7.203)上部署prometheus
注意:prometheus联邦集群中各节点prometheus的版本要保持一致
1、创建存放安装包的目录并下载安装包

mkdir /apps  && cd /apps
wget https://github.com/prometheus/prometheus/releases/download/v2.36.1/prometheus-2.36.1.linux-amd64.tar.gz

2、解压安装包并做软链接

tar -xvf prometheus-2.36.1.linux-amd64.tar.gz
ln -sv /apps/prometheus-2.36.1.linux-amd64  /apps/prometheus  

3、通过service文件的方式启动prometheus
(1)创建service文件

vim  /etc/systemd/system/prometheus.service
[Unit]
Description=Prometheus Server
Documentation=https://prometheus.io/docs/introduction/overview/
After=network.target

[Service]
Restart=on-failure
WorkingDirectory=/apps/prometheus/
ExecStart=/apps/prometheus/prometheus --config.file=/apps/prometheus/prometheus.yml  

[Install]
WantedBy=multi-user.target

启动prometheus服务并设置为开机自启动
systemctl daemon-reload
systemctl restart prometheus
systemctl enable prometheus

10.3 修改prometheus联邦节点配置文件

修改prometheus联邦节点1和节点2的配置文件,这里prometheus联邦节点1监控node1节点,prometheus联邦节点2监控node2和node3节点
1、修改prometheus联邦节点1(172.31.7.202)的prometheus配置

vim  /apps/prometheus/prometheus.yml       #这里之贴出修改部分,将以下配置复制到prometheus配置文件最后面
  - job_name: "prometheus-172.31.7.202"
    static_configs:
      - targets: ["172.31.7.191:9100"]

重启服务
systemctl restart Prometheus
2、修改prometheus联邦节点1(172.31.7.203)的prometheus配置

vim  /apps/prometheus/prometheus.yml       #这里之贴出修改部分,将以下配置复制到prometheus配置文件最后面
  - job_name: "prometheus-172.31.7.203"
    static_configs:
      - targets: ["172.31.7.192:9100","172.31.7.193:9100"]

重启服务
systemctl restart Prometheus

10.4 联邦节点监控数据验证

分别访问172.31.7.202:9090和172.31.7.203:9090
1、访问172.31.7.202:9090 web页面

查看数据监控(可以看到已经对node1节点172.31.7.191进行监控)

2、访问172.31.7.203:9090 web页面

查看监控数据(可以看到已经对node1节点172.31.7.192和node2节点172.31.7.193进行监控)

10.5 prometheus server采集联邦节点数据

1、修改prometheus server节点(172.31.7.201)prometheus配置文件

vim  /apps/prometheus/prometheus.yml        #这里只贴出修改部分
  - job_name: 'prometheus-federate-7.202'      #指定job名称
    scrape_interval: 10s              #指定数据抓取间隔
    honor_labels: true               #保留源标签
    metrics_path: '/federate'          #指定数据抓取路径,默认为/federate
    params:
      'match[]':
        - '{job="prometheus"}'
        - '{__name__=~"job:.*"}'         #指定匹配规则
        - '{__name__=~"node.*"}'
    static_configs:
    - targets:
      - '172.31.7.202:9090'           #数据抓取目标地址

  - job_name: 'prometheus-federate-7.203'
    scrape_interval: 10s
    honor_labels: true
    metrics_path: '/federate'
    params:
      'match[]':
        - '{job="prometheus"}'
        - '{__name__=~"job:.*"}'
        - '{__name__=~"node.*"}'
    static_configs:
    - targets:
      - '172.31.7.203:9090'

重启prometheus服务
systemctl restart Prometheus

10.6 联邦server监控数据验证

1、访问172.31.7.201:9090 web页面

2、查询指标数据
可以看到prometheus联邦server节点没有直接抓取三台node节点的数据,但却可以看到三台node节点的数据,这说明联邦server节点已经获取到联邦节点的监控数据


3、访问grafana
选择不同的节点,查看相应地监控数据

标签: prometheus 监控
最后更新:2024年1月31日

袁党生

这个人很懒,什么都没留下

点赞
< 上一篇
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2023 linux学习. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

豫ICP备18039507号-1