前言:我就不瞎bb了,直接进入主题
安装
http://pan.baidu.com/s/1bpbw8fd
下载上面的文档
1.smokeping 外网邮件告警
我用的是139邮箱
搭建过程
当你安装完成smokeping之后 (看上面的文档安装完成之后),
修改smokeping 组建
vi /usr/local/smokeping/lib/Smokeping.pm
改好之后定位2549行 加入这个mailusr mailpwd
修改配置文件smokeping 主配置文件config
linux下 安装sendmail邮箱 (安装之后就好)
定义告警条件(仅供参考)
***Alerts *** from=smokeping@gamewave.net to=czlinux@163.com
+someloss type=loss # inpercent pattern=>3%,*12*,>3%,*12*,>3% comment=detected loss3times over the last two hours #定义一个阀值,表示12次检测中。如果有3次大于3%的丢包
+rttdetect5 type=rtt # inmilliseconds pattern=<5,<5,<5,<5,<5,>5,>5,>5,>5 comment=routing messed up again? #定义一个阀值,表示前五次检测延迟小于5ms,从第六次延迟大于5ms +rttdetect50 type=rtt # inmilliseconds pattern=<50,<50,<50,<50,<50,>50,>50,>50,>50 comment=routing messed up again? #定义一个阀值,表示前五次延迟小于50ms,从第六次延迟大于50ms
+rttdetect60 type=rtt # inmilliseconds pattern=<60,<60,<60,<60,<60,>60,>60,>60,>60 comment=routing messed up again? #定义一个阀值,表示前五次延迟小玉60ms,从第六次延迟大于60ms
+rttdetect80 type=rtt # inmilliseconds pattern=<80,<80,<80,<80,<80,>80,>80,>80,>80 comment=routing messed up again? #定义一个阀值,表示前五次延迟小玉80ms,从第六次延迟大于80ms #小伙伴们可以根据自己的业务重要程度集合网络状况,定义不通的丢包延迟阀值 2.slave节点
下面这条命令是在节点机器上运行
/usr/local/smokeping/bin/smokeping --master-url=http://主服务器ip地址/smokeping --cache-dir=/usr/local/smokeping/cache/ --shared-secret=/usr/local/smokeping/etc/smokeping --slave-name=slave32 --logfile=/usr/local/smokeping/smokeping.log
解释
slave name 是节点的名字
logfile节点本地的日志存储 权限chown apache:apache /usr/local/smokeping/smokeping.log
--cache-dir=/usr/local/smokeping/cache/ 这个是节点本地缓存 chown apache:apache /usr/local/smokeping/cache/
--shared-secret=/usr/local/smokeping/etc/smokeping 节点本地密钥存储文件 必须你600 chown apache:apache /usr/local/smokeping/etc/smokeping chmod 600 /usr/local/smokeping/etc/smokeping
如果有报错如下方法解决:
[iyunv@Nagios etc]#/usr/local/smokeping/bin/smokeping--master-url=http://192.168.0.206/smokeping/smokeping.cgi--cache-dir=/usr/local/smokeping/var/--shared-secret=/usr/local/smokeping/etc/smokeping_secrets--slave-name=ShenZhen WARNING: Data fromShenZhen was signed with 58e8b1b17440aa40fac67161b8c7a328 which does not matchour expectation ERROR: we did notget config from the master. Maybe we are not configured as a slave for any ofthe targets on the master ? 这个错误就是本地的密码文件配置错误,本地密码文件只保存master上面配置你这台slave的密码,只需要一个密码就可以了
[iyunv@Nagios etc]#/usr/local/smokeping/bin/smokeping--master-url=http://192.168.0.206/smokeping/smokeping.cgi--cache-dir=/usr/local/smokeping/var/--shared-secret=/usr/local/smokeping/etc/smokeping_secrets WARNING: No secretfound for slave Nagios.kevinadmin.org ERROR: we did notget config from the master. Maybe we are not configured as a slave for any ofthe targets on the master ? 在master上面的密码文件里加上Nagios.kevinadmin.org及对应的密码就可以了。
[iyunv@Nagios etc]#/usr/local/smokeping/bin/smokeping--master-url=http://192.168.0.206/smokeping/smokeping.cgi--cache-dir=/usr/local/smokeping/var/--shared-secret=/usr/local/smokeping/etc/smokeping_secrets WARNING: I don'tknow the slave Nagios.kevinadmin.org ignoring it ERROR: we did notget config from the master. Maybe we are not configured as a slave for any ofthe targets on the master ? 这个是指在config文件里面没有定义Nagios.kevinadmin.org这个从服务器 3,报错问题收集和解决
smokeping安装故障 Q:checking checking for perl module 'FCGI'... Failed checking checking for perl module 'RRDs'... Ok checking checking for perl module 'FCGI'... Failed checking checking for perl module 'CGI'... Ok checking checking for perl module 'CGI::Fast'...Failed checking checking for perl module'Config::Grammar'... Failed checking checking for perl module'Digest::HMAC_MD5'... Ok checking checking for perl module 'LWP'... OkN A: 这是由于没有安装 FCGI CGI::Fast等模块,可以使用cpan很方便来安装 ex: perl-MCPAN -e 'installFCGI' 如果有揭示未安装cpan,则用yum进行安装 yum install cpan 启动smokeping服务出错 Stopping SMOKEPING: [FAILED] Starting SMOKEPING: ERROR:/opt/smokeping/etc/config, line 225: Comma separated list of alert names [FAILED] A:查看配置文件中提到的位置:Line 225,并将其按照规则进行修改
Q:Can't locate RRDs.pm in @INC (@INC contains: 快速解决办法 安装完smokeping,执行debug语句: ./bin/smokeping --debug-daemon ,提示如下错误: Can't locate RRDs.pm in @INC (@INC contains:/usr/local/smokeping/lib /usr/lib/perl5/vendor_perl/5.8.8/usr/lib/perl5/vendor_perl/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi/auto/RRDs/usr/lib64/perl5/site_perl/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/site_perl/5.8.8/usr/lib/perl5/site_perl/usr/lib64/perl5/vendor_perl/5.8.8/x86_64-linux-thread-multi/usr/lib64/perl5/5.8.8/x86_64-linux-thread-multi /usr/lib/perl5/5.8.8 .) at/usr/local/smokeping/lib/Smokeping.pm line 13. BEGIN failed--compilation aborted at/usr/local/smokeping/lib/Smokeping.pm line 13. 缺少rrdtool,直接执行 yuminstall perl-rrdtool yum install -y rrdtoolperl-rrdtool rrdtool-devel
Q:ERROR: alert youknow?(/usr/local/smokeping/data/BeiJing_lz/cyou-inc) is not defined [Fri Nov 30 02:46:41 2012] [error] [client192.168.0.1] [Fri Nov 30 02:46:41 2012] smokeping.cgi: Can't locateSmokeping.pm in @INC (@INC contains:/home/oetiker/checkouts/smokeping/trunk/software/lib/usr/pack/rrdtool-1.3.0-rp/lib/perl /usr/lib/perl5/site_perl/5.8.8/i386-linux-thread-multi/usr/lib/perl5/site_perl/5.8.8 /usr/lib/perl5/site_perl/usr/lib/perl5/vendor_perl/5.8.8/i386-linux-thread-multi/usr/lib/perl5/vendor_perl/5.8.8 /usr/lib/perl5/vendor_perl/usr/lib/perl5/5.8.8/i386-linux-thread-multi /usr/lib/perl5/5.8.8 .) at/usr/local/smokeping/htdocs/smokeping.cgi line 12. 配置有语法错误,根据提示检查smokeping.cgi及相关配置是否正确
smokeping展示 Q1:web界面不出图
A:1.查看smokeping的conf文件中的imgurl=http://本机ip/图片目录与apache中的对应配置是否正确。 2.右击图片位置,查看图片的url是否与配置的一致。 3.结合apache日志来判断问题所在。 [Fri Nov 30 02:46:41 2012] [error] [client192.168.0.1] speedy_backend[23099]: perl_parse error [Fri Nov 30 02:46:42 2012] [error] [client192.168.0.1] speedy[23093]: Cannot spawn backend process //cgi程序没有启来,或者配置有错误 //要获取的文件不存在
Q2:出现smokeping的图片 但是没数据
1.用Debug模式,查看smokeping的日志,是否有网络问题 2.相关权限的设置是否正确 3.rrdtool读取rrd数据并且显示到web上需要等一段时间。通常配置完成后,等一段时间,多刷新几次就好了。
Q3:The specified type of tracerouting is allowed forsuperuser only smokeping使用Traceroute来进行网络追踪,执行用户是apache, 普通用户执行traceroute是受限制的,所以需要给traceroute命令加上s的权限 chmod u+s/usr/bin/traceroute 执行的命令如下进行测试: traceroute-w 1 -n -T -p 10054 <ipaddress>
停止smokeping服务出错 Q1:# /usr/local/smokeping/bin/smokeping stop Note: logging to syslog as local0/info. ERROR: I Quit! Another copy of bin/smokeping (19901)seems to be running. Check/usr/local/smokeping/var/smokeping.pid A:检查是否还有smokeping进行启动着,执行killall smokeping。再重启服务
如果还有其它的奇葩问题,请留言。。。。。。
|