CentOS中Smokeping+Nginx搭建.详解

本文与我个人的独立博客 同步发布,欢迎各位访问我的小站!简介

smokeping是rrdtool的作者Tobi Oetiker的作品,采用多种方式对网络性能进行监控检测并告警,它支持较多的插件方式对网络的多项指标进行监控,并且支持Matser/Slave的架构,多个节点的监控数据可以在同一个图上展现。通过颜色和阴影表示网络延迟和丢包情况,图像很漂亮。适用于对多IDC机房网络的监控和网络性能的采集分析。

Smokeping安装部分

安装smokeping依赖的一部分perl模块还有一些其他检测组件

# 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 -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/thirdparty

The 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模块

# export PERL5LIB=/usr/local/smokeping/thirdparty/lib/perl5/# ./configure –prefix=/usr/local/smokeping# /usr/bin/gmake installSmokeping简单配置部分

创建主配置文件

# cp /usr/local/smokeping/etc/config.dist /usr/local/smokeping/etc/config# vim /usr/local/smokeping/etc/config

*** :标示的区块属于不同类型的内容+ :代表一级菜单 +下面的++是继承上面的+成为二级菜单。 而且可以有多个一级菜单和二级菜单。第一部分General区块,属于基本配置owner = daemon smokeping运行的用户contact = admin@coocla.org 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 = 完整的smokeping的url路径smokemail = /usr/local/smokeping/etc/smokemail.dist 发送邮件的邮件内容模板tmail = /usr/local/smokeping/etc/tmail.dist HTML邮件模板的路径syslogfacility = local0 syslog日志记录的设备编号

第二部分Alter区块,属于报警配置to = admin@coocla.org 报警邮件接收人地址from = smokealert@company.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 = blog.coocla.org 监控的主机blog.coocla.org

创建必要的目录

# mkdir /usr/local/smokeping/{var,cacahe,data}# chown daemon.daemon -R /usr/local/smokeping

启动smokeping

# wget -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配置安装部分“人无完人金无足赤”,只要是人就不会是完美的,

CentOS中Smokeping+Nginx搭建.详解

相关文章:

你感兴趣的文章:

标签云: