smokeping是一款用来监控网络性能状况的监控软件,我们可以看一下官网关于smokeping的介绍: SmokePing keeps track of your network latency
smokeping是一款用来监控网络性能状况的监控软件,我们可以看一下官网关于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的基本搭建:
0x01 安装其他源
rpm -Uvh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
0x02 安装rrdtool与相关依赖库
yum -y install perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6 perl-CGI-SpeedyCGI perl-FCGI perl-CGI-SpeedCGI perl-Time-HiRes perl-ExtUtils-MakeMaker perl-RRD-Simple 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 mod_fastcgi
0x03 下载与安装smokeping
wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.10.tar.gztar zxvf smokeping-2.6.10.tar.gzcd smokeping-2.6.10./configure --prefix=/usr/local/smokeping./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty (安装Perl module)./configure --prefix=/usr/local/smokeping/usr/bin/gmake install
0x04 smokeping相关配置
1) 创建cache、data、var目录、log
cd /usr/local/smokepingmkdir cache data vartouch /var/log/smokeping.log
2) 授权
chown apache:apache cache data varchown apache:apache /var/log/smokeping.log
3) 配置文件修改
cd /usr/local/smokeping/htdocs/mv smokeping.fcgi.dist smokeping.fcgicd /usr/local/smokeping/etcmv config.dist configvim config修改ip或域名:cgiurl = http://some.url/smokeping.cgi修改检测时间:*** Database ***step = 300300改为60修改中文显示:*** Presentation ***charset = utf-8
4)修改密码文件权限
chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist
5)修改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"<Directory "/usr/local/smokeping">AllowOverride NoneOptions AllAddHandler cgi-script .fcgi .cgiAllowOverride AuthConfigOrder allow,denyAllow from allAuthName "Smokeping"AuthType BasicAuthUserFile /usr/local/smokeping/htdocs/htpasswdRequire valid-userDirectoryIndex smokeping.fcgi</Directory>
然后进入cd /usr/local/smokeping/htdocs目录
设置登录账户与密码
htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin
设置登录账户为admin,密码在后面输入,然后重启httpd就可以实现密码验证登录
6)设置开机启动
echo "/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &" >> /etc/rc.local
7) 同步系统时间
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
8) 启动服务
/etc/init.d/httpd start /usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 & 或 /usr/local/smokeping/bin/smokeping &
9) 修改监控内容
+是第一层,++是第二层,后者继承前者,举例如下
+ jiancemenu= xx机房++ xx-1menu = iptitle = somenamealerts = somelossslaves = boomer slave2host = ip
0x5 smokeping的主从分布式部署方案
替代单一监测点的不足,master/slave的主从模式,一个master可以管理多个slave,多个slave可针对不同的监测点进行网络性能监测。而且slave配置较为简单,slave从master上获取自己的配置信息,检测数据以及web呈现都汇总在master上,slave只负责从master获取的配置信息进行数据检测。smokeping的数据采集是被动式采集,主从之间的通信验证采用类似rsync的密码验证方式,启动服务的用户不必具备root权限,安全性较好。且smokeping占用内存很小,对系统要求不高。
配置要点:
在master的config里修改
*** Slaves ***secrets=/usr/local/smokeping/etc/smokeping_secrets.dist #密码文件+slave1 #"slave1"需要设置为slave主机的hostname,并且写在"slavesecrets.con"文件里面display_name=slave1
另外,master上面启动"smokeping"进程和apache进程的用户必须要一致。因为rrd文件是由"smokeping"进 程创建的,而数据的update却是由"smokeping.cgi"进行的,也就是apache用户。如果不一致的话会出现rrd文件无法被更新的情况。
smokeping官网链接:http://oss.oetiker.ch/smokeping/
文章归档:http://secscorpio.top/?p=13