网站首页 > 教程文章 正文
简介
目前线上很多应用都是使用prometheus进行监控。之前是使用smokeping做网络监控,但是,主机一多就容易丢失监控数据,就想着直接使用prometheus进行监控。
exporter
prometheus 拉取数据数据需要有对应的exporter,github上查了一下,有一个fping-exporter(schweikert/fping-exporter)比较适合。
这个exporter是用Go写的,直接git clone下载下来进行编译就可以运行了。
命令参数
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。
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里面就可以看到监控数据了。
总结
这个fping-exportere有一个问题,如果监控主机有很多的时候,它都会拼凑在一个命令里面去执行,导致有时候监控数据获取不到。
在github上Fork了一个代码进行了修改(Jalright/fping-exporter),如果监控对象比较多,可以使用这个进行编译部署。
猜你喜欢
- 2025-07-10 s3cmd在天翼云oos的应用(天翼云部署)
- 2025-07-10 如何排查网络丢包问题(网络丢包如何查看是哪的问题)
- 2025-07-10 Linux下取代top的进程管理工具 htop
- 2025-07-10 Linux配置网络(linux配置网络的五个步骤)
- 2025-07-10 解除Amazon EC2邮件发送限制(亚马逊平台邮件禁止内容)
- 2025-07-10 Linux(CentOS )手动搭建LNMP(Linux+Nginx+Mysql+PHP)坏境
- 2025-07-10 宝塔辅助搭建zabbix开源监控系统保姆教程
- 2025-07-10 Ansible简介(ansible教程详细的)
- 2025-07-10 Linux系统磁盘扩容实践(九)——挂载NTFS移动硬盘
- 2025-07-10 玩转服务器之网站篇:新手使用WordPress搭建博客和静态网站部署
- 最近发表
- 标签列表
-
- location.href (44)
- document.ready (36)
- git checkout -b (34)
- 跃点数 (35)
- 阿里云镜像地址 (33)
- qt qmessagebox (36)
- mybatis plus page (35)
- vue @scroll (38)
- 堆栈区别 (33)
- 什么是容器 (33)
- sha1 md5 (33)
- navicat导出数据 (34)
- 阿里云acp考试 (33)
- 阿里云 nacos (34)
- redhat官网下载镜像 (36)
- srs服务器 (33)
- pico开发者 (33)
- https的端口号 (34)
- vscode更改主题 (35)
- 阿里云资源池 (34)
- os.path.join (33)
- redis aof rdb 区别 (33)
- 302跳转 (33)
- http method (35)
- js array splice (33)