稳定性检测工具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. mysql学习笔记--遇到的坑

    一.navcat 连接不支持密码输入 1. 先通过命令行进去mysql的root账户 mysql -uroot -p'password' 2. 更改加密方式 alter user 'root'@'lo ...

  2. Activity 启动模式 FLAG

    原文:https://blog.csdn.net/youhongyan/article/details/64151922 一.Activity启动模式的设置在AndroidManifest.xml文件 ...

  3. vuex中store保存的数据,刷新页面会清空

    用vuex,项目中需要记录一些状态,来判断页面是否为登录状态和页面是否可被编辑,此时用到了vuex中的store来存储一个状态. //首先 安装vuex npm install vuex --save ...

  4. Linux驱动之触摸屏程序编写

    本篇博客分以下几部分讲解 1.介绍电阻式触摸屏的原理 2.介绍触摸屏驱动的框架(输入子系统) 3.介绍程序用到的结构体 4.介绍程序用到的函数 5.编写程序 6.测试程序 1.介绍电阻式触摸屏的原理 ...

  5. iserver频繁崩溃、内存溢出事故解决小记

    一.事故分析 在生产项目中,频繁遇到iserver隔一段时间就会出现崩溃的情况. 将iserver错误日志发给技术客服后,说是内存溢出的问题. 查看服务器的配置是32g内存,按理说不该出现此类问题. ...

  6. struts1.x 核心控制器 和 用户自定义控制器扩展类;

    ServletAction继承于HttpServlet,是struts1.x中和核心控制器. 配置于web.xml文件中,指定config属性,该config属性用于指定formBean和action ...

  7. jquery中 after append appendTo 的区别

    after:在选择的元素后面添加内容,不在选择的元素内 append:在选择的元素后面的里面添加内容 appendTo:将元素添加到选择的元素里面,而且添加的元素必须是jQuery对象

  8. 20165213 周启航Exp2 后门原理与实践

    Exp2 后门原理与实践 实验内容 任务一 使用netcat获取主机操作Shell,cron启动 1.确认kali和主机的ip,关闭防火墙 (192.169.127.132) (10.1.1.197) ...

  9. 序列化还是JSON存储对象?

    2018-11-10 先对比一下存诸空间大小:https://pan.baidu.com/s/1I3K8ARfl4x8pC__B-T_vbA 输出的结果是 json: 序列化: 序列化Map: 用JS ...

  10. Servers无法打开

    有时候打开MyEclipse莫名Servers窗口挂掉, 出现"Could Not Create The View :An Unexpected Exception Was Thrown&q ...