




已阅读5页,还剩23页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
本文是介绍如何的使用smokeping来监控idc机房的网络质量情况,从监控图上的延时与丢包能分辨出你机房的网络是否稳定,是否为多线,是否为BGP机房,到各城市的3个运行商网络各是什么情况,如果出现问题,如果有针对的解决。而且如果选择新机房的时候,你可以根据smokeping的监控结果来判断这个机房是否适合。1、安装其他源1rpm -Uvh http:/apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm2、安装rrdtool与依赖库1yum -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_fastcgi3、下载与安装smokeping12345678wget 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/thirdpartyexport PERL5LIB=/usr/local/smokeping/thirdparty/lib/perl5/./configure -prefix=/usr/local/smokeping/usr/bin/gmake install现在smokeping安装完成4、配置smokepinga.创建cache、data、var目录12cd /usr/local/smokepingmkdir cache datavarb.在创建日志1touch /var/log/smokeping.logc.授权12chown apache:apache cache datavarchown apache:apache /var/log/smokeping.logd.修改配置文件123456cd /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.配置完成之后修改密码文件权限1chmod600/usr/local/smokeping/etc/smokeping_secrets.distf.修改apache的配置1vim /etc/httpd/conf/httpd.conf添加如下1234567891011Alias /cache/usr/local/smokeping/cache/Alias /cropper/usr/local/smokeping/htdocs/cropper/Alias /smokeping/usr/local/smokeping/htdocs/smokeping.fcgiAllowOverride NoneOptions AllAddHandler cgi-script .fcgi .cgiOrder allow,denyAllow from allDirectoryIndex smokeping.fcgif.设置开机启动1echo/usr/local/smokeping/bin/smokeping -logfile=/var/log/smokeping.log 2&1 & /etc/rc.localg.启动http与smokeping12/etc/init.d/httpd start/usr/local/smokeping/bin/smokeping -logfile=/var/log/smokeping.log2&1&然后访问你在config里设置的cgiurl=http:/some.url/smokeping注意如果出现500错误就是因为你没有关闭selinux的问题,关闭了就能正常打开。2、关闭SELinux#vi /etc/selinux/config文件SELINUX= disabled 重启想重启系统使用命令setenforce 0注剩下就该你自己修改你要监控的内容了注意+是第一层,+是第二层12345678910+ Testmenu= monitor#parents = owner:/Test/James location:/title=monitor all+ localhostmenu = localhosttitle =localhostalerts = somelossslaves = boomer slave2host =02然后smokeping的web界面如下图如果各位就这样放到网上的话,是十分的不安全,所以需要加入访问控制。h.修改httpd.conf里的内容12345678910111213AllowOverride NoneOptions AllAddHandler cgi-script .fcgi .cgiAllowOverride AuthConfigOrder allow,denyAllow from allAuthNameSmokepingAuthType BasicAuthUserFile /usr/local/smokeping/htdocs/htpasswdRequire valid-userDirectoryIndex smokeping.fcgi把之前修改的httpd.conf里的这一段直接覆盖就行然后进入cd/usr/local/smokeping/htdocs目录设置登录账户与密码1htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin这个是设置登录账户为admin,密码在后面输入然后重启httpd就可以实现密码验证登录需要注意,一定要同步好时间,可以使用cp/usr/share/zoneinfo/Asia/Shanghai/etc/localtime或者ntpdate4。如果需要在网页里展示中文,修改/usr/local/smokeping/etc的config文件12* Presentation *charset = utf-8/注:在这里添加然后在menu与titile里修改中文,重启即可有一个要注意的地方就是,你输入的中文必须在utf-8的字符编码下输入的中文字符,不然会出现乱码。如果在xshel下,选择file-properities-terminal如果还是不显示就看看你系统里是否安装了中文字体,或者在安装一个debian上可以先apt-cachesearchwqy(文泉译),centos可以yumsearchwqy试试。然后yuminstall后在重启smokeping如果想监控本机到电信、联通、移动、教育网的网络情况监控,可以使用下面内容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 =32+ dianxin-gdmenu = 广东电信title = 广东电信alerts = someloss#slaves = boomer slave2host =2+ dianxin-gsmenu = 甘肃电信title = 甘肃电信alerts = someloss#slaves = boomer slave2host =8+ dianxin-shmenu = 上海电信title = 上海电信alerts = someloss#slaves = boomer slave2host =#+ 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 =8+ liantong-gdmenu = 广东联通title = 广东联通alerts = someloss#slaves = boomer slave2host =6+ liantong-gsmenu = 甘肃联通title = 甘肃联通alerts = someloss#slaves = boomer slave2host =0+ liantong-shmenu = 上海联通title = 上海联通alerts = someloss#slaves = boomer slave2host =#+ 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 =4+ yidong-gdmenu = 广东移动title = 广东移动alerts = someloss#slaves = boomer slave2host =4+ yidong-gsmenu = 甘肃移动title = 甘肃移动alerts = someloss#slaves = boomer slave2host =94+ yidong-shmenu = 上海移动title = 上海移动alerts = someloss#slaves = boomer slave2host =2#+ 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 =8+ jiaoyu-shmenu = 上海交大title = 上海交大alerts = someloss#slaves = boomer slave2host =4+ jiaoyu-whmenu = 武汉科技大学title = 武汉科技大学alerts = someloss#slaves = boomer slave2host =+ jiaoyu-hnmenu = 华南农业大学title = 华南农业大学alerts = someloss#slaves = boomer slave2host =3#+ 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展示效果为5、关于smokeping的master与slave配置slave主机会自己去检查监测点的情况(lossandrtt),并将数值提交给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线城市网络监控情况2、本机房到联通运行商的1线城市网络监控情况3、本机房到移动运行商的1线城市网络监控情况4、本机房到电信运行商的2线城市网络监控情况5、本机房到联通运行商的2线城市网络监控情况6、本机房到移动运行商的2线城市网络监控情况7、本机房到教育网的网络监控情况如果达到这样的监控效果,你就能很清楚的了解你当前idc机房的网络情况,从图上的延时与丢包能分辨出你机房的网络是否稳定,是否为多线,是否为BGP机房,到各城市的3个运行商网络各是什么情况,如果出现问题,如果有针对的解决。而且如果选择新机房的时候,你可以根据smokeping的监控结果来判断这个机房是否适合。下面是上面监控里ip的信息(如果大家想实现上面监控,可以使用下面的ip)简介smokeping是rrdtool的作者Tobi Oetiker的作品,采用多种方式对网络性能进行监控检测并告警,它支持较多的插件方式对网络的多项指标进行监控,并且支持Matser/Slave的架构,多个节点的监控数据可以在同一个图上展现。通过颜色和阴影表示网络延迟和丢包情况,图像很漂亮。适用于对多IDC机房网络的监控和网络性能的采集分析。Smokeping安装部分安装smokeping依赖的一部分perl模块还有一些其他检测组件1234567# yum install rrdtool fping echoping curl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-CGI-SpeedyCGI perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket -y# mkdir /root/packages# wget http:/oss.oetiker.ch/smokeping/pub/smokeping-2.6.8.tar.gz -P /root/packages# cd /root/packages# tar zxf smokeping-2.6.8.tar.gz# cd smokeping-2.6.8# ./configure -prefix=/usr/local/smokeping抛出如下错误:* Aborting Configure *If you know where perl can find the missing modules, setthe PERL5LIB environment variable accordingly.FIRST though, make sure that perl starts the perlbinary you want to use for SmokePing.Now you can install local copies of the missing modulesby running./setup/build-perl-modules.sh /usr/local/thirdpartyThe RRDs perl module is part of RRDtool. Either use the rrdtoolpackage provided by your OS or install rrdtool from source.If you install from source, the RRDs module is locatedPREFIX/lib/perl根据提示,运行./setup/build-perl-modules.sh /usr/local/thirdparty可以查看./setup/build-perl-modules.sh脚本内容,发现其实就是在安装smokeping所依赖的一些perl模块123# export PERL5LIB=/usr/local/smokeping/thirdparty/lib/perl5/# ./configure -prefix=/usr/local/smokeping# /usr/bin/gmake installSmokeping简单配置部分创建主配置文件12# cp /usr/local/smokeping/etc/config.dist /usr/local/smokeping/etc/config# vim /usr/local/smokeping/etc/config* :标示的区块属于不同类型的内容+ :代表一级菜单 +下面的+是继承上面的+成为二级菜单。 而且可以有多个一级菜单和二级菜单。第一部分General区块,属于基本配置owner = daemon smokeping运行的用户contact = smokeping管理员联系邮件地址mailhost = localhost 邮件服务器地址sendmail = /usr/sbin/sendmail 发送邮件件的二进制可执行程序imgcache = /usr/local/smokeping/cache smokeping图片缓存imgurl = cache 定义cgi程序显示图片的url目录datadir = /usr/local/smokeping/data smokeping保存rrd文件的目录piddir = /usr/local/smokeping/var 顾名思义,其pid目录cgiurl = http:/some.url/smokeping.cgi 完整的smokeping的url路径smokemail = /usr/local/smokeping/etc/smokemail.dist 发送邮件的邮件内容模板tmail = /usr/local/smokeping/etc/tmail.dist HTML邮件模板的路径syslogfacility = local0 syslog日志记录的设备编号第二部分Alter区块,属于报警配置to = 报警邮件接收人地址from = smokealertcompany.xy 报警邮件发送人地址+someloss 定义一个名为someloss的报警type = loss 类型为丢包pattern = 0%,*12*,0%,*12*,0% 对监控内容进行阀值的模式匹配comment = loss 3 times in a row 检测12次,出现了3次丢包的情况,不论丢多少个包,就进行报警第三部分Database区块,属于RRDTOOL数据库的配置step = 300 步长,也就是多长时间为一个周期pings = 20 ping的次数,这两项的组合意思是,每300秒进行20此的ping操作# consfn mrhb steps totalAVERAGE 0.5 1 1008AVERAGE 0.5 12 4320MIN 0.5 12 4320MAX 0.5 12 4320AVERAGE 0.5 144 720MAX 0.5 144 720MIN 0.5 144 720第四部分Presentation区块,属于网络状态,web显示的一些配置项这块还没看,暂时先放这第五部分Probes区块,属于Fping指针的配置+ FPingbinary = /usr/sbin/fping第六部分Slave区块,属于Matster,Slave架构的配置暂时先将其注释起来,并连带上下文中所涉及的项注释下,否则待会启动时会报错第七部分Targets区块,属于监控目标的配置probe = FPing 指定监控指针menu = Top 定义一个菜单,类型为Top,titile 注释等信息,均可自定义title = Network Latency Grapherremark = Welcome to the SmokePing website of xxx Company. Here you will learn all about the latency of our network.+ Testmenu= Targets 定义一个一级菜单#parents = owner:/Test/James location:/+ James 定义一个主机为Jamesmenu = James 菜单名为Jamestitle =Jamesalerts = someloss 报警阀值为上文定义的someloss#slaves = boomer slave2host = 监控的主机创建必要的目录12# mkdir /usr/local/smokeping/var,cacahe,data# chown daemon.daemon -R /usr/local/smokeping下载启动脚本,并启动smokeping12345# wget http:/oss.oetiker.ch/smokeping/pub/contrib/smokeping-start-script -P /etc/init.d/smokeping# chmod +x /etc/init.d/smokeping# /etc/init.d/smokeping start注:请按照自己的安装环境修改脚本中的smokeping命令的路径以及pid的存放路径1.观察cache目录下回立即生成两个文件rrdtool.png smokeping.png和刚才配置文件中以定义的那个监控主机的名字为名的目录被创建2.data目录下也会生成一个和定义的主机名一致的目录,并且观察目录里面的rrd文件每5分钟是否正常更新一次Nginx-cgi配置安装部分由于nginx不能直接执行外部可执行程序,需要nginx支持CGI,也就是将CGI的处理请求反向代理到后端的处理器,对于CGI的请求处理可以使用nginx-fcgi,其项目地址是:/packages/nginx-fcgi/?setlang=zh_CN这里我们只需要该项目中的nginx-fcgi.txt,nginx-fcgi.txt是一个用Perl脚本写的wrapper实例,所以,操作系统必须要安装Perl程序以及相关模块,下载下来后,可以看到其中有以下部分内容use FCGI;use Getopt:Long;use IO:All;use Socket;说明其依赖于 FCGI,Getopt:Long,IO:All,Socket 这些模块,安装1234567891011121314# wget /CPAN/authors/id/F/FL/FLORA/FCGI-0.74.tar.gz# wget /CPAN/authors/id/G/GB/GBJK/FCGI-ProcManager-0.19.tar.gz# wget /CPAN/authors/id/J/JV/JV/Getopt-Long-2.42.tar.gzIO-All 依赖于 IO-String# wget /CPAN/authors/id/F/FR/FREW/IO-All-0.48.tar.gz# wget /CPAN/authors/id/G/GA/GAAS/IO-String-1.08.tar.gzSocket 依赖于 ExtUtils:Constant# wget /CPAN/authors/id/P/PE/PEVANS/Socket-2.012.tar.gz# wget /CPAN/authors/id/N/NW/NWCLARK/ExtUtils-Constant-0.23.tar.gz# tar zxf FCGI-0.74.tar.gz# cd FCGI-0.74# perl Makefile.PL# make & make install按照这种方式进行安装以上几个包,根据个人环境,仔细解决依赖关系。全部正常安装完后。将nginx-fcgi.txt重命名为nginx-fcgi并放置于/etc目录下,创建nginx-fcgi启动脚本fcgiPS:因为http:/www.nginx.eu已经无法打开,所以本
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 6147-2025精密电阻合金热电动势率测试方法
- GB/T 45634-2025进境出境经虫媒传播传染病防控技术规范
- GB/T 33555-2025洁净室及相关受控环境静电控制技术要求
- 材料力学与智能材料性能拓展重点基础知识点
- 风电场草原火灾应急预案(3篇)
- 疼痛科火灾应急预案演练(3篇)
- 酒店厨房发生火灾的应急预案(3篇)
- 商铺燃气火灾应急预案(3篇)
- 企业在战略变化中的风险分析与决策试题及答案
- 产科新生儿火灾应急预案(3篇)
- 信息安全及保密意识培训
- 集成电路布图设计专有权转让合同
- 病种成本管理案例分享
- 网络施工服务合同范例
- 2024年无人机配件定制采购合同范本3篇
- 医院信息化建设与运维知识考核试卷
- 部编版五年级语文下册第二单元综合训练附答案
- 麻醉过程中的意外与并发症处理规范与流程
- 节约集约建设用地标准 DG-TJ08-2422-2023
- 危险化学品目录(2024版)
- 精密测量技术
评论
0/150
提交评论