稳定性检测工具smokeping安装配置和使用方法

Smokeping介绍

是对IDC网络质量,稳定性等最好的检测工具,包括常规的 pingdig,echoping,curl等,可以监视www服务器性能,监视dns查询性能,监视ssh性能等。底层也是 rrdtool 做支持,特点是画的图非常漂亮,网络丢包和延迟用颜色和阴影来表示。

smokeping的优点:

1)最佳的画图功能,延迟和丢包用颜色和阴影表示很直观。

2)免费和开源,作者是MRTG和RRDtool作者。

3)支持主从的分布式模式。

4)可以自定义报警功能。

下载页面

http://oss.oetiker.ch/smokeping/pub/

1.1安装smokeping

[root@oracle-standby ~]# cat /etc/redhat-release              #查看服务器信息

CentOS release 6.7 (Final)

[root@oracle-standby ~]# uname -r

2.6.32-573.el6.x86_64

[root@oracle-standby ~]# yum -y install perl perl-Net-Telnet perl-Net-DNS perl-LDAP perl-libwww-perl perl-RadiusPerl perl-IO-Socket-SSL perl-Socket6 perl-CGI-SpeedyCGI perl-FCGI perl-CGI-SpeedCGI perl-Time-HiRes perl-ExtUtils-MakeMaker perl-RRD-Simple rrdtool rrdtool-perl curl fping echoping  httpd httpd-devel gcc make  wget libxml2-devel libpng-devel glib pango pango-devel freetype freetype-devel fontconfig cairo cairo-devel libart_lgpl libart_lgpl-devel mod_fastcgi screen              #通过yum安装所依赖的库以及环境

[root@oracle-standby ~]# cd /usr/local/src/

[root@oracle-standby src]# wget http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.9.tar.gz

[root@oracle-standby src]# tar xf smokeping-2.6.9.tar.gz

[root@oracle-standby src]# cd smokeping-2.6.9

[root@oracle-standby smokeping-2.6.9]# ./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty

[root@oracle-standby smokeping-2.6.9]# ./configure --prefix=/usr/local/smokeping  #编译smokeping到/usr/local

[root@oracle-standby smokeping-2.6.9]# /usr/bin/gmake install

[root@oracle-standby smokeping-2.6.9]#  cd /usr/local/smokeping/

[root@oracle-standby smokeping]# mkdir cache data var

##这个data用于存放rrd数据库,由于要存放较长时间,可能会比较大,建议放到一个有足够空间的地方。

##cache存放缓存的图片

[root@oracle-standby smokeping]# touch /var/log/smokeping.log

[root@oracle-standby smokeping]# chown apache.apache cache/ data/ var/ /var/log/smokeping.log

[root@oracle-standby smokeping]# cd /usr/local/smokeping/htdocs/     #进入smokeping下htdocs目录

[root@oracle-standby htdocs]# mv smokeping.fcgi.dist smokeping.fcgi   #修改smokeping文件名

[root@oracle-standby ~]# mv /usr/local/smokeping/etc/config.dist  /usr/local/smokeping/etc/config

#修改smokeping下etc目录smokeping

1.2修改smokeping配置文件

[root@oracle-standby ~]#  sed -i 's#cgiurl   = http://some.url/smokeping.cgi#cgiurl   = http://10.2.2.249/smokeping.cgi#g' /usr/local/smokeping/etc/config

[root@oracle-standby ~]# sed -i 's#300#500#g' /usr/local/smokeping/etc/config  #默认检测时间300秒修改为500秒

[root@oracle-standby ~]# sed -i 's#20#100#g' /usr/local/smokeping/etc/config  #默认ping20次,修改为500秒ping100次

解释:

*** Database ***

step     = 500

pings    = 100

Database RRD数据库配置。step和pings这两个参数要在启动smokeping之前配置好,如果在smokeping启动后再配置这两个参数,需要把原来的rrd文件都删除,然后再启动smokeping才可以。所以这个一定要先配置好。默认是step=300 pings=20 是每300s内执行20次ping的动作。

