全網首發!! centos7.2 安裝smokeping

1 基本概念

 

2 安裝

2.0 時間同步

yum -y install ntpdate
ntpdate times.aliyun.com

2.1 安裝依賴包

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

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

2.3 安裝smokeping

 

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擴展,如下所示

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.

 

請使用以下命令安裝對應模塊

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

注意:有時候需要重複安裝幾次才能裝上模塊。

注意要選擇國內的的模塊源,不然速度很慢。

 

 

 

2.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 創建相關配置文件

 

#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 修改配置文件

#指定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 修改字符集和字體支持中文

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配置文件增加登錄驗證

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

 

2.9 修改httpd.conf增加smokepingweb界面

httpd.conf末尾添加如下內容

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 添加監控對象

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進程

/usr/local/smokeping/bin/smokeping --restart
或
/usr/local/smokeping/bin/smokeping --reload
或
pkill smokeping
/usr/local/smokeping/bin/smokeping

 

監控節點樣例如下,注意+是第一層,++是第二層,+++ 是第三層:

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子文件夾。

[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 啓動服務並測試

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

 

 

在瀏覽器中訪問

http://10.0.56.12/smokeping

wKiom1djYzPgERDPAABu8iZtrd8499.jpg


用戶名和密碼爲htpasswd命令中設定用戶名和密碼

 

出現以下界面表示成功。

 wKiom1djY2ODpjFrAABXTZ9sbD4433.jpg

 

 


 

可以看到添加的節點的相關信息。

 wKioL1djZIeBSrEhAACjsncEZGs082.jpg


 

 

 

可以看到添加的監控點的ping狀態

 wKiom1djY4GCRcemAAFa5EvMLnA973.jpg


 

 

附錄:

更改CPAN源的方法

[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? [yes] yes
 
 <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?[yes] yes
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? [yes] yes
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 ***

 

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

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章