最近工作比较忙,也没有时间写博客,看到好友芮峰云最近一直在写博客,所以也手痒了,就先把之前的一些积累下来的文章分享给大家。
本文是介绍如何的使用smokeping来监控idc机房的网络质量情况,从监控图上的延时与丢包能分辨出你机房的网络是否稳定,是否为多线,是否为BGP机房,到各城市的3个运行商网络各是什么情况,如果出现问题,如果有针对的解决。而且如果选择新机房的时候,你可以根据smokeping的监控结果来判断这个机房是否适合。
1、安装其他源
rpm -Uvh http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
2、安装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
3、下载与安装smokeping
wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.8.tar.gz tar zxvf smokeping-2.6.8.tar.gz cd smokeping-2.6.8 ./configure --prefix=/usr/local/smokeping 出现问题是因为需要安装perl的模块,所以运行下面内容即可 ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty ./configure --prefix=/usr/local/smokeping /usr/bin/gmake install
现在smokeping安装完成
4、配置smokeping
a.创建cache、data、var目录
cd /usr/local/smokeping mkdir cache data var
b.在创建日志
touch /var/log/smokeping.log
c.授权
chown apache:apache cache data var chown apache:apache /var/log/smokeping.log
d.修改配置文件
cd /usr/local/smokeping/htdocs/ mv smokeping.fcgi.dist smokeping.fcgi cd /usr/local/smokeping/etc mv config.dist config vim config cgiurl = http://some.url/smokeping.cgi
主要是修改这行,把some.url修改为你的ip或者域名
*** Database *** step = 300
然后修改step,从300改为60,这是检测的时间。
e.配置完成之后修改密码文件权限
chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist
f.修改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 None Options All AddHandler cgi-script .fcgi .cgi Order allow,deny Allow from all DirectoryIndex smokeping.fcgi </Directory>
f.设置开机启动
echo "/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &" >> /etc/rc.local
g.启动http与smokeping
/etc/init.d/httpd start /usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &
然后访问你在config里设置的cgiurl=http://some.url/smokeping
注意如果出现500错误就是因为你没有关闭selinux的问题,关闭了就能正常打开。
剩下就该你自己修改你要监控的内容了
注意+是第一层,++是第二层
+ Test menu= monitor #parents = owner:/Test/James location:/ title=monitor all ++ localhost menu = localhost title =localhost alerts = someloss slaves = boomer slave2 host = 192.168.56.102
如果各位就这样放到网上的话,是十分的不安全,所以需要加入访问控制。
h.修改httpd.conf里的内容
<Directory "/usr/local/smokeping"> AllowOverride None Options All AddHandler cgi-script .fcgi .cgi AllowOverride AuthConfig Order allow,deny Allow from all AuthName "Smokeping" AuthType Basic AuthUserFile /usr/local/smokeping/htdocs/htpasswd Require valid-user DirectoryIndex smokeping.fcgi </Directory>
把之前修改的httpd.conf里的这一段直接覆盖就行
然后进入cd/usr/local/smokeping/htdocs目录
设置登录账户与密码
htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin
这个是设置登录账户为admin,密码在后面输入
然后重启httpd就可以实现密码验证登录
需要注意,一定要同步好时间,可以使用cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime或者ntpdate210.72.145.44。
如果需要在网页里展示中文,修改/usr/local/smokeping/etc的config文件
*** Presentation *** charset = utf-8 //注:在这里添加
然后在menu与titile里修改中文,重启即可
有一个要注意的地方就是,你输入的中文必须在utf-8的字符编码下输入的中文字符,不然会出现乱码。
如果在xshel下,选择file-properities-terminal
如果还是不显示就看看你系统里是否安装了中文字体,或者在安装一个PXELinux×°×° 阅读原文»
用户名:星逝流 文章数:17 评论数:3
访问量:1321:518:236:2 注册日期:2012-11-30
没有评论:
发表评论