首页 技术 正文
技术 2022年11月12日
0 收藏 539 点赞 3,001 浏览 7819 个字

最近工作比较忙,也没有时间写博客,看到好友芮峰云最近一直在写博客,所以也手痒了,就先把之前的一些积累下来的文章分享给大家。

本文是介绍如何的使用smokeping来监控idc机房的网络质量情况,从监控图上的延时与丢包能分辨出你机房的网络是否稳定,是否为多线,是否为BGP机房,到各城市的3个运行商网络各是什么情况,如果出现问题,如果有针对的解决。而且如果选择新机房的时候,你可以根据smokeping的监控结果来判断这个机房是否适合。

1、安装其他源

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与依赖库

1 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

12345678 wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.8.tar.gztar zxvf smokeping-2.6.8.tar.gzcd 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目录

12 cd /usr/local/smokepingmkdir cache data var

b.在创建日志

1 touch /var/log/smokeping.log

c.授权

12 chown apache:apache cache data varchown apache:apache /var/log/smokeping.log

d.修改配置文件

123456 cd /usr/local/smokeping/htdocs/mv smokeping.fcgi.dist smokeping.fcgicd /usr/local/smokeping/etcmv config.dist configvim configcgiurl   = http://some.url/smokeping.cgi

主要是修改这行,把some.url修改为你的ip或者域名

12 *** Database ***step     = 300

然后修改step,从300改为60,这是检测的时间。

e.配置完成之后修改密码文件权限

1 chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist

f.修改apache的配置

1 vim /etc/httpd/conf/httpd.conf

添加如下

1234567891011 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 .cgiOrder allow,denyAllow from allDirectoryIndex smokeping.fcgi</Directory>

f.设置开机启动

1 echo "/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &" >> /etc/rc.local

g.启动http与smokeping

12 /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的问题,关闭了就能正常打开。

剩下就该你自己修改你要监控的内容了

注意+是第一层,++是第二层

12345678910 + Testmenu= monitor#parents = owner:/Test/James location:/title=monitor all++ localhostmenu = localhosttitle =localhostalerts = somelossslaves = boomer slave2host = 192.168.56.102

然后smokeping的web界面如下图001使用smokeping监控idc机房网络质量情况

如果各位就这样放到网上的话,是十分的不安全,所以需要加入访问控制。

h.修改httpd.conf里的内容

12345678910111213 <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>

把之前修改的httpd.conf里的这一段直接覆盖就行

然后进入cd /usr/local/smokeping/htdocs目录

设置登录账户与密码

1 htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin

这个是设置登录账户为admin,密码在后面输入

然后重启httpd就可以实现密码验证登录

001使用smokeping监控idc机房网络质量情况

需要注意,一定要同步好时间,可以使用cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime或者ntpdate 210.72.145.44。

如果需要在网页里展示中文,修改/usr/local/smokeping/etc的config文件

12 *** Presentation ***charset = utf-8 //注:在这里添加

然后在menu与titile里修改中文,重启即可

有一个要注意的地方就是,你输入的中文必须在utf-8的字符编码下输入的中文字符,不然会出现乱码。

如果在xshel下,选择file-properities-terminal

001使用smokeping监控idc机房网络质量情况

如果还是不显示就看看你系统里是否安装了中文字体,或者在安装一个001使用smokeping监控idc机房网络质量情况

debian上可以先apt-cache search wqy(文泉译), centos可以yum search wqy试试。

然后yum install后在重启smokeping

如果想监控本机到电信、联通、移动、教育网的网络情况监控,可以使用下面内容

