一款监控网络状态的好工具- Smokeping
最近工作中需要监测某个分公司到IDC机房的网络情况,到网络上找了不少软件,发现一款叫smokeping的开源软件还不错,它是rrdtool的作者制作的,在图形显示方面很漂亮,可以用来很好的检测网络状态和稳定性。
下面介绍一下软件的安装配置方法:
一.安装软件
1.使用yum 命令安装所需的工具
yum install gcc freetype-devel zlib-devel libpng-devel libart_lgpl-devel httpd-devel apr-util-devel apr-devel cairo cairo-devel pango pango-devel libxml2 libxml2-devel perl-XML-Simple.noarch perl-Crypt-SSLeay perl-Digest-HMAC
2. 安装rrdtool
wget http://oss.oetiker.ch/rrdtool/pub/rrdtool-1.3.6.tar.gz
tar zxvf rrdtool-1.3.6.tar.gz
cd rrdtool-1.3.6
./configure --disable-tcl
make
make install
3. 安装cgilib
wget http://down1.chinaunix.net/distfiles/cgilib-0.5.tar.gz
tar zxvf cgilib-0.5.tar.gz
cd cgilib-0.5
make
cp libcgi.a /usr/local/lib
cp cgi.h /usr/include
4. 安装fping
wget http://fping.sourceforge.net/download/fping.tar.gz
tar zxvf fping.tar.gz
cd fping-2.4b2_to
./configure
make
make check
make install
5.安装 echoping
wget http://jaist.dl.sourceforge.net/project/echoping/echoping/6.0.0/echoping-6.0.0.tar.gz
tar zxvf echoping-6.0.0.tar.gz
cd echoping-6.0.0
./configure
make
make test
make install
6.安装 CGI-SpeedyCGI
wget ftp://195.220.108.108/linux/epel/5/x86_64/mod_speedycgi-2.22-4.el5.x86_64.rpm
wget ftp://ftp.muug.mb.ca/mirror/fedora/epel/5/x86_64/perl-CGI-SpeedyCGI-2.22-4.el5.x86_64.rpm
rpm -ivh --force perl-CGI-SpeedyCGI-2.22-4.el5.x86_64.rpm
rpm -ivh mod_speedycgi-2.22-4.el5.x86_64.rpm
wget http://mirrors.163.com/cpan/authors/id/H/HO/HORROCKS/CGI-SpeedyCGI-2.22.tar.gz
tar zxvf CGI-SpeedyCGI-2.22.tar.gz
cd CGI-SpeedyCGI-2.22
perl Makefile.PL
遇到问题选择默认选项(no)
make
make test
make install
7.安装smokeping
wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.3.6.tar.gz
tar zxvf smokeping-2.3.6.tar.gz
mv smokeping-2.3.6 /usr/local/smokeping
cd /usr/local/smokeping
二.配置smokeping
1. 修改文件名
修改/usr/local/smokeping/bin下的smokeping.dist
cp smokeping.dist smokeping
修改etc/ 下的 basepage.html.dist,config.dist,smokemail.dist
cp basepage.html.dist basepage.html
cp config.dist config
cp smokemail.dist smokemail
chmod 600 smokeping_secrets.dist
修改htdoc/下的smokeping.cgi.dist
cp smokeping.cgi.dist smokeping.cgi
2. 修改配置文件
配置 bin/smokeping
vi /usr/local/smokeping/bin/smokeping
在这个文件里面我们需要修改前面两个 lib 和后面 config 文件的 path。
两个 lib 分别是 smokeping 的 lib 和 rrdtool 的 lib (红色为修改后的内容)
#!/usr/sepp/bin/perl-5.8.4 -w
#!/usr/bin/perl -w
use lib qw(/usr/pack/rrdtool-1.2.23-mo/lib/perl);
use lib qw(/usr/local/rrdtool-1.3.6/lib/perl);
use lib qw(lib);
use lib qw(/usr/local/smokeping/lib);
use Smokeping 2.003006;
Smokeping::main("etc/config.dist");
Smokeping::main("/usr/local/smokeping/etc/config");
配置 htdocs/smokeping.cgi,方法与上面相同
vi /usr/local/smokeping/htdocs/smokeping.cgi
************************
#!/usr/sepp/bin/speedy -w
#-*-perl-*-
#!/usr/bin/speedy -w
# -*-perl-*-
# use lib qw(/usr/pack/rrdtool-1.0.33-to/lib/perl);
use lib qw(/usr/local/rrdtool-1.3.6/lib/perl/);
# use lib qw(/home/oetiker/data/projects/AADJ-smokeping/dist/lib);
use lib qw(usr/local/smokeping//lib);
use Smokeping 2.003006;
Smokeping::cgi("/home/oetiker/data/projects/AADJ-smokeping/dist/etc/config");
Smokeping::cgi("/usr/local/smokeping/etc/config");
配置 etc/config
vi usr/local/smokeping/etc/config 将以下几行替换为已经安装的相关软件的路径
*** General ***
imgcache = /home/oetiker/public_html/smokeping-ms/cache
imgcache = /usr/local/smokeping/htdocs/cache
imgurl = cache
imgurl = cache
datadir = /tmp/smokeping-ms/data
datadir = /usr/local/smokeping/var
piddir = /tmp/smokeping-ms/var
piddir = /usr/local/smokeping/var
cgiurl = http://some.url/smokeping.cgi
cgiurl = http://本机IP/htdocs/smokeping.cgi ;
smokemail = /home/oetiker/checkouts/smokeping/trunk/software/etc/smokemail.dist
smokemail = /usr/local/smokeping/etc/smokemail
tmail = /home/oetiker/checkouts/smokeping/trunk/software/etc/tmail.dist
tmail = /usr/local/smokeping/etc/tmail.dist
*** Presentation ***
template= /home/oetiker/checkouts/smokeping/trunk/software/etc/basepage.html.dist
template = /usr/local/smokeping-2.3.6/etc/basepage.html
*** Probes ***
+ FPing
binary = /usr/sbin/fping
binary = /usr/local/sbin/fping
#** Database ***
step = 60
pings = 10
修改ping的频率,默认为300秒ping20 次,我们可以根据需要调整,这里修改为60秒 ping 10次。
*** Targets ***
#=================================
#这里用于配置监控目标,以+号分层,+为首页,++为子层,我们以百度和搜狐为例。
+TEST
menu= TEST
title = TEST
++ baidu
menu = baidu
title = baidu
host = 115.239.210.27
++ sohu
menu = sohu
title = sohu
host = 121.14.0.97
#=================================
3. 添加目录
建立下面三个目录用于保存smokeping的数据等
mkdir /usr/local/smokeping/data
mkdir /usr/local/smokeping/var
mkdir /usr/local/smokeping/htdocs/cache
chown –R apache:apache /usr/local/smokeping
4. 修改apache配置文件
vi /etc/httpd/conf/httpd.conf
添加下面内容:
Alias /smokeping/ "/usr/local/smokeping/htdocs/"
Alias /cache/ "/usr/local/smokeping/cache/"
<Directory "/usr/local/smokeping/htdocs">
Options FollowSymLinks ExecCGI
AllowOverride None
AddHandler cgi-script cgi
Order allow,deny
Allow from all
</Directory>
三.启动
1.重启apache
service httpd restart
2.重启smokeping
/usr/local/smokeping/bin/smokeping restart
完成。
效果图:
http://www.cnblogs.com/ahwwmb/archive/2013/03/12/2955678.html
一款监控网络状态的好工具- Smokeping的更多相关文章
- 用c#监控网络状态
1.查询当前网络状态: using Microsoft.VisualBasic.Devices; //判断当前网络连接状态 Network nw=new Network(); if(nw.IsAvai ...
- Android中判断网络连接是否可用及监控网络状态
Android中判断网络连接是否可用及监控网络状态 作者: 字体:[增加 减小] 类型:转载 获取网络信息需要在AndroidManifest.xml文件中加入相应的权限,接下来详细介绍Android ...
- C# 利用性能计数器监控网络状态
本例是利用C#中的性能计数器(PerformanceCounter)监控网络的状态.并能够直观的展现出来 涉及到的知识点: PerformanceCounter,表示 Windows NT 性能计数器 ...
- iOS实时监控网络状态的改变
在网络应用中,有的时候需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能) (2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体 ...
- iOS--实时监控网络状态的改变
在网络应用中,有的时候需要对用户设备的网络状态进行实时监控,有两个目的: (1)让用户了解自己的网络状态,防止一些误会(比如怪应用无能) (2)根据用户的网络状态进行智能处理,节省用户流量,提高用户体 ...
- Android 监控网络状态
public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivity = (Conn ...
- .Neter玩转Linux系列之五:crontab使用详解和Linux的进程管理以及网络状态监控
一.crontab使用详解 概述:任务调度:是指系统在某个时间执行的特定的命令或程序. 任务调度分类: (1)系统工作:有些重要的工作必须周而 复始地执行. (2)个别用户工作:个别用户可能希望执 行 ...
- Android网络状态监控
Android 监控网络状态 在Android网络应用程序开发中,经常要判断网络连接是否可用,因此经常有必要监听网络状态的变化.android的网络状态监听可以用BroadcastReceiver来接 ...
- iOS 检测网络状态 自动判断 认为提示网络改变
检测网络状态 在网络应用中,需要对用户设备的网络状态进行实时监控,目的是让用户了解自己的网络状态,防止一些误会(比如怪应用无能)根据用户的网络状态进行智能处理,节省用户流量,提高用户体验WIFI\3G ...
随机推荐
- Instructions函数对照表:02 xmmintrin.h与SSE指令集[转]
更多详情见——http://www.cnblogs.com/zyl910/archive/2012/04/26/md00.htmlSIMD函数整理:00 索引贴 R:寄存器.M:64位MM寄存器:X: ...
- Win10系统下安装Tensorflow
TensorFlow是谷歌基于DistBelief进行研发的第二代人工智能学习系统,具备良好的灵活性和拓展性. 过去TensorFlow只支持Linux和Mac OS,而没有提供windows的支持. ...
- 转(JSONP处理跨域事件)
前言: 由于Sencha Touch 2这种开发模式的特性,基本决定了它原生的数据交互行为几乎只能通过AJAX来实现. 当然了,通过调用强大的PhoneGap插件然后打包,你可以实现100%的Soc ...
- 关于$.ajax中data字段的整理--包括json转换和spring注解
1.前端$.ajax 的data为json提交的时候,后台方法中必须使用@RequestBody 注解 @RequestMapping(value = "getCpuData/{int ...
- oracle闪回使用以及删除存储过程恢复
oracle恢复删除的数据 恢复删除的存储过程 SELECT * FROM dba_source as of timestamp (systimestamp -interval'600'second ...
- js button onclick动作赋值操作
昨天遇到的小问题 记录下 主要的东西其实都在这里:http://www.jb51.net/article/35107.htm 我稍微写一下: <script> function show( ...
- C# Timer用法及实例详解
C# Timer用法有哪些呢?我们在使用C# Timer时都会有自己的一些总结,那么这里向你介绍3种方法,希望对你了解和学习C# Timer使用的方法有所帮助. 关于C# Timer类 在C#里关于 ...
- OpenJudge计算概论-简单算术表达式求值
/*===================================== 简单算术表达式求值 总时间限制: 1000ms 内存限制: 65536kB 描述 2位正整数的简单算术运算(只考虑整数运 ...
- windows中用eclipse开发Android环境搭建SDK安装异常
SDK更新时的“https://dl-ssl.google.com refused”错误 Download interrupted: hostname in certificate didn't ma ...
- (四)文本编辑器Vim/Vi
目录 前言 常用命令 扩展应用 总结 本系列先前的随笔位于新浪博客 前言 Vi和Vim都是文本编辑器,不同的是Vim是Vi的升级版本,它不仅兼容Vi的所有指令,而且还有一些新的特性在里面. Vim/V ...