Smokeping安装部署
稳定性检测工具smokeping安装配置和使用方法
Smokeping介绍
是对IDC网络质量,稳定性等最好的检测工具,包括常规的 ping,dig,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://www.tuicool.com/articles/6vqArm
Smokeping安装部署的更多相关文章
- smokeping安装部署最佳实践
1.1安装smokeping [root@linux-node2 ~]# cat /etc/redhat-release #查看服务器信息 CentOS release 6. ...
- SmokePing安装手册
SmokePing安装部署 SmokePing简介 Smokeping是一款用于网络性能监测的开源监控软件,主要用于对IDC的网络状况,网络质量,稳定性等做检测,通过rrdtool制图方式,图形化地展 ...
- ubuntu下smokeping安装配置
0.参考文件 http://wenku.baidu.com/view/950fbb0a79563c1ec5da71b1 http://aaaxiang000.blog.163.com/blog/sta ...
- Oracle安装部署,版本升级,应用补丁快速参考
一.Oracle安装部署 1.1 单机环境 1.2 Oracle RAC环境 1.3 Oracle DataGuard环境 1.4 主机双机 1.5 客户端部署 二.Oracle版本升级 2.1 单机 ...
- KVM安装部署
KVM安装部署 公司开始部署KVM,KVM的全称是kernel base virtual machine,对KVM虚拟化技术研究了一段时间, KVM是基于硬件的完全虚拟化,跟vmware.xen.hy ...
- Linux平台oracle 11g单实例 + ASM存储 安装部署 快速参考
操作环境:Citrix虚拟化环境中申请一个Linux6.4主机(模板)目标:创建单机11g + ASM存储 数据库 1. 主机准备 2. 创建ORACLE 用户和组成员 3. 创建以下目录并赋予对应权 ...
- 分布式文件系统 - FastDFS 在 CentOS 下配置安装部署
少啰嗦,直接装 看过上一篇分布式文件系统 - FastDFS 简单了解一下的朋友应该知道,本次安装是使用目前余庆老师开源的最新 V5.05 版本,是余庆老师放在 Github 上的,和目前你能在网络上 ...
- C# winform安装部署(转载)
c# winform 程序打包部署 核心总结: 1.建议在完成的要打包的项目外,另建解决方案建立安装部署项目(而不是在同一个解决方案内新建),在解决方案上右击-〉添加-〉现有项目-〉选择你要打包的项目 ...
- Ubuntu14.04 Django Mysql安装部署全过程
Ubuntu14.04 Django Mysql安装部署全过程 一.简要步骤.(阿里云Ubuntu14.04) Python安装 Django Mysql的安装与配置 记录一下我的部署过程,也方便 ...
随机推荐
- mysql学习笔记--遇到的坑
一.navcat 连接不支持密码输入 1. 先通过命令行进去mysql的root账户 mysql -uroot -p'password' 2. 更改加密方式 alter user 'root'@'lo ...
- Activity 启动模式 FLAG
原文:https://blog.csdn.net/youhongyan/article/details/64151922 一.Activity启动模式的设置在AndroidManifest.xml文件 ...
- vuex中store保存的数据,刷新页面会清空
用vuex,项目中需要记录一些状态,来判断页面是否为登录状态和页面是否可被编辑,此时用到了vuex中的store来存储一个状态. //首先 安装vuex npm install vuex --save ...
- Linux驱动之触摸屏程序编写
本篇博客分以下几部分讲解 1.介绍电阻式触摸屏的原理 2.介绍触摸屏驱动的框架(输入子系统) 3.介绍程序用到的结构体 4.介绍程序用到的函数 5.编写程序 6.测试程序 1.介绍电阻式触摸屏的原理 ...
- iserver频繁崩溃、内存溢出事故解决小记
一.事故分析 在生产项目中,频繁遇到iserver隔一段时间就会出现崩溃的情况. 将iserver错误日志发给技术客服后,说是内存溢出的问题. 查看服务器的配置是32g内存,按理说不该出现此类问题. ...
- struts1.x 核心控制器 和 用户自定义控制器扩展类;
ServletAction继承于HttpServlet,是struts1.x中和核心控制器. 配置于web.xml文件中,指定config属性,该config属性用于指定formBean和action ...
- jquery中 after append appendTo 的区别
after:在选择的元素后面添加内容,不在选择的元素内 append:在选择的元素后面的里面添加内容 appendTo:将元素添加到选择的元素里面,而且添加的元素必须是jQuery对象
- 20165213 周启航Exp2 后门原理与实践
Exp2 后门原理与实践 实验内容 任务一 使用netcat获取主机操作Shell,cron启动 1.确认kali和主机的ip,关闭防火墙 (192.169.127.132) (10.1.1.197) ...
- 序列化还是JSON存储对象?
2018-11-10 先对比一下存诸空间大小:https://pan.baidu.com/s/1I3K8ARfl4x8pC__B-T_vbA 输出的结果是 json: 序列化: 序列化Map: 用JS ...
- Servers无法打开
有时候打开MyEclipse莫名Servers窗口挂掉, 出现"Could Not Create The View :An Unexpected Exception Was Thrown&q ...