网络性能监测工具smokeping

时间:2024-02-25 19:51:05

smokeping简介:

smokeping是rrdtool的作者Tobi Oetiker的作品,所以它在图形显示方面有很大优势,也是一个很有特点的opensource工具:多种探测方式,包括fping、echoping、dig、curl等;可以在多个节点收集同一个监测点的数据;很有特色的alert设置,不只是简单的设置一个阀值;

Smokeping 是一款用于网络性能监测的监控软件,通过它可以在自己公司IDC的网络状况,如延时,丢包率,是否BGP多线等,通过rrdtool制图方式,图形化地展示网络的时延情况,进而能够清楚的判断出网络的即时通信情况,可以监视www服务器性能,监视dns查询性能,监视ssh性能等

smokeping的优点:

  1. 最佳的画图功能,延迟和丢包用颜色和阴影表示很直观。
  2. 免费和开源,作者是MRTG和RRDtool作者。
  3. 支持主从的分布式模式。
  4. 可以自定义报警功能。

安装配置smokeping

[root@smokeping ~]# cat /etc/redhat-release 
 CentOS release 6.5 (Final)
[root@smokeping ~]# uname -a
 Linux smokeping 2.6.32-431.el6.x86_64 #1 SMP Fri Nov 22 03:15:09 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux

  

安装依赖包

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-ExtUtils-MakeMaker rrdtool rrdtool-perl curl 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 popt popt-devel libidn libidn-devel

 上传下面三个软件

[root@smokeping ~]# ls
 echoping-6.0.2.tar.gz  fping-3.10.tar.gz  smokeping-2.6.10.tar.gz

编译、安装fpingechoping

[root@smokeping ~]# tar xf fping-3.10.tar.gz -C /usr/src/
[root@smokeping ~]# cd /usr/src/fping-3.10/
[root@smokeping fping-3.10]# ./configure
[root@smokeping fping-3.10]# make
[root@smokeping fping-3.10]# make install
[root@smokeping fping-3.10]# tar xf /root/echoping-6.0.2.tar.gz -C /usr/src/
[root@smokeping fping-3.10]# cd ../echoping-6.0.2/
[root@smokeping echoping-6.0.2]# yum -y install popt popt-devel
[root@smokeping echoping-6.0.2]# yum -y install libidn libidn-devel
[root@smokeping echoping-6.0.2]# ./configure  && make && make install

如报错:
configure: error: Missing popt library, get it from ftp://ftp.rpm.org/pub/rpm/dist/rpm-x.y.z
解决办法:
yum install -y popt-devel

