CentOS6 安装配置Smokeping
???? Smokeping 主要是監(jiān)視網(wǎng)絡(luò)性能,包括常規(guī)的 ping,用 echoping 監(jiān)視 www 服務(wù)器性能,監(jiān)視 dns 查詢性能,監(jiān)視 ssh 性能等。底層也是 rrdtool 做支持,特點(diǎn)是畫的圖非常漂亮,網(wǎng)絡(luò)丟包和延遲用顏色和陰影來(lái)表示。下面我們來(lái)開(kāi)始安裝Smokeping
rpm??-Uvh?http://apt.sw.be/redhat/el6/en/x86_64/rpmforge/RPMS/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpmyum?-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-HiResyum?-y?install?perl-ExtUtils-MakeMaker?perl-RRD-Simple?rrdtool?rrdtool-perl?curl?fping?echoping?gcc?make??wget?libxml2-devel?libpng-devel?glib?pangoyum?-y?install?pango-devel?freetype?freetype-devel?fontconfig?cairo?cairo-devel?libart_lgpl?libart_lgpl-devel?mod_fastcgi?screenwget?http://oss.oetiker.ch/smokeping/pub/smokeping-2.6.8.tar.gz tar?xvzf?smokeping-2.6.8.tar.gz cd?smokeping-2.6.8 ./configure?--prefix=/usr/local/smokeping出現(xiàn)問(wèn)題是因?yàn)樾枰惭bperl的模塊,所以運(yùn)行下面內(nèi)容即可
./setup/build-perl-modules.sh?/usr/local/smokeping/thirdparty繼續(xù)運(yùn)行
./configure?--prefix=/usr/local/smokeping gmake?installcd?/usr/local/smokeping mkdir?cache?data?vartouch?/var/log/smokeping.log?chown?apache:apache?cache?data?var?? chown?apache:apache?/var/log/smokeping.logcd?/usr/local/smokeping/htdocs/?? mv?smokeping.fcgi.dist?smokeping.fcgi? cd?/usr/local/smokeping/etc? mv?config.dist?configvi?config?? cgiurl???=?http://some.url/smokeping.cgi? 把some.url修改為你的ip或者域名*** Database ***
step? = 300
pings? = 20 ?
然后修改step,從300改為60,這是檢測(cè)的時(shí)間, pings 從20 改為60, 即60秒ping 60次
修改apache的配置
vim /etc/httpd/conf/httpd.conf ?
在DocumentRoot "/var/www/html"
這一行之下添加如下內(nèi)容: 用#號(hào)注釋掉的是驗(yàn)證部分 可有可無(wú)
如果要啟用驗(yàn)證,那取消#號(hào)
進(jìn)入
目錄, 執(zhí)行命令:
htpasswd?-c?/usr/local/smokeping/htdocs/htpasswd?admin echo?"/usr/local/smokeping/bin/smokeping?--logfile=/var/log/smokeping.log?2>&1?&"?>>?/etc/rc.local? chkconfig?httpd?on chkconfig?iptables?off/etc/init.d/httpd?start?? /usr/local/smokeping/bin/smokeping?--logfile=/var/log/smokeping.log?2>&1?&特別說(shuō)明:
修改/usr/local/smokeping/etc/config 文件的配置參數(shù),必須重啟動(dòng)smokeping程序??? ?
(1)如果重啟動(dòng)smokeping程序失敗,根據(jù)報(bào)錯(cuò)提示刪除/usr/local/smokeping/data子文件夾的rrd文件??? ?
(2)中文問(wèn)題:如果需要在網(wǎng)頁(yè)里展示中文,修改/usr/local/smokeping/etc的config文件
*** Presentation ***????? charset = utf-8 //注:在這里添加???? ?
然后在menu與titile里修改中文,重啟即可???? ?
有一個(gè)要注意的地方就是,你輸入的中文必須在utf-8的字符編碼下輸入的中文字符,不然會(huì)出現(xiàn)亂碼。????? ?
如果在xshel下,選擇file-properities-terminal???? ?
如果還是不顯示就看看你系統(tǒng)里是否安裝了中文字體,或者在安裝一個(gè)
三. 添加需要監(jiān)控的網(wǎng)站和節(jié)點(diǎn)(在/usr/local/smokeping/etc/config中添加)??????? * smokeping就這點(diǎn)不好,添加節(jié)點(diǎn)不能在前臺(tái)Web頁(yè)面添加,一定要在后臺(tái)的配置文件中添加,希望以后的版本中能改進(jìn)一下? *?????? * 修改/usr/local/smokeping/etc/config 后,必須重啟smokeping 程序,配置才會(huì)生效? *?????????? * smokeping 會(huì)根據(jù)配置文件config 在/usr/local/smokeping/data 之下添加moniter文件夾,其下包含website子文件夾 *??????? * 用vmware workstation的虛擬機(jī)測(cè)試有一點(diǎn)好處,workstation下的虛擬網(wǎng)卡可以設(shè)置出入的丟包率,適合smokeping做丟包測(cè)試, 經(jīng)過(guò)測(cè)試smokeping檢測(cè)出的丟包率與vmware worksation虛擬網(wǎng)卡設(shè)置的丟包率基本相同,也就是說(shuō)smokeping 能夠反應(yīng)網(wǎng)絡(luò)的真實(shí)狀況 *????? 添加監(jiān)控節(jié)點(diǎn)示例:注意+是第一層,++是第二層,+++ 是第三層
+ moniter? ?
menu = moniter
++ website
menu = website ?
title = moniter
website ?
#host = /moniter/website/baidu /moniter/website/sina /moniter/website/taobao /moniter/website/QQ
? +++ baidu
menu = baidu ?
title = baidu.com
alerts = someloss
host = www.baidu.com
? +++ sina
menu = sina ?
title = sina.com.cn
alerts = someloss ?
host = www.sina.com.cn
? +++ taobao
menu = taobao ?
title = taobao.com
alerts = someloss
host = www.taobao.com
默認(rèn)不支持中文,不過(guò)修改也很簡(jiǎn)單
1.頁(yè)面支持中文
在配置文件的*** Presentation ***下添加
charset = utf-8
2.rrd圖片支持中文
yum -y install wqy-zenhei-fonts.noarch
修改配置文件/opt/smokeping-2.6.9/lib/Smokeping/Graphs.pm ,插入這句'--font TITLE:20:"WenQuanYi Zen Hei Mono"',
my?($graphret,$xs,$ys)?=?RRDs::graph ("dummy", '--start',?$tasks[0][1], '--end',?$tasks[0][2], '--font?TITLE:20:"WenQuanYi?Zen?Hei?Mono"', "DEF:maxping=$cfg->{General}{datadir}${host}.rrd:median:AVERAGE", 'PRINT:maxping:MAX:%le'?);Smokeping的主從模式 Master Slave
優(yōu)點(diǎn):
smokeping的主從結(jié)構(gòu),默認(rèn)是開(kāi)啟master和slave所有的檢測(cè)指針去檢測(cè)遠(yuǎn)程主機(jī)(當(dāng)然這個(gè)選項(xiàng)也是有個(gè)參數(shù)可以控制,只讓slave去檢測(cè)遠(yuǎn)程主機(jī))。一個(gè)master可以管理多個(gè)slave,而且slave配置起來(lái)也很簡(jiǎn)單
slave從master上獲取自己的配置信息,所有的檢測(cè)數(shù)據(jù)以及web呈現(xiàn)都在master上,slave只負(fù)責(zé)按照從master獲取的配置信息進(jìn) 行數(shù)據(jù)檢測(cè),所以說(shuō)master/slave的架構(gòu)也只需要維護(hù)好master的配置文件即可,其他的信息slave都會(huì)動(dòng)態(tài)獲取到。
Smoking 檢測(cè)分布式的檢測(cè)方式是被動(dòng)模式,由從節(jié)點(diǎn)啟動(dòng)時(shí)獲得主節(jié)點(diǎn)的config 文件,然后進(jìn)行數(shù)據(jù)檢測(cè)收集,收集完畢后直接將數(shù)據(jù)提交給主節(jié)點(diǎn)。主從通信驗(yàn)證是通過(guò)類似于rsync的密碼認(rèn)證方式,在啟動(dòng)slave節(jié)點(diǎn)時(shí)指定 –shared-secret=filename 來(lái)和主進(jìn)行密碼驗(yàn)證
架構(gòu):
slave通過(guò)master的web接口與master保持正常的通信,slave在初始化啟動(dòng)連接到master的時(shí)候,master會(huì)告訴 slave的作業(yè)內(nèi)容,當(dāng)slave完成了一輪作業(yè)內(nèi)容時(shí)便會(huì)將結(jié)果返回給master,如果分配給slave的任務(wù)發(fā)生了改變,master會(huì)告訴 slave,其他slave已經(jīng)交付的結(jié)果
其實(shí)一個(gè)slave就是一個(gè)單獨(dú)的實(shí)例,slave的配置信息來(lái)自于master,不是來(lái)自于本地配置文件(這樣就減少了大量的維護(hù)成本),slave在 完成每一輪的作業(yè)任務(wù)后,就會(huì)嘗試連接master提交自己的結(jié)果。如果無(wú)法連接到master,這個(gè)結(jié)果將會(huì)和下一輪的結(jié)果一塊發(fā)送給 master,master收到結(jié)果后,將檢測(cè)的數(shù)據(jù)存儲(chǔ)在一個(gè)以perl的可存儲(chǔ)形式的文件中,以便于重啟了smokeping實(shí)例后,不會(huì)丟失這些數(shù) 據(jù)。
Master配置部分
配置一個(gè)主從結(jié)構(gòu),需要在master的配置文件中添加slave的部分,所有slave需要被定義在master的slave區(qū)塊中(了解配置文 件中的幾大區(qū)塊,猛戳這里)并且每一個(gè)slave需要用戶一個(gè)具有唯一名稱的菜單名(層次名),對(duì)于slave所設(shè)置的章節(jié)名一定要和slave的名稱保 持一致。
1.在配置文件中啟用slaves塊的配置,并且定義你的slave節(jié)點(diǎn),如下
***?Slaves?*** secrets=/usr/local/smokeping/etc/smokeping_secrets.dist????????#?定義通信用的秘鑰文件,里面包含slave的名字以及對(duì)應(yīng)密碼+?tuosi????????????????#?slave的名字 display_name=tuosi????#?slave的別名 location=changzhou????#?這個(gè)字段用來(lái)定義slave主機(jī)的位置,類似于description color=0000ff????????#?slave收集的數(shù)據(jù)在圖像中顯示的顏色,2.將定義的slave節(jié)點(diǎn)分配給你需要監(jiān)控的主機(jī)
***?Targets?***++?changzhou????????#?定義一個(gè)菜單,這個(gè)值將會(huì)作為data下的一個(gè)目錄名被創(chuàng)建,屬于這個(gè)菜單下所有數(shù)據(jù)都會(huì)被存放在這個(gè)目錄下 menu?=?拓思機(jī)房????????#?定義web上顯示的菜單名 title?=?拓思機(jī)房????#?定義web上顯示的頭部名+++?29gui<-(xxx.xxx.xxx.xxx.xxx)????????#?定義一個(gè)主機(jī),這個(gè)主機(jī)的數(shù)據(jù)將會(huì)被存放在 data/changzhou/29gui目錄下 menu?=?29柜<-(xxx.xxx.xxx.xxx)????????????#?web上顯示的菜單名,可點(diǎn)擊 title?=?29柜<-(xxx.xxx.xxx.xxx)????????????#?圖表頭部名稱 alerts?=?someloss????????????????????????#?報(bào)警閥值 slaves?=?tuosi????????????????????????????#?slave節(jié)點(diǎn) host?=?xxx.xxx.xxx.xxx????????????????????#?被監(jiān)控的主機(jī)IP或者域名3.創(chuàng)建master和slave通信的秘鑰文件
創(chuàng)建通信用的秘鑰文件,內(nèi)容為“slave的名字:密碼”,這里需要注意秘鑰文件的權(quán)限,由于smokeping的master/slave是通過(guò) smokeping程序進(jìn)行驗(yàn)證的,所以這個(gè)秘鑰文件的屬主必須是smokeping進(jìn)程的運(yùn)行用戶身份,并且權(quán)限為600.下面slave上的密碼文件 的權(quán)限也是一樣,需要同樣的權(quán)限歸屬,這點(diǎn)需要注意。
Slave配置部分
slave端實(shí)際上不需要太多的配置,只需要將smokeping正確安裝即可,具體可參照 Smokeping的配置安裝 一文,進(jìn)行到gmake install 即可~
是不是so easy~
1.創(chuàng)建master與slave的密碼文件
2.啟動(dòng)slave
可以使用/usr/local/smokeping/bin/smokeping --help
觀察到與slave有關(guān)的幾個(gè)參數(shù)如下:
--master-url????????# 當(dāng)smokeping運(yùn)行在slave模式下,使用該項(xiàng)指定master的訪問(wèn)url(web接口,用以通信)
--slave-name????????# 默認(rèn)情況下,不指定改項(xiàng)時(shí),slave連接到master后,master會(huì)以slave的hostname作為slavename,如果不希望這樣做,就需要手動(dòng)指定改選項(xiàng)
--shared-secret????????# 和master通信認(rèn)證的密碼文件
--cache-dir????????????# 當(dāng)smokeping運(yùn)行在slave模式下,臨時(shí)數(shù)據(jù)存放在master上的目錄路徑
--pid-dir????????????# slave模式下,其pid存放的目錄路徑。可選參數(shù),默認(rèn)繼承--cache-dir參數(shù)的值
#?/usr/local/smokeping/bin/smokeping? --master-url=http://xxx.xxx.xxx.xxx/smokeping.cgi? --cache-dir=/usr/local/smokeping/cache/? --shared-secret=/usr/local/smokeping/etc/secrets?--slave-name=tuosi? --logfile=/usr/local/smokeping/slave.log參考
http://my.oschina.net/lxcong/blog/150617
http://blog.coocla.org/293.html
?
轉(zhuǎn)載于:https://blog.51cto.com/flyingzf/1557702
總結(jié)
以上是生活随笔為你收集整理的CentOS6 安装配置Smokeping的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: CentOS 5.X用第三方源安装PHP
- 下一篇: 安装apache2.4.10