SmokePing简介
Smokeping是一款用于网络性能监测的开源监控软件,主要用于对IDC的网络状况,网络质量,稳定性等做检测,通过rrdtool制图方式,图形化地展示网络的时延情况,进而能够清楚的判断出网络的即时通信情况。
SmokePing的特点
SmokePing keeps track of your network latency:
Best of breed latency visualisation.(最佳图形展示功能,延时丢包等可以很直观的可视化展现)
Interactive graph explorer.(交互式浏览器图表)
Wide range of latency measurement plugins.(丰富的网络状况测量插件)
Master/Slave System for distributed measurement.(支持主从的分布式部署模式)
Highly configurable alerting system.(自定义报警功能)
Live Latency Charts with the most 'interesting' graphs.(漂亮、免费、开源)
Free and OpenSource Software written in Perl written by Tobi Oetiker, the creator of MRTG and RRDtool
SmokePing安装
安装
[root@linux-node1 ~]# cat /etc/redhat-release #查看系统环境 CentOS Linux release 7.2.1511 (Core) [root@linux-node1 ~]# uname -r 3.10.0-327.18.2.el7.x86_64 [root@linux-node1 ~]# yum install -y perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-IO-Socket-SSL perl-Socket6 perl-Time-HiRes perl-CGI-SpeedyCGI perl-FCGI perl-ExtUtils-MakeMaker rrdtool rrdtool-perl curl fping echoping httpd httpd-devel gcc make wget libxml2-devel libpng-devel glib pango pango-devel freetype freetype-devel fontconfig cairo cairo-devel libart_lgpl libart_lgpl-devel freetype freetype-devel #安装所需包 [root@linux-node1 ~]# cd /usr/local/src [root@linux-node1 src]# wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.11.tar.gz #下载smokeping [root@linux-node1 src]# tar xf smokeping-2.6.11.tar.gz #解压 [root@linux-node1 src]# cd smokeping-2.6.11 [root@linux-node1 smokeping-2.6.11]# ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty #远程下东东,需要点时间,需要build都ok,不然编译会报错 [root@linux-node1 smokeping-2.6.11]# ./configure --prefix=/usr/local/smokeping #编译 Ready to install Smokeping ****************************** Settings: PERL5LIB = not set PERL = /usr/bin/perl The Smokeping Makefiles use GNU make functionality. Continue installation with /usr/bin/gmake install #出现这个提示就可以用gmake安装了 [root@linux-node1 smokeping-2.6.11]# /usr/bin/gmake install #安装 #出现错误 Can't locate Sys/Syslog.pm in @INC (@INC contains: /usr/local/smokeing/thirdparty/lib/perl5/x86_64-linux-thread-multi /usr/local/smokeing/thirdparty/lib/perl5 ../lib /usr/local/lib64/perl5 /usr/local/share/perl5 /usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5 /usr/share/perl5 .) at ../lib/Smokeping.pm line 16. [root@linux-node1 smokeping-2.6.11]# yum -y install perl-Sys-Syslog #缺包了,安装这个就OK [root@linux-node1 smokeping-2.6.11]# cd /usr/local/smokeping/ #进入smokeping安装目录 [root@linux-node1 smokeping-2.6.11]# mkdir cache data var #创建所需文件夹 [root@linux-node1 smokeping-2.6.11]# touch /var/log/smokeping.log #创建日志文件 [root@linux-node1 smokeping-2.6.11]# chown apache.apache cache data var /var/log/smokeping.log #修改文件属主 [root@linux-node1 smokeping]# cd htdocs [root@linux-node1 htdocs]# mv smokeping.fcgi.dist smokeping.fcgi #修改文件名 [root@linux-node1 htdocs]# mv /usr/local/smokeping/etc/config.dist /usr/local/smokeping/etc/config #添加配置文件 [root@linux-node1 htdocs]# chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist #密码配置文件只让root能访问
修改smokeping配置文件
[root@linux-node1 ~]# sed -i 's#cgiurl = http://some.url/smokeping.cgi#cgiurl = http://192.168.56.11/smokeping.cgi#g' /usr/local/smokeping/etc/config [root@linux-node1 ~]# sed -i 's#300#60#g' /usr/local/smokeping/etc/config #改为60,一分钟采集一次数据 [root@linux-node1 ~]# sed -i 's#20#60#g' /usr/local/smokeping/etc/config #改为一分钟ping60次 [root@linux-node2 ~]# vim /usr/local/smokeping/etc/config #添加utf-8中文字符集支持 *** Presentation *** charset = utf-8 [root@linux-node1 ~]# egrep "cgiurl|\<60\>|utf-8" /usr/local/smokeping/etc/config #查看修改的配置 cgiurl = http://192.168.56.11/smokeping.cgi step = 60 pings = 60 charset = utf-8
修改apache配置文件
[root@linux-node1 htdocs]# htpasswd -c /usr/local/smokeping/htdocs/htpasswd anzhihe New password: Re-type new password: Adding password for user anzhihe #设置登陆密码 [root@linux-node1 htdocs]# vi + /etc/httpd/conf/httpd.conf #DocumentRoot "/var/www/html" #在这行下面添加 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 AuthName "Smokeping" #登陆密码认证配置 AuthType Basic AuthUserFile /usr/local/smokeping/htdocs/htpasswd Require valid-user DirectoryIndex smokeping.fcgi
创建Smokeping启动脚本
[root@linux-node1 etc]# cat /etc/init.d/smokeping
#!/bin/bash
#
# chkconfig: 2345 80 05
# Description: Smokeping init.d script
# Hacked by : How2CentOS - http://www.how2centos.com
# Get function from functions library
. /etc/init.d/functions
# Start the service Smokeping
start() {
echo -n "Starting Smokeping: "
/usr/local/smokeping/bin/smokeping >/dev/null 2>&1
### Create the lock file ###
touch /var/lock/subsys/smokeping
success $"Smokeping startup"
echo
}
# Restart the service Smokeping
stop() {
echo -n "Stopping Smokeping: "
kill -9 `ps ax | grep "/usr/local/smokeping/bin/smokeping" | grep -v grep | awk '{ print $1 }'` >/dev/null 2>&1
### Now, delete the lock file ###
rm -f /var/lock/subsys/smokeping
success $"Smokeping shutdown"
echo
}
### main logic ###
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status smokeping
;;
restart|reload|condrestart)
stop
start
;;
*)
echo $"Usage: $0 {start|stop|restart|reload|status}"
exit 1
esac
exit 0
[root@linux-node1 etc]# chmod 755 /etc/init.d/smokeping启动服务访问smokeping
[root@linux-node1 ~]# systemctl start httpd.service #启动apache
[root@linux-node1 ~]# /etc/init.d/smokeping start #启动smokeping
在浏览器输入http://192.168.56.11/smokeping,输入之前设定的密码
效果展示,OK!
中文支持及添加监控节点
如果需要展示界面支持中文,需要安装中文编码:
[root@linux-node1 etc]# yum -y install wqy-zenhei-fonts.noarch
[root@linux-node1 etc]# vi /usr/local/smokeping/lib/Smokeping/Graphs.pm
for my $host (@hosts){
my ($graphret,$xs,$ys) = RRDs::graph
("dummy",
'--start', $tasks[0][1],
'--end', $tasks[0][2],
'--font TITLE:20:"WenQuanYi Zen Hei Mono"', #添加这行及可
#添加监测源的IP库,加入到config中,修改后重启smokeping才会生效
#添加监控节点示例:注意+是第一层,++是第二层,+++ 是第三层
+ Unicom
menu = 各地网络连通性监控
title = 监控统计
++ Telecom
menu = 电信网络监控
title = 电信网络监控列表
host = /Unicom/Telecom/telecom-xian /Unicom/Telecom/telecom-shanghai /Unicom/Telecom/telecom-sichuan /Unicom/Telecom/telecom-shenzhen /Unicom/Telecom/telecom-zhejiang /Unicom/Telecom/telecom-changsha /Unicom/Telecom/telecom-wuhan /Unicom/Telecom/telecom-jiangsu /Unicom/Telecom/telecom-chongqing /Unicom/Telecom/telecom-fujian /Unicom/Telecom/telecom-neimeng /Unicom/Telecom/telecom-xinjiang /Unicom/Telecom/telecom-guizhou /Unicom/Telecom/telecom-tianjin /Unicom/Telecom/telecom-hubei /Unicom/Telecom/telecom-beijing
+++ telecom-xian
menu = 西安电信
title = 西安电信
alerts = someloss
host = 61.150.91.55
+++ telecom-shanghai
menu = 上海电信
title = 上海电信
alerts = someloss
host = 180.169.22.226
+++ telecom-sichuan
menu = 四川电信
title = 四川电信
alerts = someloss
host = 211.149.224.160
+++ telecom-shenzhen
menu = 深圳电信
title = 深圳电信
alerts = someloss
host = 183.63.53.120
+++ telecom-zhejiang
menu = 浙江电信
title = 浙江电信
alerts = someloss
host = 122.226.223.82
+++ telecom-changsha
menu = 长沙电信
title = 长沙电信
alerts = someloss
host = 124.232.150.171
+++ telecom-wuhan
menu = 武汉电信
title = 武汉电信
alerts = someloss
host = 59.173.18.243
+++ telecom-jiangsu
menu = 江苏电信
title = 江苏电信
alerts = someloss
host = 58.215.186.208
+++ telecom-chongqing
menu = 重庆电信
title = 重庆电信
alerts = someloss
host = 219.153.71.238
+++ telecom-fujian
menu = 福建电信
title = 福建电信
alerts = someloss
host = 218.6.9.4
+++ telecom-neimeng
menu = 内蒙电信
title = 内蒙电信
alerts = someloss
host = 101.53.100.113
+++ telecom-xinjiang
menu = 乌鲁木齐电信
title = 乌鲁木齐电信
alerts = someloss
host = 124.119.87.204
+++ telecom-guizhou
menu = 贵州电信
title = 贵州电信
alerts = someloss
host = 222.87.128.7
+++ telecom-tianjin
menu = 天津电信
title = 天津电信
alerts = someloss
host = 221.238.254.118
+++ telecom-hubei
menu = 十堰电信
title = 十堰电信
alerts = someloss
host = 61.183.41.197
+++ telecom-beijing
menu = 北京电信
title = 北京电信
alerts = someloss
host = 119.90.3.2
++ Mobile
menu = 移动网络监控
title = 移动网络监控列表
host = /Unicom/Mobile/mobile-zhejiang /Unicom/Mobile/mobile-shanghai /Unicom/Mobile/mobile-tianjin /Unicom/Mobile/mobile-jinan /Unicom/Mobile/mobile-beijing /Unicom/Mobile/mobile-suzhou /Unicom/Mobile/mobile-wuhan /Unicom/Mobile/mobile-shenyang /Unicom/Mobile/mobile-quanzhou /Unicom/Mobile/mobile-xiamen
+++ mobile-zhejiang
menu = 浙江移动
title = 浙江移动
alerts = someloss
host = 211.140.143.3
+++ mobile-shanghai
menu = 上海移动
title = 上海移动
alerts = someloss
host = 117.135.137.82
+++ mobile-tianjin
menu = 天津移动
title = 天津移动
alerts = someloss
host = 117.131.207.163
+++ mobile-jinan
menu = 济南移动
title = 济南移动
alerts = someloss
host = 223.99.238.104
+++ mobile-beijing
menu = 北京移动
title = 北京移动
alerts = someloss
host = 111.13.56.26
+++ mobile-suzhou
menu = 苏州移动
title = 苏州移动
alerts = someloss
host = 112.25.230.238
+++ mobile-wuhan
menu = 武汉移动
title = 武汉移动
alerts = someloss
host = 111.47.111.229
+++ mobile-shenyang
menu = 沈阳移动
title = 沈阳移动
alerts = someloss
host = 223.100.7.69
+++ mobile-quanzhou
menu = 泉州移动
title = 泉州移动
alerts = someloss
host = 112.5.16.13
+++ mobile-xiamen
menu = 厦门移动
title = 厦门移动
alerts = someloss
host = 218.207.194.109
++ Unicom
menu = 联通网络监控
title = 联通网络监控列表
host = /Unicom/Unicom/unicom-dalian /Unicom/Unicom/unicom-beijing /Unicom/Unicom/unicom-jinan /Unicom/Unicom/unicom-shanghai /Unicom/Unicom/unicom-henan /Unicom/Unicom/unicom-heilongjiang /Unicom/Unicom/unicom-tianjin /Unicom/Unicom/unicom-shijiazhuang /Unicom/Unicom/unicom-taiyuan
+++ unicom-dalian
menu = 大连联通
title = 大连联通
alerts = someloss
host = 218.61.8.10
+++ unicom-beijing
menu = 北京联通
title = 北京联通
alerts = someloss
host = 118.186.222.66
+++ unicom-jinan
menu = 济南联通
title = 济南联通
alerts = someloss
host = 124.133.28.7
+++ unicom-shanghai
menu = 上海联通
title = 上海联通
alerts = someloss
host = 58.246.45.89
+++ unicom-henan
menu = 河南联通
title = 河南联通
alerts = someloss
host = 125.46.54.236
+++ unicom-heilongjiang
menu = 黑龙江联通
title = 黑龙江联通
alerts = someloss
host = 125.211.202.138
+++ unicom-tianjin
menu = 天津联通
title = 天津联通
alerts = someloss
host = 60.28.24.236
+++ unicom-shijiazhuang
menu = 石家庄联通
title = 石家庄联通
alerts = someloss
host = 110.249.209.130
+++ unicom-taiyuan
menu = 太原联通
title = 太原联通
alerts = someloss
host = 221.204.238.54参考:
http://www.xuliangwei.com/xubusi/507.html
http://blog.csdn.net/fairplay_li/article/details/45817095


