smokping的部署使用
本文是介绍如何的使用smokeping来监控idc机房的网络质量情况,从监控图上的延时与丢包能分辨出你机房的网络是否稳定,是否为多线,是否为BGP机房,到各城市的3个运行商网络各是什么情况,如果出现问题,如果有针对的解决。而且如果选择新机房的时候,你可以根据smokeping的监控结果来判断这个机房是否适合。
1、安装其他源
1
rpm -Uvh http:
//apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm
2、安装rrdtool与依赖库
1
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
3、下载与安装smokeping
wget http:
//oss.oetiker.ch/smokeping/pub/smokeping-2.6.8.tar.gz
tar zxvf smokeping-
2.6
.
8
.tar.gz
cd smokeping-
2.6
.
8
./configure --prefix=/usr/local/smokeping
出现问题是因为需要安装perl的模块,所以运行下面内容即可
./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty
./configure --prefix=/usr/local/smokeping
/usr/bin/gmake install
现在smokeping安装完成
4、配置smokeping
a.创建cache、data、var目录
cd /usr/local/smokeping
mkdir cache data
var
b.在创建日志
touch /
var
/log/smokeping.log
c.授权
chown apache:apache cache data
var
chown apache:apache /
var
/log/smokeping.log
d.修改配置文件
cd /usr/local/smokeping/htdocs/
mv smokeping.fcgi.dist smokeping.fcgi
cd /usr/local/smokeping/etc
mv config.dist config
vim config
cgiurl = http:
//some.url/smokeping.cgi
主要是修改这行,把some.url修改为你的ip或者域名
*** Database ***
step =
300
然后修改step,从300改为60,这是检测的时间。
e.配置完成之后修改密码文件权限
chmod
600
/usr/local/smokeping/etc/smokeping_secrets.dist
f.修改apache的配置
vim /etc/httpd/conf/httpd.conf
添加如下
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
DirectoryIndex smokeping.fcgi
</Directory>
f.设置开机启动
echo
"/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &"
>> /etc/rc.local
g.启动http与smokeping
/etc/init.d/httpd start
/usr/local/smokeping/bin/smokeping --logfile=/
var
/log/smokeping.log
2
>&
1
&
然后访问你在config里设置的cgiurl= http://some.url/smokeping
注意如果出现500错误就是因为你没有关闭selinux的问题,关闭了就能正常打开。
剩下就该你自己修改你要监控的内容了
注意+是第一层,++是第二层
+ Test
menu= monitor
#parents = owner:/Test/James location:/
title=monitor all
++ localhost
menu = localhost
title =localhost
alerts = someloss
slaves = boomer slave2
host =
192.168
.
56.102
然后smokeping的web界面如下图
如果各位就这样放到网上的话,是十分的不安全,所以需要加入访问控制。
h.修改httpd.conf里的内容
<Directory
"/usr/local/smokeping"
>
AllowOverride None
Options All
AddHandler cgi-script .fcgi .cgi
AllowOverride AuthConfig
Order allow,deny
Allow from all
AuthName
"Smokeping"
AuthType Basic
AuthUserFile /usr/local/smokeping/htdocs/htpasswd
Require valid-user
DirectoryIndex smokeping.fcgi
</Directory>
把之前修改的httpd.conf里的这一段直接覆盖就行
然后进入cd /usr/local/smokeping/htdocs目录
设置登录账户与密码
htpasswd -c /usr/local/smokeping/htdocs/htpasswd admin
这个是设置登录账户为admin,密码在后面输入
然后重启httpd就可以实现密码验证登录
需要注意,一定要同步好时间,可以使用cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime或者ntpdate 210.72.145.44。
如果需要在网页里展示中文,修改/usr/local/smokeping/etc的config文件
*** Presentation ***
charset = utf-
8
//注:在这里添加
然后在menu与titile里修改中文,重启即可
有一个要注意的地方就是,你输入的中文必须在utf-8的字符编码下输入的中文字符,不然会出现乱码。
如果在xshel下,选择file-properities-terminal
如果还是不显示就看看你系统里是否安装了中文字体,或者在安装一个
debian上可以先apt-cache search wqy(文泉译), centos可以yum search wqy试试。
然后yum install后在重启smokeping
如果想监控本机到电信、联通、移动、教育网的网络情况监控,可以使用下面内容
+ Other
menu = 其他网络监控
title = 其他所有网络监控列表
++ dianxin
menu = 电信网络监控
title = 电信网络监控列表
host = /Other/dianxin/dianxin-hlj /Other/dianxin/dianxin-gd /Other/dianxin/dianxin-gs /Other/dianxin/dianxin-sh
+++ dianxin-hlj
menu = 黑龙江电信
title = 黑龙江电信
alerts = someloss
#slaves = boomer slave2
host =
219.150
.
32.132
+++ dianxin-gd
menu = 广东电信
title = 广东电信
alerts = someloss
#slaves = boomer slave2
host =
113.111
.
211.22
+++ dianxin-gs
menu = 甘肃电信
title = 甘肃电信
alerts = someloss
#slaves = boomer slave2
host =
202.100
.
64.68
+++ dianxin-sh
menu = 上海电信
title = 上海电信
alerts = someloss
#slaves = boomer slave2
host =
202.96
.
209.5
#+++ dianxin-multi
#menu = 多个电信网络监控列表
#title = 多个电信网络监控列表
#alerts = someloss
#slaves = boomer slave2
#host = /Other/dianxin/dianxin-hlj /Other/dianxin/dianxin-gd /Other/dianxin/dianxin-gs /Other/dianxin/dianxin-sh
#
++ liantong
menu = 联通网络监控
title = 联通网络监控列表
host = /Other/liantong/liantong-hlj /Other/liantong/liantong-gd /Other/liantong/liantong-gs /Other/liantong/liantong-sh
+++ liantong-hlj
menu = 黑龙江联通
title = 黑龙江联通
alerts = someloss
#slaves = boomer slave2
host =
202.97
.
224.68
+++ liantong-gd
menu = 广东联通
title = 广东联通
alerts = someloss
#slaves = boomer slave2
host =
221.4
.
66.66
+++ liantong-gs
menu = 甘肃联通
title = 甘肃联通
alerts = someloss
#slaves = boomer slave2
host =
221.7
.
34.10
+++ liantong-sh
menu = 上海联通
title = 上海联通
alerts = someloss
#slaves = boomer slave2
host =
210.22
.
70.3
#+++ liantong-multi
#menu = 多个联通网络监控列表
#title = 多个联通网络监控列表
#alerts = someloss
#slaves = boomer slave2
#host = /Other/liantong/liantong-hlj /Other/liantong/liantong-gd /Other/liantong/liantong-gs /Other/liantong/liantong-sh
++ yidong
menu = 移动网络监控
title = 移动网络监控列表
host = /Other/yidong/yidong-hlj /Other/yidong/yidong-gd /Other/yidong/yidong-gs /Other/yidong/yidong-sh
+++ yidong-hlj
menu = 黑龙江移动
title = 黑龙江移动
alerts = someloss
#slaves = boomer slave2
host =
211.137
.
241.34
+++ yidong-gd
menu = 广东移动
title = 广东移动
alerts = someloss
#slaves = boomer slave2
host =
211.137
.
241.34
+++ yidong-gs
menu = 甘肃移动
title = 甘肃移动
alerts = someloss
#slaves = boomer slave2
host =
218.203
.
160.194
+++ yidong-sh
menu = 上海移动
title = 上海移动
alerts = someloss
#slaves = boomer slave2
host =
117.131
.
0.22
#+++ yidong-multi
#menu = 多个移动网络监控列表
#title = 多个移动网络监控列表
#alerts = someloss
#slaves = boomer slave2
#host = /Other/yidong/yidong-hlj /Other/yidong/yidong-gd /Other/yidong/yidong-gs /Other/yidong/yidong-sh
++ jiaoyu
menu = 教育网络监控
title = 教育网络监控列表
host = /Other/jiaoyu/jiaoyu-qh /Other/jiaoyu/jiaoyu-sh /Other/jiaoyu/jiaoyu-wh /Other/jiaoyu/jiaoyu-hn
+++ jiaoyu-qh
menu = 清华大学
title = 清华大学
alerts = someloss
#slaves = boomer slave2
host =
166.111
.
8.28
+++ jiaoyu-sh
menu = 上海交大
title = 上海交大
alerts = someloss
#slaves = boomer slave2
host =
202.112
.
26.34
+++ jiaoyu-wh
menu = 武汉科技大学
title = 武汉科技大学
alerts = someloss
#slaves = boomer slave2
host =
202.114
.
240.6
+++ jiaoyu-hn
menu = 华南农业大学
title = 华南农业大学
alerts = someloss
#slaves = boomer slave2
host =
202.116
.
160.33
#+++ jiaoyu-multi
#menu = 多个教育网络监控列表
#title = 多个教育网络监控列表
#alerts = someloss
#slaves = boomer slave2
#host = /Other/jiaoyu/jiaoyu-qh /Other/jiaoyu/jiaoyu-sh /Other/jiaoyu/jiaoyu-wh /Other/jiaoyu/jiaoyu-hn
展示效果为
5、关于smokeping的master与slave配置
slave主机会自己去检查监测点的情况(loss and rtt),并将数值提交给master主机(通过smokeping.cgi)。
值得注意的是,slave并不需要config文件,每次slave提交完数据以后,会询问master它自己的配置文件是否有修改,如果有修改的话slave会进行更新。
配置
在master的config里修改
*** Slaves ***
secrets=/usr/local/smokeping/etc/smokeping_secrets.dist #密码文件
+slave1#名称
display_name=slave1
要注意的是"slave1"这个名字需要设置为slave主机的hostname,并且写在"slavesecrets.con"文件里面,如果不想用slave主机的hostname,那么在slave主机启动smokeping服务的时候需要使用"--slave-name"来指定自己的名字。在section
*** Targets ***
中指定那个host需要使用哪个slave帮忙进行检测。下层会继承上层的配置,如果下层不像继承的话,可以配置"slaves ="来避免使用slave。
具体安装与配置不介绍。
master/slave模式中,master和slave的图片都会显示在同一个页面中,如果不希望显示master的图片,可以使用
nomasterpoll=yes
参数。
另外要注意的一点是,master上面启动"smokeping"进程和apache进程的用户必须要一致。因为rrd文件是由"smokeping"进程创建的,而数据的update却是由"smokeping.cgi"进行的,也就是apache用户。如果不一致的话会出现rrd文件无法被更新的情况,这个情况即使在slave主机上面进行debug也是看不出来的。具体的现象是在页面上面看到master的图像出现数据,但是slave的图像一直是空白的,数据显示是"nan"。
如果大家还想细化的监控,比如按照3大运行商(电信、联通、移动)到1、2、3线城市的网络延时与丢包情况,如下图显示
1、本机房到电信运行商的1线城市网络监控情况
2、本机房到联通运行商的1线城市网络监控情况
3、本机房到移动运行商的1线城市网络监控情况
4、本机房到电信运行商的2线城市网络监控情况
5、本机房到联通运行商的2线城市网络监控情况
6、本机房到移动运行商的2线城市网络监控情况
7、本机房到教育网的网络监控情况
如果达到这样的监控效果,你就能很清楚的了解你当前idc机房的网络情况,从图上的延时与丢包能分辨出你机房的网络是否稳定,是否为多线,是否为BGP机房,到各城市的3个运行商网络各是什么情况,如果出现问题,如果有针对的解决。而且如果选择新机房的时候,你可以根据smokeping的监控结果来判断这个机房是否适合。
smokping的部署使用的更多相关文章
- [原]CentOS7.2部署node-mapnik
转载请注明表作者think8848及出处(http://think8848.cnblogs.com) node-mapnik依赖项中要求g++ >= 5, toolchain (>= GL ...
- 使用Visual Studio 2015 开发ASP.NET MVC 5 项目部署到Mono/Jexus
最新的Mono 4.4已经支持运行asp.net mvc5项目,有的同学听了这句话就兴高采烈的拿起Visual Studio 2015创建了一个mvc 5的项目,然后部署到Mono上,浏览下发现一堆错 ...
- 通过Jexus 部署 dotnetcore版本MusicStore 示例程序
ASPNET Music Store application 是一个展示最新的.NET 平台(包括.NET Core/Mono等)上使用MVC 和Entity Framework的示例程序,本文将展示 ...
- 结合Jexus + Kestrel 部署 asp.net core 生产环境
ASP.NET Core 是微软的全新的框架.这一框架的目标 ︰ 跨平台 针对云应用优化 解除 System.Web 的依赖. 获得下面三个方面的优势,你可以把它认为是一个C# 版本的NodeJS: ...
- 4.Windows Server2012 R2里面部署 MVC 的网站
网站部署之~Windows Server | 本地部署:http://www.cnblogs.com/dunitian/p/4822808.html#iis 后期会在博客首发更新:http://dnt ...
- Win10 IIS本地部署MVC网站时不能运行?
异常处理汇总-服 务 器 http://www.cnblogs.com/dunitian/p/4522983.html 部署后出现这个错误: 打开文件目录后发现是可以看见目录的,静态页面也是可以打开的 ...
- 再部署一个 instance 和 Local Network - 每天5分钟玩转 OpenStack(131)
上一节部署了 cirros-vm1 到 first_local_net,今天我们将再部署 cirros-vm2 到同一网络,并创建 second_local_net. 连接第二个 instance 到 ...
- 将 instance 部署到 OVS Local Network - 每天5分钟玩转 OpenStack(130)
上一节创建了 OVS 本地网络 first_local_net,今天我们会部署一个 instance 到该网络并分析网络结构.launch 一个 instance,选择 first_local_net ...
- 从零开始编写自己的C#框架(25)——网站部署
导航 1.关掉访问保护 2.发布网站 3.复制网站到服务器 4.添加新网站 5.设置网站访问权限 6.设置文件夹访问权限 7.控制可更新文件夹执行权限 8.设置“应用程序池”.net版本与模式 9.附 ...
随机推荐
- 20155233 《Java程序设计》 第十三周课堂练习总结
20155233 <Java程序设计>第十三周课堂练习总结 测试题目 测试1 在IDEA中对P145 MathTool.java 使用JUnit进行单元测试,测试用例不少于三个,要包含正常 ...
- 20155331 实验四 Android开发基础
20155331丹增旦达实验四报告 实验四 Android程序设计-1 Android Stuidio的安装测试: 参考<Java和Android开发学习指南(第二版)(EPUBIT,Java ...
- .net core 使用windows版redis
在项目中为了减少程序占用内存(将结果保存在全局变量里面,会占用内存),要求使用redis.开始了爬坑的过程.o(╥﹏╥)o c#操作redis 基本就这3中情况: ServiceStack.Redis ...
- Arduino 101/Genuino101使用-第一篇
1. 函数API说明文档在哪里? 2. 如果我想定义一个引脚做GPIO,不是库里有的. 3. digitalWrite(13, lighting); 这个函数里面 13代表的是啥? 4. setup( ...
- Android开发笔记——视频录制播放常见问题
本文分享自己在视频录制播放过程中遇到的一些问题,主要包括: 视频录制流程 视频预览及SurfaceHolder 视频清晰度及文件大小 视频文件旋转 一.视频录制流程 以微信为例,其录制触发为按下(住) ...
- Unity3D之AR开发(二)
上一篇给大家介绍了高通AR的使用,接下来给大家分享一下EasyAR EasyAR引擎简介 EasyAR是做好用的且免费的增强现实(Augmented Reality)引擎,EasyAR为Unity开发 ...
- JY播放器【QQ音乐破解下载】
今天给大家带来一款神器----JY播放器.可以直接下载QQ音乐的歌曲. 目前已经支持平台(蜻蜓FM.喜马拉雅FM.网易云音乐.QQ音乐) 使用方法: 在网页打开QQ音乐网站找到你要听的歌曲或歌单.复制 ...
- python编辑用户登入界面
1.需求分析 登入界面需要达到以下要求: 系统要有登入和注册两个选项可供选择 系统要能够实现登入出错提示,比如账户密码错误等,用户信息保存在user_info.txt文件夹中 系统要能够进行登入错误次 ...
- ArcFace Demo [Android]
Free SDK demo 工程如何使用? 1.下载代码:git clone https://github.com/asdfqwrasdf/ArcFaceDemo.git 或者直接下载压缩包 2.前往 ...
- PytorchZerotoAll学习笔记(五)--逻辑回归
逻辑回归: 本章内容主要讲述简单的逻辑回归:这个可以归纳为二分类的问题. 逻辑,非假即真.两种可能,我们可以联想一下在继电器控制的电信号(0 or 1) 举个栗子:比如说你花了好几个星期复习的考试(通 ...