阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

CentOS 7.2 安装Smokeping

160次阅读
没有评论

共计 14606 个字符,预计需要花费 37 分钟才能阅读完成。

1 基本概念

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

 

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

 

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

 

2 安装

2.0 时间同步

1
2
yum -y install ntpdate
ntpdate times.aliyun.com

2.1 安装依赖包

1
2
3
yum groupinstall "Compatibility libraries" "Base" "Development tools" -y
   
yum -y installcpan perl perl-FCGI perl-CGI perl-Digest-HMAC perl-Net-Telnet perl-Net-OpenSSH perl-Net-SNMPperl-LDAP perl-Net-DNS perl-IO-Pty-Easy perl-Test-Simple perl-Sys-Syslog perl-libwww-perlperl-IO-Socket-SSL perl-Socket6 perl-CGI-SpeedyCGI perl-FCGI perl-Time-HiResperl-ExtUtils-MakeMaker rrdtool rrdtool-perl curl fping httpd httpd-devel gccmake wget libxml2-devel libpng-devel glib pango pango-devel freetypefreetype-devel fontconfig cairo cairo-devel libart_lgpl libart_lgpl-devel mod_fcgidscreen

2.2 安装echoping

1
2
3
4
tar xvfechoping-6.0.2.tar.gz
cd echoping-6.0.2
./configure--prefix=/usr/local/echoping
make && makeinstall

2.3 安装smokeping

1
2
3
4
5
6
7
8
cd /usr/local/src
xf smokeping-2.6.11.tar.gz
cd smokeping-2.6.11
   
#exportPERL5LIB=/usr/local/smokeping/thirdparty/lib/perl5/
./setup/build-perl-modules.sh /usr/local/smokeping/thirdparty
./configure --prefix=/usr/local/smokeping
gmake install

如果 ./configure 过程中提示找不到某些 perl 扩展,如下所示

1
2
checking checking for perl module'Config::Grammar'... Can't locate Config/Grammar.pm in @INC (@INC contains:/usr/local/smokeping/thirdparty/lib/perl5 /usr/local/lib64/perl5 /usr/local/share/perl5/usr/lib64/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib64/perl5/usr/share/perl5 .) at -e line 1.
BEGIN failed--compilation aborted at -e line 1.

请使用以下命令安装对应模块

1
perl -MCPAN -e 'install Config::Grammar'

注意:有时候需要重复安装几次才能装上模块。

注意要选择国内的的模块源,不然速度很慢。 

2.4 创建相关目录和日志文件

1
2
3
4
cd /usr/local/smokeping
mkdir cache data var 
touch /var/log/smokeping.log 
chown apache.apache cache/ data/ var/ /var/log

因为这里的 web 服务使用的是httpd,所以相关文件的属主属组均为apache

2.5 创建相关配置文件

1
2
3
4
#fcgi 文件
cp /usr/local/smokeping/htdocs/smokeping.fcgi.dist /usr/local/smokeping/htdocs/smokeping.fcgi 
# 主配置文件
cp /usr/local/smokeping/etc/config.dist/usr/local/smokeping/etc/config

2.6 修改配置文件

1
2
3
4
5
6
7
8
# 指定 cgi 的 url 地址为本机
sed -i‘s#cgiurl   = http://some.url/smokeping.cgi#cgiurl   = http://10.0.56.12/smokeping.cgi#g’/usr/local/smokeping/etc/config
# 指定检测的时间为 60 秒
sed -i‘s#step    = 300#step     = 60#g’/usr/local/smokeping/etc/config 
# 指定 ping 的次数为 60
sed -i‘s#pings   =20#pings    =60#g’/usr/local/smokeping/etc/config
   
将 step 和 pings 都设置为 60 表示每 60 秒 ping60 次。

2.7 修改字符集和字体支持中文

1
2
3
vim /usr/local/smokeping/etc/config
***Presentation ***
charset= utf-8

yum -y install wqy-zenhei-fonts