[root@oracle-standby ~]# vim /usr/local/smokeping/etc/config    #在presentation添加utf-8中文字符集

*** Presentation ***

charset = utf-8

[root@oracle-standby ~]#  chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist #修改密码权限为root只读

1.3修改apache配置文件 

[root@oracle-standby ~]# htpasswd -c /usr/local/smokeping/htdocs/htpasswd peng #设置登录密码认证  通过apache自带验证功能

New password:

Re-type new password:

Adding password for user peng

修改apache的配置

# DocumentRoot: The directory out of which you will serve your

# documents. By default, all requests are taken from this directory, but

# symbolic links and aliases may be used to point to other locations.

#

DocumentRoot "/var/www/html"   #在这行下面添加如下---标红的代表密码验证

Alias /cache "/usr/local/smokeping/cache/"

Alias /cropper "/usr/local/smokeping/htdocs/cropper/"

Alias /smokeping "/usr/local/smokeping/htdocs/smokeping.fcgi"

<Directory "/usr/local/smokeping">

AllowOverride None

Options All

AddHandler cgi-script .fcgi .cgi

Order allow,deny

Allow from all

AuthName "Smokeping"

AuthType Basic

AuthUserFile /usr/local/smokeping/htdocs/htpasswd

Require valid-user

DirectoryIndex smokeping.fcgi

</Directory>

1.4设置smokeping启动脚本

[root@oracle-standby ~]# cat /etc/init.d/smokeping

#!/bin/bash

#

# chkconfig: 2345 80 05

# Description: Smokeping init.d script

# Get function from functions library

. /etc/init.d/functions

# Start the service Smokeping

function start() {

echo -n "Starting Smokeping: "

/usr/local/smokeping/bin/smokeping >/dev/null 2>&1

### Create the lock file ###

touch /var/lock/subsys/smokeping

success $"Smokeping startup"

echo

}

# Restart the service Smokeping

function stop() {

echo -n "Stopping Smokeping: "

kill -9 `ps ax |grep "/usr/local/smokeping/bin/smokeping" |grep -v grep | awk '{ print $1 }'` >/dev/null 2>&1

### Now, delete the lock file ###

rm -f /var/lock/subsys/smokeping

success $"Smokeping shutdown"

echo

}

#Show status about Smokeping

function status() {

NUM="`ps -ef|grep smokeping|grep -v grep|wc -l`"

if [ "$NUM" == "0" ];then

echo "Smokeping is not run"

else

echo "Smokeping is running"

fi

}

### main logic ###

case "$1" in

start)

start

;;

stop)

stop

;;

status)

status

;;

restart|reload)

stop

start

;;

*)

echo $"Usage: $0  {start|stop|restart|reload|status}"

exit 1

esac

exit 0

1.5启动服务以及访问smokeping

[root@linux-node2 ~]# chmod 755 /etc/init.d/smokeping

[root@linux-node2 ~]# chkconfig --add smokeping

[root@linux-node2 ~]# chkconfig smokeping on

[root@linux-node2 ~]# chkconfig httpd on

[root@linux-node2 ~]# /etc/init.d/httpd restart

[root@linux-node2 ~]# /etc/init.d/smokeping restart

查看进程:

[root@oracle-standby ~]# ps -ef |grep smoke

root     44447     1  0 13:24 ?        00:00:00 /usr/local/smokeping/bin/smokeping [FPing]

1.6打开检测主机的Web页面

在Web浏览器里输入 http://您的监控主机IP/smokeping,出现如下登录界面:

1.7添加需要监控的网站和节点

注意事项:

1)在/usr/local/smokeping/etc/config中添加

2)smokeping就这点不好,添加节点不能在前台Web页面添加,一定要在后台的配置文件中添加。

3)修改/usr/local/smokeping/etc/config 后,必须重启smokeping 程序,配置才会生效

