CentOS6 安装配置Smokeping
???? Smokeping 主要是監視網絡性能,包括常規的 ping,用 echoping 監視 www 服務器性能,監視 dns 查詢性能,監視 ssh 性能等。底層也是 rrdtool 做支持,特點是畫的圖非常漂亮,網絡丟包和延遲用顏色和陰影來表示。下面我們來開始安裝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出現問題是因為需要安裝perl的模塊,所以運行下面內容即可
./setup/build-perl-modules.sh?/usr/local/smokeping/thirdparty繼續運行
./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,這是檢測的時間, pings 從20 改為60, 即60秒ping 60次
修改apache的配置
vim /etc/httpd/conf/httpd.conf ?
在DocumentRoot "/var/www/html"
這一行之下添加如下內容: 用#號注釋掉的是驗證部分 可有可無
如果要啟用驗證,那取消#號
進入
目錄, 執行命令:
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?&特別說明:
修改/usr/local/smokeping/etc/config 文件的配置參數,必須重啟動smokeping程序??? ?
(1)如果重啟動smokeping程序失敗,根據報錯提示刪除/usr/local/smokeping/data子文件夾的rrd文件??? ?
(2)中文問題:如果需要在網頁里展示中文,修改/usr/local/smokeping/etc的config文件
*** Presentation ***????? charset = utf-8 //注:在這里添加???? ?
然后在menu與titile里修改中文,重啟即可???? ?
有一個要注意的地方就是,你輸入的中文必須在utf-8的字符編碼下輸入的中文字符,不然會出現亂碼。????? ?
如果在xshel下,選擇file-properities-terminal???? ?
如果還是不顯示就看看你系統里是否安裝了中文字體,或者在安裝一個
三. 添加需要監控的網站和節點(在/usr/local/smokeping/etc/config中添加)??????? * smokeping就這點不好,添加節點不能在前臺Web頁面添加,一定要在后臺的配置文件中添加,希望以后的版本中能改進一下? *?????? * 修改/usr/local/smokeping/etc/config 后,必須重啟smokeping 程序,配置才會生效? *?????????? * smokeping 會根據配置文件config 在/usr/local/smokeping/data 之下添加moniter文件夾,其下包含website子文件夾 *??????? * 用vmware workstation的虛擬機測試有一點好處,workstation下的虛擬網卡可以設置出入的丟包率,適合smokeping做丟包測試, 經過測試smokeping檢測出的丟包率與vmware worksation虛擬網卡設置的丟包率基本相同,也就是說smokeping 能夠反應網絡的真實狀況 *????? 添加監控節點示例:注意+是第一層,++是第二層,+++ 是第三層
+ 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
默認不支持中文,不過修改也很簡單
1.頁面支持中文
在配置文件的*** 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
優點:
smokeping的主從結構,默認是開啟master和slave所有的檢測指針去檢測遠程主機(當然這個選項也是有個參數可以控制,只讓slave去檢測遠程主機)。一個master可以管理多個slave,而且slave配置起來也很簡單
slave從master上獲取自己的配置信息,所有的檢測數據以及web呈現都在master上,slave只負責按照從master獲取的配置信息進 行數據檢測,所以說master/slave的架構也只需要維護好master的配置文件即可,其他的信息slave都會動態獲取到。
Smoking 檢測分布式的檢測方式是被動模式,由從節點啟動時獲得主節點的config 文件,然后進行數據檢測收集,收集完畢后直接將數據提交給主節點。主從通信驗證是通過類似于rsync的密碼認證方式,在啟動slave節點時指定 –shared-secret=filename 來和主進行密碼驗證
架構:
slave通過master的web接口與master保持正常的通信,slave在初始化啟動連接到master的時候,master會告訴 slave的作業內容,當slave完成了一輪作業內容時便會將結果返回給master,如果分配給slave的任務發生了改變,master會告訴 slave,其他slave已經交付的結果
其實一個slave就是一個單獨的實例,slave的配置信息來自于master,不是來自于本地配置文件(這樣就減少了大量的維護成本),slave在 完成每一輪的作業任務后,就會嘗試連接master提交自己的結果。如果無法連接到master,這個結果將會和下一輪的結果一塊發送給 master,master收到結果后,將檢測的數據存儲在一個以perl的可存儲形式的文件中,以便于重啟了smokeping實例后,不會丟失這些數 據。
Master配置部分
配置一個主從結構,需要在master的配置文件中添加slave的部分,所有slave需要被定義在master的slave區塊中(了解配置文 件中的幾大區塊,猛戳這里)并且每一個slave需要用戶一個具有唯一名稱的菜單名(層次名),對于slave所設置的章節名一定要和slave的名稱保 持一致。
1.在配置文件中啟用slaves塊的配置,并且定義你的slave節點,如下
***?Slaves?*** secrets=/usr/local/smokeping/etc/smokeping_secrets.dist????????#?定義通信用的秘鑰文件,里面包含slave的名字以及對應密碼+?tuosi????????????????#?slave的名字 display_name=tuosi????#?slave的別名 location=changzhou????#?這個字段用來定義slave主機的位置,類似于description color=0000ff????????#?slave收集的數據在圖像中顯示的顏色,2.將定義的slave節點分配給你需要監控的主機
***?Targets?***++?changzhou????????#?定義一個菜單,這個值將會作為data下的一個目錄名被創建,屬于這個菜單下所有數據都會被存放在這個目錄下 menu?=?拓思機房????????#?定義web上顯示的菜單名 title?=?拓思機房????#?定義web上顯示的頭部名+++?29gui<-(xxx.xxx.xxx.xxx.xxx)????????#?定義一個主機,這個主機的數據將會被存放在 data/changzhou/29gui目錄下 menu?=?29柜<-(xxx.xxx.xxx.xxx)????????????#?web上顯示的菜單名,可點擊 title?=?29柜<-(xxx.xxx.xxx.xxx)????????????#?圖表頭部名稱 alerts?=?someloss????????????????????????#?報警閥值 slaves?=?tuosi????????????????????????????#?slave節點 host?=?xxx.xxx.xxx.xxx????????????????????#?被監控的主機IP或者域名3.創建master和slave通信的秘鑰文件
創建通信用的秘鑰文件,內容為“slave的名字:密碼”,這里需要注意秘鑰文件的權限,由于smokeping的master/slave是通過 smokeping程序進行驗證的,所以這個秘鑰文件的屬主必須是smokeping進程的運行用戶身份,并且權限為600.下面slave上的密碼文件 的權限也是一樣,需要同樣的權限歸屬,這點需要注意。
Slave配置部分
slave端實際上不需要太多的配置,只需要將smokeping正確安裝即可,具體可參照 Smokeping的配置安裝 一文,進行到gmake install 即可~
是不是so easy~
1.創建master與slave的密碼文件
2.啟動slave
可以使用/usr/local/smokeping/bin/smokeping --help
觀察到與slave有關的幾個參數如下:
--master-url????????# 當smokeping運行在slave模式下,使用該項指定master的訪問url(web接口,用以通信)
--slave-name????????# 默認情況下,不指定改項時,slave連接到master后,master會以slave的hostname作為slavename,如果不希望這樣做,就需要手動指定改選項
--shared-secret????????# 和master通信認證的密碼文件
--cache-dir????????????# 當smokeping運行在slave模式下,臨時數據存放在master上的目錄路徑
--pid-dir????????????# slave模式下,其pid存放的目錄路徑??蛇x參數,默認繼承--cache-dir參數的值
#?/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
?
轉載于:https://blog.51cto.com/flyingzf/1557702
總結
以上是生活随笔為你收集整理的CentOS6 安装配置Smokeping的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: CentOS 5.X用第三方源安装PHP
- 下一篇: 安装apache2.4.10