vim/usr/local/smokeping/lib/Smokeping/Graphs.pm

        my$val = 0;

        formy $host (@hosts){

            my ($graphret,$xs,$ys) = RRDs::graph

           (“dummy”,

           ‘–start’, $tasks[0][1],

           ‘–end’, $tasks[0][2],

            ‘–font TITLE:20″WenQuanYiZen Hei Mono”‘,

           “DEF:maxping=$cfg->{General}{datadir}${host}.rrd:median:AVERAGE”,

           ‘PRINT:maxping:MAX:%le’ );

           my $ERROR = RRDs::error();

2.8 修改 apache 配置文件增加登录验证

1
2
htpasswd -c /usr/local/smokeping/htdocs/htpasswd smokeping
chmod 600 /usr/local/smokeping/etc/smokeping_secrets.dist

2.9 修改 httpd.conf 增加 smokepingweb界面

httpd.conf 末尾添加如下内容

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
vim /etc/httpd/conf/httpd.conf
   
#########changed by ggvylf 2016/06/13##############
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
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>

2.10 添加监控对象

1
2
3
4
5
6
7
8
vim /usr/local/smokeping/etc/config
*** Targets ***
++ Localhost
menu = Localhost
title = Localhost
alerts = someloss
#slaves = boomer slave2
host = 10.0.56.12

2.11 添加监控节点

注意:每次修改配置文件后需要重启 smokeping 进程

1
2
3
4
5
6
/usr/local/smokeping/bin/smokeping --restart
/usr/local/smokeping/bin/smokeping --reload
pkill smokeping
/usr/local/smokeping/bin/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
vim /usr/local/smokeping/etc/config
+ Other
menu = 三大网络监控
title = 监控统计
++ dianxin
menu = 电信网络监控
title = 电信网络监控列表
host = /Other/dianxin/dianxin-bj/Other/dianxin/dianxin-hlj /Other/dianxin/dianxin-tj  /Other/dianxin/dianxin-sc  /Other/dianxin/dianxin-sh/Other/dianxin/dianxin-gz
+++ dianxin-bj
menu = 北京电信
title = 北京电信
alerts = someloss
host = 202.96.199.133
   
+++ dianxin-hlj
menu = 黑龙江电信
title = 黑龙江电信
alerts = someloss
host = 219.147.198.242
   
+++ dianxin-tj
menu = 天津电信
title = 天津电信
alerts = someloss
host = 219.150.32.132
   
+++ dianxin-sc
menu = 四川电信
title = 四川电信
alerts = someloss
host = 61.139.2.69
   
+++ dianxin-sh
menu = 上海电信
title = 上海电信
alerts = someloss
host = 116.228.111.118
   
+++ dianxin-gz
menu = 广东电信
title = 广东电信
alerts = someloss
host = 113.111.211.22
   
++ liantong
menu = 联通网络监控
title = 联通网络监控列表
host = /Other/liantong/liantong-bj/Other/liantong/liantong-hlj /Other/liantong/liantong-tj  /Other/liantong/liantong-sc/Other/liantong/liantong-sh /Other/liantong/liantong-gz
   
+++ liantong-bj
menu = 北京联通
title = 北京联通
alerts = someloss
host = 61.135.169.121
   
+++ liantong-hlj
menu = 黑龙江联通
title = 黑龙江联通
alerts = someloss
host = 202.97.224.69
   
+++ liantong-tj
menu = 天津联通
title = 天津联通
alerts = someloss
host = 202.99.96.68
   
+++ liantong-sc
menu = 四川联通
title = 四川联通
alerts = someloss
host = 119.6.6.6
   
+++ liantong-sh
menu = 上海联通
title = 上海联通
alerts = someloss
host = 210.22.84.3
   
+++ liantong-gz
menu = 广东联通
title = 广东联通
alerts = someloss
host = 221.5.88.88
   
++ yidong
menu = 移动网络监控
title = 移动网络监控列表
host = /Other/yidong/yidong-bj/Other/yidong/yidong-hlj /Other/yidong/yidong-tj  /Other/yidong/yidong-sc  /Other/yidong/yidong-sh/Other/yidong/yidong-gz
   
+++ yidong-bj
menu = 北京移动
title = 北京移动
alerts = someloss
host = 221.130.33.52
   
+++ yidong-hlj
menu = 黑龙江移动
title = 黑龙江移动
alerts = someloss
host = 211.137.241.35
   
+++ yidong-tj
menu = 天津移动
title = 天津移动
alerts = someloss
host = 211.137.160.5
   
+++ yidong-sc
menu = 四川移动
title = 四川移动
alerts = someloss
host = 218.201.4.3
   
+++ yidong-sh
menu = 上海移动
title = 上海移动
alerts = someloss
host = 117.131.19.23
   
+++ yidong-gz
menu = 广东移动
title = 广东移动
alerts = someloss
host = 211.136.192.6

smokeping会根据配置文件中配置监控节点的内容 ,在/usr/local/smokeping/data 目录下生成对应的 moniter 文件夹,其下包含 website 子文件夹。

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
[root@linux-node2 smokeping]# tree/usr/local/smokeping/data/
/usr/local/smokeping/data/
├── Other
│   ├── dianxin
│   │   ├── dianxin-bj.rrd
│   │   ├── dianxin-gd.rrd
│   │   ├── dianxin-gs.rrd
│   │   ├── dianxin-gz.rrd
│   │   ├── dianxin-hlj.rrd
│   │   ├── dianxin-sc.rrd
│   │   ├── dianxin-sh.rrd
│   │   └── dianxin-tj.rrd
│   ├── liantong
│   │   ├── liantong-bj.rrd
│   │   ├── liantong-gz.rrd
│   │   ├── liantong-hlj.rrd
│   │   ├── liantong-sc.rrd
│   │   ├── liantong-sh.rrd
│   │   └── liantong-tj.rrd
│   └── yidong
│      ├── yidong-bj.rrd
│      ├── yidong-gz.rrd
│      ├── yidong-hlj.rrd
│      ├── yidong-sc.rrd
│      ├── yidong-sh.rrd
│      └── yidong-tj.rrd
├── __sortercache
│   └── data.FPing.storable
└── Test
    ├──James~boomer.rrd
    ├──James.rrd
    ├──James~slave2.rrd
    └──Localhost.rrd

2.12 启动服务并测试

1
2
systemctl start httpd
/usr/local/smokeping/bin/smokeping

在浏览器中访问

http://10.0.56.12/smokeping

CentOS 7.2 安装 Smokeping

用户名和密码为 htpasswd 命令中设定用户名和密码

出现以下界面表示成功。

 CentOS 7.2 安装 Smokeping

可以看到添加的节点的相关信息。

 CentOS 7.2 安装 Smokeping 

可以看到添加的监控点的 ping 状态

 CentOS 7.2 安装 Smokeping 

附录:

更改 CPAN 源的方法

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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
[root@linux-node2 smokeping-2.6.11]# cpan
Sorry, we have to rerun the configuration dialogfor CPAN.pm due to
some missing parameters. Configuration will bewritten to
 <</root/.cpan/CPAN/MyConfig.pm>>
   
   
CPAN.pm requires configuration, but most of it canbe done automatically.
If you answer 'no' below, you will enter aninteractive dialog for each
configuration option instead.
   
Would you like to configure as much as possibleautomatically? [yesyes
   
 <install_help>
   
Warning: You do not have write permission for Perllibrary directories.
   
To install modules, you need to configure a localPerl library directory or
escalate your privileges.  CPAN can help you by bootstrapping thelocal::lib
module or by configuring itself to use 'sudo' (ifavailable).  You may also
resolve this problem manually if you need tocustomize your setup.
   
What approach do you want?  (Choose 'local::lib''sudo' or 'manual')
 [local::lib]
   
Autoconfigured everything but 'urllist'.
   
Now you need to choose your CPAN mirror sites.  You can let me
pick mirrors for you, you can select them from alist or you
can enter them by hand.
   
Would you like me to automatically choose someCPAN mirror
sites for you? (This means connecting to theInternet) [yes] no
   
Would you like to pick from the CPAN mirror list?[yesyes
Found a cached mirror list as of Mon Jun 1307:01:48 2016
   
If you'd like to just use the cached copy, answer'yes', below.
If you'd like an updated copy of the mirror list,answer'no' and
I'll get a fresh one from the Internet.
   
Shall I use the cached mirror list? [yesyes
First, pick a nearby continent and country bytyping in the number(s)
in front of the item(s) you want to select. Youcan pick several of
each, separated by spaces. Then, you will bepresented with a list of
URLs of CPAN mirrors in the countries youselected, along with
previously selected URLs. Select some of thoseURLs, or just keep the
old list. Finally, you will be prompted for anyextra URLs -- file:,
ftp:, or http: -- that host a CPAN mirror.
   
You should select more than one (just in case thefirst isn't available).
   
(1) Africa
(2) Asia
(3) Europe
(4) North America
(5) Oceania
(6) South America
Select your continent (or several nearbycontinents) [] 2
(1) Bangladesh
(2) China
(3) India
(4) Indonesia
(5) Iran
(6) Israel
(7) Japan
(8) Kazakhstan
(9) Philippines
(10) Qatar
(11) Republic of Korea
(12) Singapore
(13) Taiwan
(14) Turkey
(15) Viet Nam
Select your country (or several nearby countries)[] 2
(1) ftp://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
(2) ftp://mirrors.ustc.edu.cn/CPAN/
(3) ftp://mirrors.xmu.edu.cn/CPAN/
(4) http://cpan.communilink.net/
(5) http://ftp.cuhk.edu.hk/pub/packages/perl/CPAN/
(6) http://mirror.lzu.edu.cn/CPAN/
(7) http://mirrors.163.com/cpan/
(8) http://mirrors.hust.edu.cn/CPAN/
(9) http://mirrors.neusoft.edu.cn/cpan/
(10) http://mirrors.sohu.com/CPAN/
(11) http://mirrors.ustc.edu.cn/CPAN/
(12) http://mirrors.xmu.edu.cn/CPAN/
(13) http://mirrors.zju.edu.cn/CPAN/
Select as many URLs as you like (by number),
put them on one line, separated by blanks,hyphenated ranges allowed
 e.g. '1 45' or '7 1-4 8' [] 7 
Now you can enter your own CPAN URLs by hand. Alocal CPAN mirror can be
listed using a 'file:' URL like'file:///path/to/cpan/'
   
Enter another URL or ENTER to quit: []
New urllist
 http://mirrors.163.com/cpan/
   
Autoconfiguration complete.
   
Attempting to bootstrap local::lib...
   
Writing /root/.cpan/CPAN/MyConfig.pm forbootstrap...
commit: wrote '/root/.cpan/CPAN/MyConfig.pm'
Fetching with LWP:
http://mirrors.163.com/cpan/authors/01mailrc.txt.gz
Reading'/root/.cpan/sources/authors/01mailrc.txt.gz'
............................................................................DONE
Fetching with LWP:
http://mirrors.163.com/cpan/modules/02packages.details.txt.gz
Reading'/root/.cpan/sources/modules/02packages.details.txt.gz'
  Databasewas generated on Thu, 09 Jun 2016 22:53:42 GMT
.............
  NewCPAN.pm version (v2.10) available.
  [Currentlyrunning version is v1.9800]
  You mightwant to try
    install CPAN
    reloadcpan
  to bothupgrade CPAN.pm and run the new version without leaving
  thecurrent session.
   
   
...............................................................DONE
Fetching with LWP:
http://mirrors.163.com/cpan/modules/03modlist.data.gz
Reading'/root/.cpan/sources/modules/03modlist.data.gz'
DONE
Writing /root/.cpan/Metadata
Running make forH/HA/HAARG/local-lib-2.000019.tar.gz
Fetching with LWP:
http://mirrors.163.com/cpan/authors/id/H/HA/HAARG/local-lib-2.000019.tar.gz
Fetching with LWP:
http://mirrors.163.com/cpan/authors/id/H/HA/HAARG/CHECKSUMS
Checksum for/root/.cpan/sources/authors/id/H/HA/HAARG/local-lib-2.000019.tar.gz ok
   
  CPAN.pm:Building H/HA/HAARG/local-lib-2.000019.tar.gz
   
   
Checking if your kit is complete...
Looks good
Warning: prerequisite Test::More 0 not found.
Generating a Unix-style Makefile
Writing Makefile for local::lib
Writing MYMETA.yml and MYMETA.json
---- Unsatisfied dependencies detected during ----
----     HAARG/local-lib-2.000019.tar.gz    ----
    Test::More [build_requires]
Running make test
  Delayeduntil after prerequisites
Running make install
  Delayeduntil after prerequisites
Tried to deactivate inactive local::lib'/root/perl5'
   
local::lib is installed. You must now add thefollowing environment variables
to your shell configuration files (or registry, ifyou are on Windows) and
then restart your command line shell and CPANbefore installing modules:
   
Use of uninitialized value $deactivating innumeric eq (==) at /usr/share/perl5/vendor_perl/local/lib.pm line 381.
Use of uninitialized value $deactivating innumeric eq (==) at /usr/share/perl5/vendor_perl/local/lib.pm line 383.
Use of uninitialized value$options{"interpolate"in numeric eq (==) at /usr/share/perl5/vendor_perl/local/lib.pmline 424.
Use of uninitialized value$options{"interpolate"in numeric eq (==) at/usr/share/perl5/vendor_perl/local/lib.pm line 424.
Use of uninitialized value$options{"interpolate"in numeric eq (==) at /usr/share/perl5/vendor_perl/local/lib.pmline 424.
exportPERL_LOCAL_LIB_ROOT="$PERL_LOCAL_LIB_ROOT:/root/perl5";
export PERL_MB_OPT="--install_base/root/perl5";
exportPERL_MM_OPT="INSTALL_BASE=/root/perl5";
exportPERL5LIB="/root/perl5/lib/perl5:$PERL5LIB";
export PATH="/root/perl5/bin:$PATH";
   
Would you like me to append that to /root/.bashrcnow? [yes]
   
   
commit: wrote '/root/.cpan/CPAN/MyConfig.pm'
   
You can re-run configuration any time with 'o confinit' in the CPAN shell
Terminal does not support AddHistory.
   
cpan shell -- CPAN exploration and modulesinstallation (v1.9800)
Enter 'h' for help.
   
cpan[1]> exit
Terminal does not support GetHistory.
Lockfile removed.
   
*** Remember to restart your shell before runningcpan again ***

1
2
3
# perl -MCPAN -e shell
cpan> o conf urllist unshift http://mirrors.aliyun.com/CPAN/ 
cpan> o conf commit

更多 CentOS 相关信息见CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14

本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-06/132464.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计14606字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中