Prometheus网络监控之Fping-Exporter

2025-05-25 0 58

 简介

目前线上很多应用都是使用prometheus进行监控。之前是使用smokeping做网络监控,但是,主机一多就容易丢失监控数据,就想着直接使用prometheus进行监控。

Prometheus网络监控之Fping-Exporter

exporter

prometheus 拉取数据数据需要有对应的exporter,github上查了一下,有一个fping-exporter(schweikert/fping-exporter)比较适合。

这个exporter是用Go写的,直接git clone下载下来进行编译就可以运行了。

Prometheus网络监控之Fping-Exporter

命令参数

fping-exporter [OPTIONS] 

 

Application Options: 

  -l, –listen=[HOST]:PORT    Listen address (default: :9605) 

  -p, –period=SECS           Period in seconds, should match Prometheus scrape interval (default: 60) 

  -f, –fping=PATH            Fping binary path (default: /usr/bin/fping) 

  -c, –count=N               Number of pings to send at each period (default: 20) 

​ 

Help Options: 

  -h, –help                  Show this help message 

这里可以看到,其实需要系统安装fping命令,然后将fping执行程序指定给程序。

部署fping-exporter

我这边使用的CentOS7进行部署,所以可以直接使用yum安装epel-release,然后在epel源里面就有fping。

Prometheus网络监控之Fping-Exporter

yum -y install epel-release 

yum -y install fping 

将编译好的二进制文件拷贝到/data/prometheus/fping-exporter,添加systemd服务文件

vim /usr/lib/systemd/system/fping-exporter.service 

 

[Unit] 

Description=fping-exporter 

After=network.target 

​ 

[Service] 

Type=simple 

WorkingDirectory=/data/prometheus/ 

ExecStart=/data/prometheus/fping-exporter -f /usr/sbin/fping -p 60 -c 10 -l :9605   

LimitNOFILE=65536 

PrivateTmp=true 

RestartSec=2 

StartLimitInterval=0 

Restart=always 

​ 

[Install] 

WantedBy=multi-user.target 

​启动并设置开机启动

systemctl daemon-reload  

systemctl enable fping-exporter 

systemctl start fping-exporter 

配置

在prometheus添加一个job监听目录,我们就可以在目录底下添加内容,实现动态加载了。

vim prometheus.yml 

… 

  – job_name: fping_default 

    metrics_path: /probe 

    scrape_interval: 60s 

    file_sd_configs: 

    – refresh_interval: 61s 

      files: 

        –  /data/prometheus/fping/*.json 

    relabel_configs: 

    – source_labels: [__address__] 

      target_label: __param_target 

    – source_labels: [__param_target] 

      target_label: instance 

    – target_label: __address__ 

      replacement: 192.168.1.8:9605  

replacement: 192.168.1.8:9605 这个就是我们fping-exporter的地址,

重载一些prometheus进程,配置就生效了。

kill   -HUP  [pid] 

配置监控项

mkdir -p /data/prometheus/fping 

vim /data/prometheus/fping/host.json 

     { 

       \”targets\”: [ 

           \”10.0.4.2\” 

       ], 

       \”labels\”: { 

           \”instance\”\”10.0.4.2\”

           \”job\”\”fping_exporter\” 

       } 

   }, 

   { 

       \”targets\”: [ 

           \”10.0.4.3\” 

       ], 

       \”labels\”: { 

           \”instance\”\”10.0.4.3\”

           \”job\”\”fping_exporter\” 

       } 

   } 

这个项目上面就有提供了grafana面板,可以直接导入到grafana里面就可以看到监控数据了。

Prometheus网络监控之Fping-Exporter

总结

这个fping-exportere有一个问题,如果监控主机有很多的时候,它都会拼凑在一个命令里面去执行,导致有时候监控数据获取不到。

在github上Fork了一个代码进行了修改(Jalright/fping-exporter),如果监控对象比较多,可以使用这个进行编译部署。

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

快网idc优惠网 建站教程 Prometheus网络监控之Fping-Exporter https://www.kuaiidc.com/49168.html

相关文章

发表评论
暂无评论