logo NodeSeekbeta

Grafana + Prometheus + fping-exporter 搭建网络监控

前言

最近没什么小鸡可玩,跟着论坛里的大佬们学着折腾Grafana + Prometheus搭建探针,却发现没有大佬发过用这个搭建网络监控的教程,于是自己研究琢磨搓出来一个初步面板,供感兴趣的鸡友们参考。

效果预览

https://grafana.zenitsu.io/d/a2c1044e-f262-4dab-9caf-18fed03ee08c/zenitsu-io-vps-ping?orgId=1&refresh=15s
预览

部署流程

1.在面板机上安装Grafana:(参考: https://www.nodeseek.com/post-15265-1 省略掉安装Node Exporter的部分)

sudo apt-get install -y software-properties-common
sudo add-apt-repository "deb https://packages.grafana.com/oss/deb stable main"
sudo wget -q -O - https://packages.grafana.com/gpg.key | sudo apt-key add -
sudo apt-get update
sudo apt-get install grafana

2.在面板机上安装Prometheus:(参考:https://www.nodeseek.com/post-15265-1 省略掉安装Node Exporter的部分)

wget -qO- 'https://raw.githubusercontent.com/AhFeil/bash-script/main/install-prometheus.sh' | sudo bash

3.在需要被监控的机器上安装fping-exporter:

安装docker:

curl -fsSL https://get.docker.com | bash -s docker

docker运行fping-exporter:

docker run -d --name fping-exporter --restart=always --privileged --privileged --network="host"  -p 9605:9605 xiaoleizhang/fping-exporter:4.2 fping-exporter --fping=/usr/sbin/fping -c 15 -p 15

确认是否成功运行: (15s后本机运行)

curl http://127.0.0.1:9605/probe?target=8.8.8.8

4.在prometheus配置文件中添加Job并保存:

  - job_name: HK AperNet Elite - AS9929 #修改为你希望用来选择VPS的名字
    metrics_path: /probe
    static_configs:
    - targets:      
      - "58.215.210.220"
      - "122.96.235.165"
      - "36.156.92.132"
      - "183.36.23.111"
      - "112.90.211.100"
      - "183.240.65.191"
      - "101.227.191.14"
      - "59.81.65.42"
      - "183.194.219.220"
      - "220.181.173.35"
      - "202.108.29.159"
      - "222.35.73.1"
      - "8.8.8.8"
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: 修改为被控机IP:9605

  - job_name: HK V.PS - CMI #修改为你希望用来选择VPS的名字
    metrics_path: /probe
    static_configs:
    - targets:      
      - "58.215.210.220"
      - "122.96.235.165"
      - "36.156.92.132"
      - "183.36.23.111"
      - "112.90.211.100"
      - "183.240.65.191"
      - "101.227.191.14"
      - "59.81.65.42"
      - "183.194.219.220"
      - "220.181.173.35"
      - "202.108.29.159"
      - "222.35.73.1"
      - "8.8.8.8"
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: 修改为被控机IP:9605

5.重启Prometheus:

sudo systemctl restart prometheus

6.Grafana 导入模版:
下载模版:https://raw.githubusercontent.com/314wave314/Pic/main/Zenitsu.io%20-%20VPS%20Ping%20Template.json
上传json文件导入(参考:https://www.nodeseek.com/post-15265-1 关联Prometheus和导入仪表板模版的部分)

大功告成

其他参考资料:
通过prometheus,fping-exporter监控网络质量,并用grafana出图
全国 34 省份 TCPING v4 IP

  • @av #66
    取决于prometheus多久抓取一次数据和数据会保留多长时间,抓取周期配置类似下方:

    global:
        scrape_interval: 15s
    

    数据保留时间要看你是怎么安装的,如果是直接装要在systemd service里修改,用docker-compose安装的在docker-compose.yml里改

    command:
        - '--storage.tsdb.retention.time=180d'
    

    我抓的是node-exporter的数据,大概按照上面的配置,20台小鸡,占用空间在30-35G左右,当然楼主这种只监测ping的占用的空间应该会小很多,几个G应该就能搞定

  • 技术贴我喜欢谢谢分享!

  • 感谢分享 xhj016

  • 感谢分享

  • 感谢分享

  • 好贴

  • 可以,吃个鸡腿 xhj010

  • 鸡腿

  • 没有alertmanager监控了个寂寞

  • 绑定 xhj003

  • 监控目标能不能用域名?

你好啊,陌生人!

我的朋友,看起来你是新来的,如果想参与到讨论中,点击下面的按钮!

📈用户数目📈

目前论坛共有72280位seeker

🎉欢迎新用户🎉