使用smokeping监控idc机房网络质量情况

简介:

最近工作比较忙,也没有时间写博客,看到好友芮峰云最近一直在写博客,所以也手痒了,就先把之前的一些积累下来的文章分享给大家。

本文是介绍如何的使用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

1
2
3
4
5
6
7
8
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目录

1
2
cd /usr/local/smokeping
mkdir cache data  var

b.在创建日志

1
touch / var /log/smokeping.log

c.授权

1
2
chown apache:apache cache data  var
chown apache:apache / var /log/smokeping.log

d.修改配置文件

1
2
3
4
5
6
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或者域名

1
2
*** Database ***
step     =  300

然后修改step,从300改为60,这是检测的时间。

e.配置完成之后修改密码文件权限

1
chmod  600  /usr/local/smokeping/etc/smokeping_secrets.dist

f.修改apache的配置

1
vim /etc/httpd/conf/httpd.conf

添加如下

1
2
3
4
5
6
7
8
9
10
11
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.设置开机启动

1
echo  "/usr/local/smokeping/bin/smokeping --logfile=/var/log/smokeping.log 2>&1 &"  >> /etc/rc.local

g.启动http与smokeping

1
2
/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的问题,关闭了就能正常打开。

剩下就该你自己修改你要监控的内容了

注意+是第一层,++是第二层

1
2
3
4
5
6
7
8
9
10
+ 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里的内容

1
2
3
4
5
6
7
8
9
10
11
12
13
<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目录

设置登录账户与密码

1
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文件

1
2
*** Presentation ***
charset = utf- 8  //注:在这里添加

然后在menu与titile里修改中文,重启即可

有一个要注意的地方就是,你输入的中文必须在utf-8的字符编码下输入的中文字符,不然会出现乱码。

如果在xshel下,选择file-properities-terminal

如果还是不显示就看看你系统里是否安装了中文字体,或者在安装一个

debian上可以先apt-cache search wqy(文泉译), centos可以yum search wqy试试。

然后yum install后在重启smokeping

如果想监控本机到电信、联通、移动、教育网的网络情况监控,可以使用下面内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
+ 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里修改

1
2
3
4
*** 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的监控结果来判断这个机房是否适合。

下面是上面监控里ip的信息(如果大家想实现上面监控,可以使用下面的ip)

 

 



 本文转自 reinxu 51CTO博客,原文链接:http://blog.51cto.com/dl528888/1266598,如需转载请自行联系原作者




目录
打赏
0
0
0
0
348
分享
相关文章
解读 C++ 助力的局域网监控电脑网络连接算法
本文探讨了使用C++语言实现局域网监控电脑中网络连接监控的算法。通过将局域网的拓扑结构建模为图(Graph)数据结构,每台电脑作为顶点,网络连接作为边,可高效管理与监控动态变化的网络连接。文章展示了基于深度优先搜索(DFS)的连通性检测算法,用于判断两节点间是否存在路径,助力故障排查与流量优化。C++的高效性能结合图算法,为保障网络秩序与信息安全提供了坚实基础,未来可进一步优化以应对无线网络等新挑战。
如何高效进行网络质量劣化分析与流量回溯分析?-AnaTraf
在数字化时代,网络质量分析与流量回溯对保障业务运行至关重要。网络拥塞、丢包等问题可能导致业务中断、安全隐患及成本上升。传统工具常缺乏细粒度数据,难以溯源问题。流量回溯分析可还原现场,助力精准排障。AnaTraf网络流量分析仪作为专业工具,能高效定位问题,提升团队响应力,降低运营风险。
如何高效进行网络质量劣化分析与流量回溯分析?-AnaTraf
面对全球化的泼天流量,出海企业观测多地域网络质量
网络监控与分析在保证网络可靠性、优化用户体验和提升运营效率方面发挥着不可或缺的作用,对于出海企业应对复杂的网络环境和满足用户需求具有重要意义,为出海企业顺利承接泼天流量保驾护航。
269 142
ACK Edge与IDC:高效容器网络通信新突破
本文介绍如何基于ACK Edge以及高效的容器网络插件管理IDC进行容器化。
网络安全公司推荐:F5荣膺IDC全球Web应用与API防护领导者
网络安全公司推荐:F5荣膺IDC全球Web应用与API防护领导者
44 3
|
6月前
|
公司上网监控:Mercury 在网络监控高级逻辑编程中的应用
在数字化办公环境中,公司对员工上网行为的监控至关重要。Mercury 作为一种强大的编程工具,展示了在公司上网监控领域的独特优势。本文介绍了使用 Mercury 实现网络连接监听、数据解析和日志记录的功能,帮助公司确保信息安全和工作效率。
152 51
公司监控软件:SAS 数据分析引擎驱动网络异常精准检测
在数字化商业环境中,企业网络系统面临复杂威胁。SAS 数据分析引擎凭借高效处理能力,成为网络异常检测的关键技术。通过统计分析、时间序列分析等方法,SAS 帮助企业及时发现并处理异常流量,确保网络安全和业务连续性。
89 11
企业上网监控:Kibana 在网络监控数据可视化
在网络监控中,Kibana 作为一款强大的数据可视化工具,与 Elasticsearch 配合使用,可处理大量日志数据,提供丰富的可视化组件,帮助企业高效管理网络活动,保障信息安全。通过索引模式和数据映射,Kibana 能够组织和分类原始数据,支持深入分析和异常检测,助力企业识别潜在安全威胁。
124 5
网络安全与信息安全:知识分享####
【10月更文挑战第21天】 随着数字化时代的快速发展,网络安全和信息安全已成为个人和企业不可忽视的关键问题。本文将探讨网络安全漏洞、加密技术以及安全意识的重要性,并提供一些实用的建议,帮助读者提高自身的网络安全防护能力。 ####
122 17

热门文章

最新文章

AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等