如何使用smokeping监测网络?smokeping监测网络使用步骤过程
一、介绍
smokeping是rrdtool的作者Tobi Oetiker的作品,所以它在图形显示方面有很大优势,也是一个很 有特点的opensource工具:
多种探测方式,包括fping、echoping、dig、curl等;
易用可扩展的插件;
master/slave的 工作方式,可以在多个节点收集同一个监测点的数据;
很有特色的alert设置,不只是简单的设置一个阀值;
smokeping当前的版本是2.4.2, 本文也是基于这个版本。
二、安装
1、准备工作:
smokeping是一个用perl写的程序,所以不需要安装。但是他需要使用一些工具以及perl的module,比如rrdtool、 fping、echoping等,这些都需要预先安装好。
如果是用debian的话,直接用apt来安装就可以了:
aptitude install rrdtool apache2 fping echoping libapache2-mod-speedycgi libwww-perl libsocket6-perl libnet-telnet-perl libnet-dns-perl libnet-ldap-perl libio-socket-ssl-perl libauthen-radius-perl libcgi-perl librrds-perl librrdp-perl
如果是其他linux的发行版,可以使用CPAN来安装perl的 module。
smokeping启动的时候,也会自己去检查需要用到的程序是否能找到。
2、设置:
在smokeping的子目录中会发现很多“*.dist”命名的文件,这些文件使用的时候请将其改名为“*“并进行配置。
bin/smokeping
主程序,运行在后台。
在这个文件里面我们需要修改前面两个lib和后面config文件的path。
两个lib分别是smokeping的lib和rrdtool的lib。
我的smokeping安装在/usr/local/目录中,所以我的设置是:
use lib qw(/usr/lib/perl5/);
use lib qw(/usr/local/smokeping/lib);
Smokeping::main("/usr/local/smokeping/etc/config");
htdocs/smokeping.cgi
显示页面、图像和作为slave传输数据的接口,设置方法与"bin/smokeping"类似。
但是第一行的speedy的路径可能需要修改,否则浏览器中只会看到一个白色的页面。
htdocs/cropper/*
用来作页面图像放大缩小的工具。
etc/config
主配置文件,非常重要。
它使用的是perl的Config::Grammar模 块。
在section:
*** General ***
里面我主要配置几个path:
imgcache = /home/temp/smokeping/cache
imgurl = https://smokeping/smokepingcache
datadir = /home/temp/smokeping/data
piddir = /home/temp/smokeping/var
cgiurl = https://smokeping/smokeping/smokeping.cgi (我使用了ssl)
要在页面中显示中文的话,在section:
*** Presentation ***
中,加入:
charset = gb2312
不过rrdtool图像中还是显示不了中文。
etc/basepage.html
显示页面的主框架。里面之需要配置"htdocs/cropper/"的位置即可。
3、配置apache:
AllowOverride None
AddHandler cgi-script. cgi
Options ExecCGI
Alias /smokeping/ "/usr/local/smokeping/htdocs/"
Alias /smokepingcache/ "/home/temp/smokeping/cache/"
三、普通使用
1、开始使用
smokeping的配置文件"etc/config"使用Config::Grammar形式的config文件,以"+"作为层的开始符号。
比如:
+layer1
menu = layer1
title = layer1
++site1
menu = layer2
title = layer2
+++myhost1
menu = layer3
title = layer3
host = myhost.com
+++myhost2
menu = layer4
title = layer4
host = yourhost.com
...
其中myhost1、myhost2属于site1,而site1则属于layer1。 另外子层的"menu"、"title"并不是必需的。
配置好以后,可以启动smokeping了:
./bin/smokeping
如果有错误的话可以debug一下:
./bin/smokeping --debug
2、multi-graph功能
也就是在一张图里面画上多个监测点的数值,很简单:
+++ Multi
menu = Multi
title = My Multi
host = /layer1/site1/myhost1 /layer1/site1/myhost2
其它都一样,不同的是在"host"中指定要放在一起的host(要之前有设置的host)的路径就可以了。
四、smoketrace
作者在2.4版本中加入的新功能,个人觉得用处不太大。
这里有 详细的安装方法,如果你也是将"htdocs"目录作为cgi的目录的话,什么都不用改,只需要将"htdocs/tr.cgi.dist"文件改名 为"tr.cgi",并配置里面的lib路径即可。
最后在section:
*** Targets ***
中加入:
menuextra =onclick="window.open(this.href,this.target, \
'width=800,height=500,toolbar=no,location=no,
status=no,scrollbars=no'); \
return false;">*
即可看到页面左边的的每一个host的后面都多了个"*"号,点这个"*"号就会弹出trace的页面。
这个trace比较像"MTR"的trace结果,为什么说它没有什么用呢?因为它返回结果比较慢,而且只能使用"master"的机器来进行 trace。
五、master/slave模式
下面说说master、slave模式,详细请 看这里。
[slave 1] [slave 2] [slave 3]
| | |
+-------+ | +--------+
| | |
v v v
+---------------+
| master |
+---------------+
从图上可以看到,slave主机会自己去检查监测点的情况(loss and rtt),并将数值提交给master主机(通过smokeping.cgi)。
值得注意的是,slave并不需要config文件,每次slave提交完数据以后,会询问master它自己的配置文件是否有修改,如果有修改的话 slave会进行更新。
配置方法我就简单说说好了:
设置slave信息:
*** Slaves ***
secrets=/usr/local/smokeping/etc/slavesecrets.conf
+slave1
display_name=bjcnc
location=China
color=ff0000
要注意的是"slave1"这个名字需要设置为slave主机的hostname,并且写在"slavesecrets.con"文件里面,如:
slave1:12345
如果不想用slave主机的hostname,那么在slave主机启动smokeping服务的时候需要使用"--slave-name"来指定 自己的名字。
*** Targets ***
slaves = slave1 slave2
...
+dest1
slaves =
...
+dest2
slaves = slave1
...
+dest3
...
在section
*** Targets ***
中指定那个host需要使用哪个slave帮忙进行检测。下层会继承上层的配置,如果下层不像继承的话,可以配置"slaves ="来避免使用slave。
设置好以后,master的服务器重启一下:
./bin/smokeping --restart
启动slave:
./bin/smokeping --master-url=http://smokeping/smokeping.cgi \
--cache-dir=/var/tmp/smokeping/ \
--shared-secret=/usr/local/smokeping/secret.txt \
--slave-name=slave1
其中secret.txt记载着在master的slavesecrets.conf文件里面对应的slave的密码(只有密码,没有slave名 称)。
slavesecrets.conf和secret.txt文件的文件权限都要是"600"的。
master/slave模式中,master和slave的图片都会显示在同一个页面中,如果不希望显示master的图片,可以使用
nomasterpoll=yes
参数。
另外要注意的一点是,master上面启动"smokeping"进程和apache进程的用户必须要一致。因为rrd文件是由"smokeping"进 程创建的,而数据的update却是由"smokeping.cgi"进行的,也就是apache用户。如果不一致的话会出现rrd文件无法被更新的情 况,这个情况即使在slave主机上面进行debug也是看不出来的。具体的现象是在页面上面看到master的图像出现数据,但是slave的图像一直 是空白的,数据显示是"nan"。
六、alert设定
smokeping的alert设置有点复杂,但是却很好用,考虑得很周全。
它默认可以使用邮件进行alert,也可以直接调用外部程序进行IM的报警,也就是说你只需要写一个简单的脚本,就可以实现smokeping的MSN 、 gtalk 、飞信等IM、短信报警了。
例子:
*** Alerts ***
to = |/usr/local/smokeping/bin/alert.sh
from = joe@somehost
"to" 选项,默认是要填入一个email地址的,但是只要在"="后面加上"|",后面再跟你自定义的脚本的路径,就可以调用自己的脚本进行alert了。
脚本会读入5或者6个参数:name-of-alert, target, loss-pattern, rtt-pattern, hostname,[raise]。
自己选择使用哪些参数alert即可。
+someloss
type = loss
# in percent
pattern = >0%,*12*,>0%,*12*,>0%
comment = loss 3 times in a row
+rttbad
type = rtt
# in milliseconds
pattern = ==S,>50,>50
comment = route
+rttdetect
type = rtt
# in milliseconds
pattern = <10,<10,<10,<10,<10,<100,>100,>100,>100
comment = routing messed up again ?
alert的类型我们主要使用"loss"和"rtt"两种(当然还有更多更复杂的类型)。上面的两个alert设置的意思是:
someloss:
如果在12次检查中出现了3次丢包的情况(不论丢多少个包),就进行alert;
rttbad:
如果连续出现两次50毫秒以上的延时,就进行alert;
rrtdetect:
之前5次检查延时都少于10毫秒,前6次检查延时都少于100毫秒,第7次开始连续3次检查延时都大于100毫秒的话,就进行alert。
从上面可以看出,smokeping的alert做得很全面和仔细,并非像其他工具一样,就使用一个阀值来进行预警的。
最后在你希望进行alert的target里面加上:
alerts = rttbad,someloss
即可。
和"slaves"一样,也是向上继承的,避免继承的方法也是"alerts =",做一个空的alerts。
相关推荐:
最新新闻:
- 如何使用smokeping监测网络?smokeping监测网络使用步骤过程
- 《狂飙》真没崩,但它让细节控们“疯”_世界快看
- 《霍格沃茨之遗》分院仪式后 玩家无法更换学院和魔杖
- 国外玩家意外发现科乐美弃作《寂静岭P.T.》 沉睡已久-环球报资讯
- 《死亡空间:重制版》优化补丁正在开发中 PC可关闭VRS|时讯
- 顽皮狗尼尔晒动捕照悼念《最后生还者的》游戏泰丝演员:我们永远是一家人_环球新资讯
- SE询问玩家是否想要更多重制游戏 非SE游戏也可以
- 【世界新视野】期待薪资7千到1万却被HR怒怼:真敢开价!用不起
- AI彻底赢麻了,人类画手即将失业?|天天时讯
- TCL新手机来袭:800元享可拆卸电池
- iPhone 15 Ultra外观定了:钛合金材质 不是直角边框了
- 《狂飙》演员演出前才知道自己真实身份 导演太会玩-天天最资讯
- 郭帆回应何时能看到《流浪地球2》完整导剪版:得先不赔钱
- 全球速递!《崩坏 星穹铁道》预约破千万 预约里程碑福利全部解锁
- 港股小幅低开,新东方在线跌近10%,汽车股冲高
- 快资讯丨《魔咒之地》Steam销量惨淡 目前已跌出Top 50
- 报道:北上资金爆买超千亿,这些行业最受青睐,酒茅、宁王获增持超20亿
- 《死亡空间:重制版》有趣彩蛋暗示二代或将重制
- 什么是HTTP ERROR 403?导致403错误的主要原因及解决方法
- 为什么突然提示重设ID密码?怎么重置苹果密码?
- 世界热文:水墨绍兴桥
- 全球播报:《EL NE RUE》登陆Steam 像素风探索美丽废墟
- 测试电源好坏怎么判断?检测电脑电源是否坏了的方法
- win7系统eml文件怎么打开?eml文件怎么查看?
- 微信视频号不让别人关注怎么设置?微信视频号视频怎么下载?
- 我有许多正常逻辑无法理解的疑问,你们能回答我吗?_全球新视野
- 磁盘碎片整理有什么用?磁盘碎片整理的作用
- 怎么清除地址栏记录?清除地址栏记录的方法
- 如何屏蔽热点资讯广告提示框?热点资讯怎么彻底卸载?
- win7系统为什么登录不上QQ邮箱?如何解决登录不上QQ邮箱的问题?
- 怎样修复ie浏览器?ie浏览器版本过低怎么升级?
- 198.168.0.1路由器怎么设置?198.168.0.1路由器设置步骤
- 什么是强刷?如何用flashtool强刷recovery?
- 如何解决飞信无法登陆?飞信无法登陆解决方法
- 笔记本无线WIFI怎样设置共享?路由器怎么设置共享wifi?
- office2007注册码怎么获取?office2007密钥分享
- win7系统softmanager怎么关闭?结束任务操作显示拒绝访问的解决方法
- 迅雷快传提取码是什么?迅雷提取码怎么使用?
- 电视机爆炸是什么原因?电视机无信号怎么解决?
- windows桌面向导是什么?桌面清理器的使用方法
- 锂离子电池第一次充电怎么充?锂离子电池充电需要注意些什么?
- roguelite动作游戏《苍翼:混沌效应》Steam页面上线 支持简中:全球播报
- 深圳春运“无大巴”? 当前播报
- 全球头条:春节楼市:看房热度上涨,50城二手房成交量增超五成
- 微软:343对《光环》的成功仍至关重要
- 全球观速讯丨《流浪地球2》90%场景在青岛拍摄 观众要求加小板凳
- 春节期间微信用户发红包超40亿次!线下交易量上涨-当前速递
- 辨识度拉满!realme将推出联名可口可乐手机_天天热议
- 开罗游戏《珍宝机场物语》2月2日登陆Switch 世界热推荐
- 为啥小企业做不好短视频营销?
- 《血源》"人偶"1/4雕像开启预定:售价8134元 当前热讯
- 焦点要闻:PS+欧美服2月会免游戏泄露:《四海兄弟:终极版》等
- 环球动态:OPPO Find X6工程机曝光:标配潜望长焦镜头
- 资讯推荐:RTX 4090 Ti显卡实物曝光:四槽厚度
- 焦点热门:雷蛇宣布2月2日新品发布会:新鼠标来了!
- 【聚看点】《流浪地球2》北美上映 首日票房斩获37.2万美元
- 天天即时看!Queen Studios超人1/1胸像:面部坚毅 超级还原!
- 《阿玛拉王国:惩罚 重制版》开发商正打造一个原创游戏
- 当前要闻:席梦思被投资者当球踢
- 热门看点:【手慢无】直降 700,海信 65 寸 4K 电视白菜价 1899 元到手
- 2022年中国手机Top 5:vivo第一 苹果仅第三|每日动态
- 荣耀Magic 5系列曝光:圆环三摄 2000多元起
- 网友建议理想L9参考小鹏P7设计灯语 李想:纯种杀马特 世界报道
- Switch称霸日本游戏店!Xbox货架小得可怜|全球热点
- 《流浪地球2》北美上映票房不敌印度电影
- Uzi与范丞丞公司43万股权被冻结 已累计被冻结104万_全球实时
- 《漫威蜘蛛侠2》真人广告泄露:秋季发售没跑了!
- 国内智能手机2022年出货量创10年来新低 vivo成为全年出货冠军
- 苹果生态的3个王炸功能,真的用了就回不去 焦点热讯
- 一加Ace 2跑分曝光:近115万,为满血版骁龙8+Gen 1_精选
- 移动办公首选 三星Galaxy Z Fold4成最佳拍档
- 魅族汽车要来了!正在汽车领域招兵买马:世界看热讯
- 精选!魅族申请「无界汽车」商标,魅友:魅牌汽车真的要来了
- 摩托罗拉新款旗舰机Edge 40 Pro曝光:搭载二代骁龙8处理器
- 青春源干细胞科普:人体最容易“藏”血栓的地方在哪?