Smokeping 是一款用于网络性能监测的监控软件,通过它可以在自己公司IDC的网络状况,如延时,丢包率,是否BGP多线等,通过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

完成。

效果图: 

监控网络状态的好工具- Smokeping相关推荐

  1. 一款监控网络状态的好工具- Smokeping

    最近工作中需要监测某个分公司到IDC机房的网络情况,到网络上找了不少软件,发现一款叫smokeping的开源软件还不错,它是rrdtool的作者制作的,在图形显示方面很漂亮,可以用来很好的检测网络状态 ...

  2. 使用腾讯云轻量应用服务器搭建网络质量拨测工具 SmokePing

    本文原载于 https://www.idc.moe/archives/qcloud-Lighthouse-SmokePing.html 作者:iks SmokePing 是由 RRDtool 的作者 ...

  3. Linux监控网络状态

    Linux监控网络状态 查看系统网络情况 netstat netstat [选项] -an 按一定顺序排列输出 -p 显示哪个进程在调用 应用案例 请查看服务名为 sshd 的服务的信息. netst ...

  4. 脚本监控网络状态,输出日志并归档(V2)

    脚本监控网络状态&日志归档整理(V2) 最近为检测***环境网络状态是否稳定,没有使用监控zabbix等监控工具,为方便快捷,使用脚本实现网络监控,并输出日志归档整理,方便后续排查. 在上次基 ...

  5. Linux实操-网络配置、进程管理、服务管理、动态监控进程、监控网络状态

    网络配置 网络配置原理图 查看网络IP和网关 查看虚拟网络编辑器 修改虚拟网卡ip地址 查看网关 linux网络环境配置 第一种方法(自动获取) 第二种方法(指定固定的 ip) 进程管理(重点) 显示 ...

  6. Linux:动态监控进程+监控网络状态

    1.动态监控进程: 当前时间 系统运行时间 用户数量 负载值(三个值的和/3如果大于0.7,则负载过大:否则负载还行) Tasks:任务数. running是正在运行的任务数 zombie是僵死进程( ...

  7. 【前端工程化】使用轮询的方式,监控网络状态,检测是否断网

    在我们的项目中会有监控网络状态的要求,比如断网了,那就给一个断网提示,常见的方法是使用navigator.onLine 这个方法 但是有的时候这个也不准,所以我们可以这样做,增加一个接口,在项目中轮询 ...

  8. zabbix使用ICMP ping监控网络状态

    简介 zabbix为我们提供了多种监控方式,本文所说的ICMP ping正是zabbix内部的Simple check(简单检查),很实用的小功能,可以实时了解主机的网络状态. Zabbix在监控网络 ...

  9. Android 监控网络状态

    Html代码 public static boolean isNetworkAvailable(Context context) { ConnectivityManager connectivity  ...

最新文章

  1. 迭代是人,递归是神(迭代与递归的总结:比较)
  2. 如何居中一个浮动元素?
  3. bdd行为驱动开发 java_行为驱动开发(BDD)如何与领域驱动设计(DDD)结合?
  4. 面试官问我有环链表中怎么找到入口,本以为很简单当场却想傻了
  5. C#令人迷惑的DateTime:世界标准时间还是本地时间?
  6. 灯效控制器和rgb控制器_更具个性的RGB风扇,机箱里的魔术师,九州风神MF120GT开箱...
  7. python判断某年是否为闰年_python如何判断某年是否是闰年_后端开发
  8. 在ie中关于ajax请求获得数据缓存问题的解决办法
  9. ubuntu下JNI之HelloWorld相互传String值
  10. C语言:求两个整数的最大公约数
  11. 是什么让spring 5放弃了使用Guava Cache?
  12. HttpUtil 工具类
  13. 游戏建模师自学3D建模有哪些教材?自学难吗?
  14. 2台电脑共享一套键盘鼠标
  15. acer 服务器装系统,acer重装系统图文教程
  16. 纵断面 java_道路土方计算软件
  17. android 从矢量图SVG获取位图bitmap
  18. 简单的python截屏工具
  19. c语言游戏如何分享,c语言怎么编游戏_编程语言分享讨论总汇吧吧_直线网_最专业的数字艺术学习交流平台...
  20. 关于Android Studio 中Android SDK的 SDK Tools 没有CMake下载项问题

热门文章

  1. CTF-安恒19年二月月赛部分writeup
  2. NAS:Openfiler 的安装与应用
  3. 斐讯路由器虚拟服务器设置教程,tp-link路由器远程控制如何开启【详解】
  4. php中克隆对象,复制与克隆对象《 PHP 面向对象 》
  5. joyui版本和android版本,基于安卓10深度定制,黑鲨2海外版获得JOYUI11推送
  6. 亲身试验熟桐油涂装家具,最后更新,出结论
  7. mysql 数字大小排序_mysql可以按照数字大小排序吗?
  8. wpf 图片不规则裁剪_张天爱到底有多美?不规则抹胸上衣搭配牛仔裤时髦精致,优雅迷人...
  9. Java使用FFmpeg处理视频文件指南
  10. xcodewarning :no rule to process file xxx解决