一、软件介绍
smokeping是一款监控网络状态和稳定性的开源软件(它是rrdtool的作者开发的),通过它可以监控到公司IDC的网络状况,如延时,丢包率,是否BGP多线等;
smokeping会向目标设备和系统发送各种类型的测试数据包,测量、记录,并通过rrdtool制图方式,图形化地展示网络的时延情况,进而能够清楚的判断出网络的即时通信情况;通过smokeping来监控IDC机房网络质量情况,可以从监控图上的延时与丢包情况分辨出机房的网络是否稳定,是否为多线,是否为BGP机房以及到各城市的三个运行商网络各是什么情况。如果出现问题,可以有针对性的去处理;如果选择新机房的时候,还可以根据smokeping的监控结果来判断这个机房是否适合。
需要注意的是:smokeping监控的是网络稳定性,而cacti或zabbix监控的是带宽使用情况(即进出口流量)
smokeping是rrdtool的作者Tobi Oetiker的作品,所以它在图形显示方面有很大优势,也是一个很 有特点的opensource工具:
1、多种探测方式,包括fping、echoping、dig、curl等;
2、易用可扩展的插件;
3、master/slave 的 工作方式,可以在多个节点收集同一个监测点的数据
二、安装smokeping
1、软件环境
# cat /etc/redhat-release
CentOS release 6.7 (Final)
# uname -r
2.6.32-573.el6.x86_64
2、软件下载
https://download.csdn.net/download/sj349781478/10310368 (所需软件都打包在这)
3、安装软件
1、安装依赖包:
#rpm -ivh rpmforge-release-0.5.2-2.el6.rf.x86_64.rpm (安装相关源,不成功就安装epel源)
4、解压、编译安装smokeping
tar xf smokeping-2.6.9.tar.gz./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty (总是不成功,换成手动)
下图为build-perl-modules.sh脚本,需要安装不少模块,依次安装
perl -MCPAN -e 'install FCGI'
perl -MCPAN -e 'install CGI'
perl -MCPAN -e 'install Config::Grammar'
./configure --prefix=/usr/local/smokeping
到这一步基本安装完成
/usr/bin/gmake install
mv config.dist config
6、更改配置文件
vim /usr/local/smokeping/etc/config
主要修改如下内容:
#cgiurl = http://some.url/smokeping.cgi
cgiurl = http://10.0.0.62/smokeping.cgi
*** Database ***
#step = 300
step = 60 #此处建议改为 60 , 一分钟采集一次数据
pings = 20
7、编辑apache配置文件
vim /etc/httpd/conf/httpd.conf
#结尾最后边添加如下代码:
Alias /cache "/usr/local/smokeping/cache/"
Alias /cropper "/usr/local/smokeping/htdocs/cropper/"
Alias /smokeping "/usr/local/smokeping/htdocs/smokeping.fcgi"
AllowOverride None
Options All
AddHandler cgi-script .fcgi .cgi
Order allow,deny
Allow from all
DirectoryIndex smokeping.fcgi
8、图像浏览界面的中文支持
安装字体
yum -y install wqy-zenhei-fonts.noarch
编辑smokeping的配置文件
vim /usr/local/smokeping/etc/config
第50行添加
charset = utf-8 #添加此行,解决出图乱码问题
编辑Graphs.pm
vim /usr/local/smokeping/lib/Smokeping/Graphs.pm
#第147行下边插入下边一行
'--font TITLE:20:"WenQuanYi Zen Hei Mono"',
设置开机启动:
echo "/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &" >> /etc/rc.local
9、Config 配置文件的最后
vim /usr/local/smokeping/etc/config
##################################################
+ Test
menu= Targets
#parents = owner:/Test/James location:/
#++ James
#menu = James
#title =James
#alerts = someloss
#slaves = boomer slave2
#host = james.address
#++ MultiHost
#menu = Multihost
#title = James and James as seen from Boomer
#host = /Test/James /Test/James~boomer
+ Internet
menu = Internet
title = Internet
+A
menu = IDC
title = IDC
++B
menu = dx
title = dx
title = MJ-Baidu
alerts = someloss
host = 61.135.169.121
10.修改smokeping的config配置文件中fping路径
# which fping
/usr/local/sbin/fping
[root@bastion-IDC etc]# vim config
......
binary = /usr/local/sbin/fping //默认配置的是/usr/sbin/fping
11.启动服务:
# /etc/init.d/httpd restart
12.启动smokeping
# /usr/local/smokeping/bin/smokeping
13.设置smokeping开机启动
# echo "/usr/local/smokeping/bin/smokeping" >> /etc/rc.local
14.设置smokeping环境变量
# echo 'export PATH=/usr/local/smokeping/bin/:$PATH' >> /etc/profile
有些问题需要根据提示修复
打开网页 http://192.168.66.103/smokeping
参看文章:https://blog.csdn.net/zongyimin/article/details/60350280
【完】