继续报错:
configure: error: Get the GNU libidn library (http://www.josefsson.org/libidn/) in order to use Unicode - multi-script - domain names or use --without-libidn to disable it
解决办法:
./configure --prefix=/usr/local/echoping --with-ssl --without-libidn

报错:
configure: error: Get the OpenSSL library (http://www.openssl.org/)
解决办法:
yum install -y openssl openssl-devel

安装smokeping

[root@smokeping echoping-6.0.2]# tar xf /root/smokeping-2.6.9.tar.gz -C /usr/src/
[root@smokeping echoping-6.0.2]# cd ../smokeping-2.6.9/
[root@smokeping smokeping-2.6.9]# mkdir -p /usr/local/smokeping/thirdparty
[root@smokeping smokeping-2.6.9]# ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty
[root@smokeping smokeping-2.6.9]# ./configure --prefix=/usr/local/smokeping/
[root@smokeping smokeping-2.6.9]# /usr/bin/gmake install

配置smokeping

[root@smokeping smokeping-2.6.9]# cd /usr/local/smokeping/
[root@smokeping smokeping]# mkdir cache data var
[root@smokeping smokeping]# touch /var/log/smokeping.log
[root@smokeping smokeping]# chown apache:apache cache data var
[root@smokeping smokeping]# chown apache:apache /var/log/smokeping.log 
[root@smokeping smokeping]# chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist 
[root@smokeping smokeping]# cd /usr/local/smokeping/htdocs/
[root@smokeping htdocs]# mv smokeping.fcgi.dist smokeping.fcgi
[root@smokeping htdocs]# cd /usr/local/smokeping/etc/
[root@smokeping etc]# mv config.dist config
[root@smokeping etc]# vim /usr/local/smokeping/etc/config 
修改如下:
 14 cgiurl   = http://192.168.8.30/smokeping.cgi

 33 *** Database ***
 34 
 35 step = 60   #建议为60  一分钟采集一次数据
 36 pings = 20  #建议为20  每20秒测试一次
109 binary = /usr/local/sbin/fping

编辑Apache配置文件

[root@smokeping etc]# vim /etc/httpd/conf/httpd.conf 
ServerName 192.168.8.30

在文件最后加入
Alias /cache "/usr/local/smokeping/cache/"
Alias /cropper "/usr/local/smokeping/htdocs/cropper/"
Alias /smokeping "/usr/local/smokeping/htdocs/smokeping.fcgi"
<Directory "/usr/local/smokeping">
AllowOverride None
Options All
AddHandler cgi-script .fcgi .cgi
Order allow,deny
Allow from all
DirectoryIndex smokeping.fcgi
</Directory>

调整字体库

图像界面的中文支持

[root@smokeping etc]# yum -y install wqy-zenhei-fonts.noarch
[root@smokeping etc]# vim /usr/local/smokeping/etc/config 
 50 charset = utf-8   #添加此行

[root@smokeping etc]# vim /usr/local/smokeping/lib/Smokeping/Graphs.pm 
 148             \'--font TITLE:20:"WenQuanYi Zen Hei Mono"\',     添加此行

配置测试数据,进行监测

 [root@smokeping etc]# vim /usr/local/smokeping/etc/config

在配置文件最后添加:

+ Other 
menu = 三大网络监控 
title = 监控统计 
++ dianxin 
menu = 电信网络监控 
title = 电信网络监控列表 
host = /Other/dianxin/dianxin-bj /Other/dianxin/dianxin-hlj /Other/dianxin/dianxin-tj /Other/dianxin/dianxin-sc /Other/dianxin/dianxin-sh /Other/dianxin/dianxin-gz 
+++ dianxin-bj 
menu = 北京电信 
title = 北京电信 
alerts = someloss 
host = 202.96.199.133

+++ dianxin-hlj 
menu = 黑龙江电信 
title = 黑龙江电信 
alerts = someloss 
host = 219.147.198.242

+++ dianxin-tj 
menu = 天津电信 
title = 天津电信 
alerts = someloss 
host = 219.150.32.132

+++ dianxin-sc 
menu = 四川电信 
title = 四川电信 
alerts = someloss 
host = 61.139.2.69

+++ dianxin-sh 
menu = 上海电信 
title = 上海电信 
alerts = someloss 
host = 116.228.111.118

+++ dianxin-gz 
menu = 广东电信 
title = 广东电信 
alerts = someloss 
host = 113.111.211.22

++ liantong 
menu = 联通网络监控 
title = 联通网络监控列表 
host = /Other/liantong/liantong-bj /Other/liantong/liantong-hlj /Other/liantong/liantong-tj /Other/liantong/liantong-sc /Other/liantong/liantong-sh /Other/liantong/liantong-gz

+++ liantong-bj 
menu = 北京联通 
title = 北京联通 
alerts = someloss 
host = 61.135.169.121

+++ liantong-hlj 
menu = 黑龙江联通 
title = 黑龙江联通 
alerts = someloss 
host = 202.97.224.69

+++ liantong-tj 
menu = 天津联通 
title = 天津联通 
alerts = someloss 
host = 202.99.96.68

+++ liantong-sc 
menu = 四川联通 
title = 四川联通 
alerts = someloss 
host = 119.6.6.6

+++ liantong-sh 
menu = 上海联通 
title = 上海联通 
alerts = someloss 
host = 210.22.84.3

+++ liantong-gz 
menu = 广东联通 
title = 广东联通 
alerts = someloss 
host = 221.5.88.88

++ yidong 
menu = 移动网络监控 
title = 移动网络监控列表 
host = /Other/yidong/yidong-bj /Other/yidong/yidong-hlj /Other/yidong/yidong-tj /Other/yidong/yidong-sc /Other/yidong/yidong-sh /Other/yidong/yidong-gz

+++ yidong-bj 
menu = 北京移动 
title = 北京移动 
alerts = someloss 
host = 221.130.33.52

+++ yidong-hlj 
menu = 黑龙江移动 
title = 黑龙江移动 
alerts = someloss 
host = 211.137.241.35

+++ yidong-tj 
menu = 天津移动 
title = 天津移动 
alerts = someloss 
host = 211.137.160.5

+++ yidong-sc 
menu = 四川移动 
title = 四川移动 
alerts = someloss 
host = 218.201.4.3

+++ yidong-sh 
menu = 上海移动 
title = 上海移动 
alerts = someloss 
host = 117.131.19.23

+++ yidong-gz 
menu = 广东移动
title = 广东移动
alerts = someloss
host = 211.136.192.6

 

 启动服务

[root@smokeping etc]# echo \'export PATH=/usr/local/smokeping/bin/:$PATH\' >> /etc/profile
[root@smokeping etc]# /etc/init.d/httpd start
正在启动 httpd:                    [确定]

[root@smokeping etc]# /usr/local/smokeping/bin/smokeping
WARNING: Hostname \'james.address\' does currently not resolve to an IPv6 or IPv4 address
Note: logging to syslog as local0/info.
Daemonizing /usr/local/smokeping/bin/smokeping ...      #warning可忽略

 

浏览器访问  http://IP地址/smokeping

效果展示:

最后附上smokeping的图标参数说明:

https://blog.csdn.net/erica_yue/article/details/78622257

http://blog.51cto.com/slzyer/1698136