001使用smokeping监控idc机房网络质量情况

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140 + Othermenu = 其他网络监控title = 其他所有网络监控列表++ dianxinmenu = 电信网络监控title = 电信网络监控列表host = /Other/dianxin/dianxin-hlj /Other/dianxin/dianxin-gd /Other/dianxin/dianxin-gs /Other/dianxin/dianxin-sh+++ dianxin-hljmenu = 黑龙江电信title = 黑龙江电信alerts = someloss#slaves = boomer slave2host = 219.150.32.132+++ dianxin-gdmenu = 广东电信title = 广东电信alerts = someloss#slaves = boomer slave2host = 113.111.211.22+++ dianxin-gsmenu = 甘肃电信title = 甘肃电信alerts = someloss#slaves = boomer slave2host = 202.100.64.68+++ dianxin-shmenu = 上海电信title = 上海电信alerts = someloss#slaves = boomer slave2host = 202.96.209.5#+++ dianxin-multi#menu = 多个电信网络监控列表#title = 多个电信网络监控列表#alerts = someloss#slaves = boomer slave2#host = /Other/dianxin/dianxin-hlj /Other/dianxin/dianxin-gd /Other/dianxin/dianxin-gs /Other/dianxin/dianxin-sh#++ liantongmenu = 联通网络监控title = 联通网络监控列表host = /Other/liantong/liantong-hlj /Other/liantong/liantong-gd /Other/liantong/liantong-gs /Other/liantong/liantong-sh+++ liantong-hljmenu = 黑龙江联通title = 黑龙江联通alerts = someloss#slaves = boomer slave2host = 202.97.224.68+++ liantong-gdmenu = 广东联通title = 广东联通alerts = someloss#slaves = boomer slave2host = 221.4.66.66+++ liantong-gsmenu = 甘肃联通title = 甘肃联通alerts = someloss#slaves = boomer slave2host = 221.7.34.10+++ liantong-shmenu = 上海联通title = 上海联通alerts = someloss#slaves = boomer slave2host = 210.22.70.3#+++ liantong-multi#menu = 多个联通网络监控列表#title = 多个联通网络监控列表#alerts = someloss#slaves = boomer slave2#host = /Other/liantong/liantong-hlj /Other/liantong/liantong-gd /Other/liantong/liantong-gs /Other/liantong/liantong-sh++ yidongmenu = 移动网络监控title = 移动网络监控列表host = /Other/yidong/yidong-hlj /Other/yidong/yidong-gd /Other/yidong/yidong-gs /Other/yidong/yidong-sh+++ yidong-hljmenu = 黑龙江移动title = 黑龙江移动alerts = someloss#slaves = boomer slave2host = 211.137.241.34+++ yidong-gdmenu = 广东移动title = 广东移动alerts = someloss#slaves = boomer slave2host = 211.137.241.34+++ yidong-gsmenu = 甘肃移动title = 甘肃移动alerts = someloss#slaves = boomer slave2host = 218.203.160.194+++ yidong-shmenu = 上海移动title = 上海移动alerts = someloss#slaves = boomer slave2host = 117.131.0.22#+++ yidong-multi#menu = 多个移动网络监控列表#title = 多个移动网络监控列表#alerts = someloss#slaves = boomer slave2#host = /Other/yidong/yidong-hlj /Other/yidong/yidong-gd /Other/yidong/yidong-gs /Other/yidong/yidong-sh++ jiaoyumenu = 教育网络监控title = 教育网络监控列表host = /Other/jiaoyu/jiaoyu-qh /Other/jiaoyu/jiaoyu-sh /Other/jiaoyu/jiaoyu-wh /Other/jiaoyu/jiaoyu-hn+++ jiaoyu-qhmenu = 清华大学title = 清华大学alerts = someloss#slaves = boomer slave2host = 166.111.8.28+++ jiaoyu-shmenu = 上海交大title = 上海交大alerts = someloss#slaves = boomer slave2host = 202.112.26.34+++ jiaoyu-whmenu = 武汉科技大学title = 武汉科技大学alerts = someloss#slaves = boomer slave2host = 202.114.240.6+++ jiaoyu-hnmenu = 华南农业大学title = 华南农业大学alerts = someloss#slaves = boomer slave2host = 202.116.160.33#+++ jiaoyu-multi#menu = 多个教育网络监控列表#title = 多个教育网络监控列表#alerts = someloss#slaves = boomer slave2#host = /Other/jiaoyu/jiaoyu-qh /Other/jiaoyu/jiaoyu-sh /Other/jiaoyu/jiaoyu-wh /Other/jiaoyu/jiaoyu-hn

展示效果为

001使用smokeping监控idc机房网络质量情况

001使用smokeping监控idc机房网络质量情况

5、关于smokeping的master与slave配置

slave主机会自己去检查监测点的情况(loss and rtt),并将数值提交给master主机(通过smokeping.cgi)。
值得注意的是,slave并不需要config文件,每次slave提交完数据以后,会询问master它自己的配置文件是否有修改,如果有修改的话slave会进行更新。

配置

在master的config里修改

1234 *** Slaves ***secrets=/usr/local/smokeping/etc/smokeping_secrets.dist #密码文件+slave1#名称display_name=slave1

要注意的是”slave1″这个名字需要设置为slave主机的hostname,并且写在”slavesecrets.con”文件里面,如果不想用slave主机的hostname,那么在slave主机启动smokeping服务的时候需要使用”–slave-name”来指定自己的名字。在section

*** Targets ***

中指定那个host需要使用哪个slave帮忙进行检测。下层会继承上层的配置,如果下层不像继承的话,可以配置”slaves =”来避免使用slave。

具体安装与配置不介绍。

master/slave模式中,master和slave的图片都会显示在同一个页面中,如果不希望显示master的图片,可以使用

nomasterpoll=yes

参数。
另外要注意的一点是,master上面启动”smokeping”进程和apache进程的用户必须要一致。因为rrd文件是由”smokeping”进程创建的,而数据的update却是由”smokeping.cgi”进行的,也就是apache用户。如果不一致的话会出现rrd文件无法被更新的情况,这个情况即使在slave主机上面进行debug也是看不出来的。具体的现象是在页面上面看到master的图像出现数据,但是slave的图像一直是空白的,数据显示是”nan”。

如果大家还想细化的监控,比如按照3大运行商(电信、联通、移动)到1、2、3线城市的网络延时与丢包情况,如下图显示

1、本机房到电信运行商的1线城市网络监控情况

001使用smokeping监控idc机房网络质量情况

2、本机房到联通运行商的1线城市网络监控情况001使用smokeping监控idc机房网络质量情况3、本机房到移动运行商的1线城市网络监控情况001使用smokeping监控idc机房网络质量情况

4、本机房到电信运行商的2线城市网络监控情况001使用smokeping监控idc机房网络质量情况

5、本机房到联通运行商的2线城市网络监控情况001使用smokeping监控idc机房网络质量情况

6、本机房到移动运行商的2线城市网络监控情况001使用smokeping监控idc机房网络质量情况

7、本机房到教育网的网络监控情况001使用smokeping监控idc机房网络质量情况

如果达到这样的监控效果,你就能很清楚的了解你当前idc机房的网络情况,从图上的延时与丢包能分辨出你机房的网络是否稳定,是否为多线,是否为BGP机房,到各城市的3个运行商网络各是什么情况,如果出现问题,如果有针对的解决。而且如果选择新机房的时候,你可以根据smokeping的监控结果来判断这个机房是否适合。

下面是上面监控里ip的信息(如果大家想实现上面监控,可以使用下面的ip)

001使用smokeping监控idc机房网络质量情况001使用smokeping监控idc机房网络质量情况001使用smokeping监控idc机房网络质量情况001使用smokeping监控idc机房网络质量情况001使用smokeping监控idc机房网络质量情况

引自:http://dl528888.blog.51cto.com/2382721/1266598

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:9,112
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,585
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,431
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,203
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,838
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,922