CentOS 6.5 下部署 SmokePing
SmokePing 是一款开源的网络监控工具,专注于网络延迟和丢包率的长期监控,它通过绘制图表直观展示网络性能变化,适合网络管理员排查问题,本文将详细介绍在 CentOS 6.5 系统上安装、配置和使用 SmokePing 的完整步骤。

系统环境准备
在开始部署前,确保系统满足以下要求:
- 操作系统:CentOS 6.5(32位或64位)
- 最小化安装,避免不必要的软件包冲突
- 具备 root 权限或 sudo 访问权限
- 网络连接正常,以便下载必要的软件包
首先更新系统并安装基础依赖包:
yum update -y yum install -y gcc make perl perl-ExtUtils-MakeMaker rrdtool rrdtool-perl curl wget
这些包是编译和运行 SmokePing 的基础,尤其是 RRDtool 用于数据存储和图表生成。
安装 SmokePing 及相关组件
SmokePing 依赖多个 Perl 模块,建议使用 cpanm(Perl 模块安装器)简化安装过程。
首先安装 cpanm:
curl -L https://cpanmin.us | perl - --sudo App::cpanminus
然后安装 SmokePing 及其依赖:
cpanm --sudo --notest Smokeping
如果遇到依赖问题,可手动安装缺失模块,
cpanm --sudo --notest Net::DNS Net::LDAP Net::DNS::RR Net::SMTP
配置 SmokePing
安装完成后,需对 SmokePing 进行核心配置,主要配置文件位于 /etc/smokeping/config.d/ 目录下。
1 主配置文件
编辑主配置文件 /etc/smokeping/config.d/Database,设置 RRD 数据存储路径:

basepath = /var/lib/smokeping
2 目标主机配置
在 /etc/smokeping/config.d/Targets 中定义要监控的主机或网络。
probe = FPing
menu = Example Hosts = Example Hosts
remark = Hosts to monitor
+ host1
host = 192.168.1.1
此处使用 FPing 作为探测工具(需安装 fping:yum install -y fping)。
3 图表与警报配置
在 /etc/smokeping/config.d/General 中调整图表显示和警报阈值:
owner = Your Name
contact = your@email.com
sendmail = /usr/sbin/sendmail
cgiurl = http://your-server/smokeping.fcgi
警报规则可在 /etc/smokeping/config.d/Alerts 中配置,
+loss
type = loss
pattern = >10%
启动 SmokePing 服务
配置完成后,启动 SmokePing 并设置为开机自启:
service smokeping start chkconfig smokeping on
默认情况下,SmokePing 通过 CGI 模式运行,需确保 Web 服务器(如 Apache)已安装并配置 CGI 支持,安装 Apache:
yum install -y httpd service httpd start chkconfig httpd on
将 SmokePing 的 CGI 脚本链接到 Apache 的 Web 目录:
ln -s /usr/share/smokeping/www /var/www/html/smokeping
访问 http://your-server/smokeping 即可查看监控界面。
高级配置与优化
1 自定义探测模块
SmokePing 支持多种探测方式,如 FPing、Echo 或 DNS,可通过修改 probe 参数切换,使用 Echo 探测 ICMP 延迟:

probe = Echo
2 数据备份
定期备份 RRD 数据库以防数据丢失:
tar -czf smokeping_backup.tar.gz /var/lib/smokeping
3 性能调优
如果监控大量主机,可通过调整 pings 参数减少探测频率,或使用 concurrentprobes 并行探测提高效率。
常见问题排查
- 问题:页面显示“404 Not Found”。
解决:检查 Apache 的 CGI 模块是否启用(LoadModule cgi_module modules/mod_cgi.so)。 - 问题:RRD 数据库无法生成。
解决:确认SmokePing用户对/var/lib/smokeping目录有写入权限。
FAQs
Q1: 如何添加新的监控目标?
A1: 编辑 /etc/smokeping/config.d/Targets 文件,在 menu 块下添加新的主机或子菜单项。
+ new_host
host = 192.168.1.100
保存后重启 SmokePing 服务即可生效。
Q2: SmokePing 的图表数据如何导出?
A2: 使用 smokeping_exporter 工具或直接操作 RRD 数据库,通过 rrdtool dump 命令导出 XML 格式数据:
rrdtool dump /var/lib/smokeping/your_target.rrd > data.xml
也可结合 SmokePing 的 CGI 接口生成 CSV 报告。