打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
使用smokeping监测网络
【实际需求】
做为网站公司一般都会要求我们 IT 部提供全国各地 IDC 网络速度如何?质量?稳定性等等?
一般 ISP 或者代理公司会给出测试服务器供我们测试该 IDC 的网络情况如何?
比如 windows 服务器中有雷傲测试工具等等、就是通过在高峰时间段 ping 各地区的信息港或者骨干网络的 IP 地址;最后分析统计该时间段内的 ping 值数据的平均值和丢包率等

一、介绍

smokepingrrdtool的作者Tobi Oetiker的作品,所以它在图形显示方面有很大优势,也是一个很有特点的opensource工具:

多种探测方式,包括fping、echoping、dig、curl等;
易用可扩展的插件;
master/slave的工作方式,可以在多个节点收集同一个监测点的数据;
很有特色的alert设置,不只是简单的设置一个阀值;



smokeping当前的版本是2.4.2,本文也是基于这个版本。

二、安装

下载页面:http://oss.oetiker.ch/smokeping/pub/

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模块。
更详细的配置请点击html">这里

在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:

<Directory /usr/local/smokeping/htdocs/>
  AllowOverride None
  AddHandler cgi-script cgi
  Options ExecCGI
</Directory>

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 = <a target=_blank href=tr.html{HOST} class={CLASS}
onclick="window.open(this.href,this.target,
width=800,height=500,toolbar=no,location=no,
status=no,scrollbars=no);
return false;">*</a>

即可看到页面左边的的每一个host的后面都多了个"*"号,点这个"*"号就会弹出trace的页面。
这个trace比较像"MTR"的trace结果,为什么说它没有什么用呢?因为它返回结果比较慢,而且只能使用"master"的机器来进行trace。

五、master/slave模式
下面说说master、slave模式,详细请看这里

[slave 1]     [slave 2]      [slave 3]
        |             |              |
        +-------+     |     +--------+
                |     |     |
               &n 
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
配置?SmokePing?网络监控
运维人员必须要会的监控网络状态的好工具
【教程】在Eclipse中配置刚安装好的PyDev插件 | 在路上
windows系统下JDK1.6环境变量配置
Python Web 编程(一)Nginx mod
Perl自定义模块的路径包含问题
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服