4)smokeping 会根据配置文件config在/usr/local/smokeping/data 之下添加moniter文件夹,其下包含website子文件夹

添加监控节点示例:注意+是第一层,++是第二层,+++ 是第三层

我们这里的配置如下:

[root@oracle-standby var]# tail -60 /usr/local/smokeping/etc/config

+CRM

menu = 各机构CRM业务

title = 监控统计

++xian

menu = 西安网络监控

title = 西安网络监控列表

host = /CRM/xian/xian-app /CRM/xian/xian-rsync /CRM/xian/xian-rule /CRM/xian/xian-db

+++ xian-app

menu = 西安app

title = 西安app

alerts = someloss

host = x.x.x.x

+++ xian-rsync

menu = 西安rsync

title = 西安rsync

alerts = someloss

host = x.x.x.x

+++ xian-rule

menu = 西安rule

title = 西安rule

alerts = someloss

host = x.x.x.x

+++ xian-db

menu = 西安db

title = 西安db

alerts = someloss

host = x.x.x.x

++zhengzhou

menu = 郑州网络监控

title = 郑州网络监控列表

host = /CRM/zhengzhou/zhengzhou-app

+++ zhengzhou-app

menu = 郑州app

title = 郑州app

alerts = someloss

host = x.x.x.x

重启smokeping服务,并在浏览器上输入:http://10.2.2.249/smokeping

图表参数说明

(1) RTT(Round-Trip Time):简单说它是一个数据包在网络上两点中间往返一次的时间。是影响TCP性能和表征网络运行状况的重要参数。在网络中实时、准确地测量大量TCP设备和系统的RTT参数是网络管理的重要环节之一。Smokeping就是这样的自动测试系统,它向目标设备和系统发送各种类型的测试数据包,测量、记录和展示RTT。

(2) Median RTT:它是中间数并不是平均值。Smokeping有多种类型的探针,探针在默认的设置下,每300秒向目标设备发送20个探测数据包。假如这20个数据包都返回的话,它就记录下了20个RTT,那么Median RTT就是第十个包的RTT;如果有5个包丢失的话,那么Median RTT就是第八个返回的包的RTT值。

(3) Avg RTT:它是每一个测试回合中所有RTT的算术评价值。

(4) Avg pkt loss:丢包率。

(5) Probe:100 ICMP Echo Pings(56 Bytes)every 500

每一个绿色的短横线都是一个测试回合500秒内用ping测试100次。绿色画出的是中间数的位置,一个回合中的其它值都在它附近被以灰度的形式被刻画;

查看网络状况

Smokeping可以方便地查看所监控的网络状况:

可以很具体在图上看出网络的延迟及丢包等状况;

具有Last 3 Hours,Last 30 Hours,Last 10 Days,Last 400 Days图像,还可以通过输入具体的时段来查看图像,如下图:

Last 3 Hours 最近的3小时 

Median Ping RTT (506.2 ms avg)中间数的平均值是10.2毫秒。如果是绿色的短横线,说明一个周期内所有的包都返回都有RTT的时间记录下来;如果是蓝色的短横线则说明有2个包丢失。

Packet Loss:丢包率。从上图中我们看出全都是绿线,所以丢包率当然是0。

Probe:10 ICMP Echo Pings(56 Bytes)every 60s 

这张图是2012-12-13 09:47:27生成的。每一个绿色的短横线都是一个测试回合60秒内用echoping测试icmp协议10次。

每个有颜色的点描述的是median rrt(中间数)时间,灰色的范围,是描述每个包返回的时间,灰色范围越小,表示每个包返回的时间较统一,说明网络越平稳。颜色越深的地方,表示包返回的时间集中在那一块。RTT曲线的起伏还显示了网络的负载情况。

所有单位都是:ms

在“Charts”下可以查看 “Top Packet Loss”,“Top Max Roundtrip Time”,“Top Median Roundtrip Time”,“Top Standard Deviation情况,这样可以相当方便地判断哪里的网络有问题,从而可以快速地作出处理。如下图所示:

traceroute功能 

在smokeping的2.4版本开始加入了traceroute功能,但2.5开始,又将其移除了。

traceroute的使用方法如下:

在左边栏目中选择需要进行traceroute的主机,点击网段右侧的“*”进行测试。

测试结果如图所示:

可以看到从当前位置到目标位置的网络追踪的所有情况。

参考文章:

http://mayulin.blog.51cto.com/blog/1628315/514397

http://wenku.baidu.com/link?url=_-PZ_Ka-Me-q-icgrEXFRj8CLqCwHTpv_o3DE50FUjGhGs05DTve1TrFJmkpz1Gd5ZbMQgit3_QkU84tU-IAJYqkrklHPv5Sp0NTfa3wXVq

http://www.tuicool.com/articles/6vqArm

Smokeping安装部署的更多相关文章

  1. smokeping安装部署最佳实践

    1.1安装smokeping [root@linux-node2 ~]# cat /etc/redhat-release              #查看服务器信息 CentOS release 6. ...

  2. SmokePing安装手册

    SmokePing安装部署 SmokePing简介 Smokeping是一款用于网络性能监测的开源监控软件,主要用于对IDC的网络状况,网络质量,稳定性等做检测,通过rrdtool制图方式,图形化地展 ...

  3. ubuntu下smokeping安装配置

    0.参考文件 http://wenku.baidu.com/view/950fbb0a79563c1ec5da71b1 http://aaaxiang000.blog.163.com/blog/sta ...

  4. Oracle安装部署,版本升级,应用补丁快速参考

    一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...

  5. KVM安装部署

    KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...

  6. Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考

    操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...

  7. 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署

    少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...

  8. C# winform安装部署(转载)

    c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...

  9. Ubuntu14.04 Django Mysql安装部署全过程

    Ubuntu14.04 Django Mysql安装部署全过程   一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...

随机推荐

  1. Android判断一个点是否在矩形区域内

    个人遇到的问题判断按钮的点击事件还是滑动事件 private boolean button1Down = false; private boolean button2Down = false; pri ...

  2. linux下查看动态链接库so文件的依赖的相关组建

    我们很多c程序在windows下是以dll形式展现的,在linux则是以so 形式展现的. windows一般不会因为编译dll文件的编译器版本不同而出先dll文件不能执行. 但是linux下,不同版 ...

  3. redis常用服务安装部署

    常用服务安装部署   学了前面的Linux基础,想必童鞋们是不是更感兴趣了?接下来就学习常用服务部署吧! 安装环境: centos7 + vmware + xshell 即将登场的是: mysql(m ...

  4. Servlet之过滤器(Filter)

    一.概述 Servlet 过滤器是小型的 Web 组件,它们拦截请求和响应,以便查看.提取或以某种方式操作正在客户机和服务器之间交换的数据.这些组件通过一个配置文件来声明,并动态地处理,当在web.x ...

  5. cnblog测试

    文字测试  图片测试

  6. [Git] 拉开发分支的代码报错

    Git拉开发分支的代码报错: fatal: The remote end hung up unexpectedly fatal: early EOF fatal: index-pack failed ...

  7. 旅游类App的原型制作分享-Klook

    Klook是一款旅游类App,它能探索和预订惊人的旅行活动.在世界各地以最优惠的价格畅玩. 这款原型中,用到了Mockplus的两种滚动方式,一种是把手机外壳拉长,另一种是使用滚动区组件,其中,滚动区 ...

  8. parseInt ,parseDouble,parseFloat

    转载https://www.cnblogs.com/originate918/p/6377616.html

  9. liunx一键安装禅道

    一定要把压缩吧放在/opt下面,然后tar解压,启动 https://blog.csdn.net/sinat_23957257/article/details/82697458

  10. lllll