構(gòu)建安全的網(wǎng)絡(luò)長城,除了堅實的“城墻”、機警的“烽火臺”,還要有“內(nèi)明軍紀(jì),賞罰分明”的“檢測官”才能管理好部下的工作。作為一個優(yōu)秀的網(wǎng)管,不僅要對來自內(nèi)外的入侵活動隨時監(jiān)控,而且要對自己內(nèi)部的網(wǎng)絡(luò)設(shè)備的使用情況保持關(guān)注。隨著網(wǎng)絡(luò)建設(shè)的擴大,或許我們的網(wǎng)絡(luò)內(nèi)部已經(jīng)有了幾個路由器、一個核心交換機、四五個匯聚層交換機、數(shù)十個接入交換機,那么 我們怎么樣來及時檢測它們的工作情況呢?隨著網(wǎng)絡(luò)的建設(shè),我們原本空閑的匯聚層交換機是否已經(jīng)不堪負(fù)載了呢?這段時間的一場雷雨,是否對我們的網(wǎng)絡(luò)設(shè)備造成了破壞呢?而且這些設(shè)備大多在物理上分散于不同區(qū)域,以筆者管理的網(wǎng)絡(luò)而言,它們常常是散布在辦公室、教學(xué)樓、家屬區(qū)各地,為我們的檢測工作帶來很大的困難。那是不是就只能這樣呢?
事實上,生產(chǎn)網(wǎng)絡(luò)設(shè)備的商家早為我們考慮到了這一點。在目前的網(wǎng)絡(luò)設(shè)備中,大多已經(jīng)包含了SNMP服務(wù)。利用它,我們就能方便地獲知網(wǎng)絡(luò)設(shè)備的工作情況了。
下面先介紹幾個概念:
SNMP(Simple Network Management Protocol): SNMP開發(fā)于九十年代早期,是一種簡單網(wǎng)絡(luò)管理協(xié)議, 廣泛使用于幫助網(wǎng)管人員管理TCP/IP網(wǎng)絡(luò)中各種裝置,沒有繁復(fù)的指令,概念上只有fetch-store(存-取)兩種命令,其優(yōu)點為簡單,穩(wěn)定及靈活.其目的是簡化大型網(wǎng)絡(luò)中設(shè)備的管理和數(shù)據(jù)的獲取。
NMS(Network Management Station): 通常為一臺專用計算機,裝有網(wǎng)絡(luò)管理軟件, 使用SNMP指令對路上的各種設(shè)備作監(jiān)視與控制, 并接收SNMP Trap。目前,許多與網(wǎng)絡(luò)有關(guān)的軟件包,如HP的OpenView和Nortel Networks的Optivity Network Management System,還有Multi Router Traffic Grapher(MRTG)之類的免費軟件,都使用SNMP服務(wù)來簡化網(wǎng)絡(luò)的管理和維護。
簡單來說,NMS通過專門的軟件,利用SNMP協(xié)議與網(wǎng)絡(luò)設(shè)備通信,從網(wǎng)絡(luò)設(shè)備那里獲得他們的硬件信息并歸類、整理、顯示出來。方便網(wǎng)管進行檢測和評估網(wǎng)絡(luò)運行情況。其結(jié)構(gòu)示意圖如(圖一)所示:
圖一
如上圖所示,我們在一臺NMS上就能通過SNMP來獲取各個網(wǎng)絡(luò)設(shè)備的情況了。再也不用疲于奔波了。
在介紹了這么多令各位網(wǎng)管激動興奮的特性后,就讓我們一起來親手塑造一位這樣優(yōu)秀的網(wǎng)絡(luò)檢測官NMS吧!
上面有提到過HP的OpenView和Nortel Networks的Optivity Network Management System,還有Cisco Works以及華為公司的網(wǎng)管軟件等都能滿足我們的需要,但以上都是商業(yè)產(chǎn)品,在沒有足夠經(jīng)費的情況下(事實上對公司BOSS而言,網(wǎng)絡(luò)部門都屬于只出不進的燒錢部門,因此要經(jīng)費是很困難的),我個人采用Multi Router Traffic Grapher(MRTG)這個免費軟件構(gòu)造了一個滿足自己需要的NMS,下面與大家分享構(gòu)造過程。(事實上,用免費產(chǎn)品經(jīng)過自己的修改優(yōu)化大多能取得比商業(yè)軟件更好的效果。不少免費軟件的質(zhì)量與商業(yè)產(chǎn)品相比毫不遜色,如Apache、Sendmail、Bind等等)。
實現(xiàn)原理:利用SNMP服務(wù),每隔一定時間從網(wǎng)絡(luò)設(shè)備上取得它們當(dāng)前的工作情況,利用mrtg制作成圖表反映出來。由于需要記錄長期以來的工作情況,所以還需要將以前的記錄保存,每隔一段時間取出的數(shù)據(jù)加以匯總進行數(shù)據(jù)分析和繪圖工作(當(dāng)然,這些都讓mrtg這個軟件替我們代勞了,我們什么都不用做的,只需要打開瀏覽器訪問查看就行了)
下面是我們構(gòu)建NMS所需要的程序和它的主頁地址:
操作系統(tǒng):首先是對操作系統(tǒng)的選擇,目前MRTG可以運行于WINNT平臺和UNIX兩種平臺上。由于NMS主要是起對各個網(wǎng)絡(luò)設(shè)備的流量、工作負(fù)載等情況的持續(xù)跟蹤,因此對操作系統(tǒng)的穩(wěn)定性要求比較高。因為筆者就個人使用經(jīng)歷中接觸到的Unix/Linux操作系統(tǒng)在穩(wěn)定性方面更好一些。因此我們還是繼續(xù)采用RedHat 9.0 作為操作系統(tǒng),關(guān)于安裝它的方法很簡單,遇到問題可以在www.redhat.com上尋求幫助(記得在安裝的時候一定要安裝上snmp、HTTP、crontabs 、PERL、zlib、gd、libpng這幾個軟件包;其中snmp是為了和自己、以及其他網(wǎng)絡(luò)設(shè)備通信取得其資料、crontabs是為了定時執(zhí)行mrtg命令,跟windows下的任務(wù)計劃很類似,http、perl、zlib、gd和libpng都是mrtg所需要的)
MRTG: http://www.mrtg.org 這就是我們的主角了。它有rpm包和源程序包兩種,按理在RedHat上用rpm包的方便快捷,但是我在安裝后使用過程中生成index那里遇到錯誤,而使用源程序包的時候沒有發(fā)生這樣的情況,因此,我們這里仍然選用源程序包來安裝。目前最新的版本為2.10.5版本的,在 http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/mrtg-2.10.5.tar.gz 這里可以下載。
SYSSAR:通過它可以方便地獲得CPU和內(nèi)存等資源的使用情況,RH9自帶它,安裝的時候記得選上就好;
lm_sensors: 通過它可以方便地獲得主板上CPU和系統(tǒng)等資源電壓/風(fēng)扇轉(zhuǎn)動速度和溫度的情況,RH9自帶它,安裝的時候記得選上就好;
1、登陸:
請確保您在進行以下操作的時候以下的操作具有root權(quán)限
2、下載軟件:
先新建立一個目錄
[root@netserver home]# cd /root [root@netserver root]# mkdir nms [root@netserver root]# cd nms [root@netserver nms]# wget http://people.ee.ethz.ch/~oetiker/webtools/mrtg/pub/mrtg-2.10.5.tar.gz |
3、安裝軟件
[root@netserver nms]# tar vzxf mrtg-2.10.5.tar.gz [root@netserver nms]# cd mrtg-2.10.5 [root@netserver mrtg-2.10.5]#./configure--prefix=/usr/local/mrtg --with-gd=/usr/include --with-gd-lib=/usr/lib --with-gd-inc=/usr/include --with-png=/usr/include --with-zlib=/usr/include (其中以上幾個參數(shù)中—prefix表示安裝目錄,--with表示相關(guān)的庫文件和頭文件從相應(yīng)的目錄去尋找,以上寫成一行) [root@netserver mrtg-2.10.5]#make;make install |
好,完成了以上幾步,我們就已經(jīng)把mrtg安裝到了/usr/local/mrtg目錄下了。
4、配置MRTG
mrtg可以同時為多個設(shè)備生成圖表,此處為方便示范,我以獲取內(nèi)網(wǎng)中的一臺192.168.100.1的交換機的資料為例。
A.在www服務(wù)的目錄中建立mrtg目錄,
[root@netserver mrtg-2.10.5]#mkdir –p /var/www/html/mrtg/switch100
以上-p參數(shù),可以方便地建立多級目錄(即上級目錄不存在的情況下,可以連上級目錄和該目錄一起創(chuàng)立)我使用的RedHat默認(rèn)安裝的apache,所以WWW主頁的放置地點為/var/www/html,請按照你的系統(tǒng)來設(shè)定,由于我們內(nèi)網(wǎng)中可能存在多臺需要管理的機器,因此我在mrtg目錄下又單獨建立了一個switch100目錄(因為交換機的ip的c段為100)以方便管理。
[root@netserver mrtg-2.10.5] #cp images/* /var/www/html/mrtg/switch100
(由于mrtg是免費軟件,作者在它的作品上打打廣告當(dāng)然我們也應(yīng)該高高興興地接受,所以把圖片copy過來吧)
B.配置好關(guān)于獲取交換機的cfg,并生成頁面
[root@ netserver mrtg-2.10.5]# cd /usr/local/mrtg/bin [root@ netserver bin]# ./cfgmaker public@192.168.100.1 > /var/www/html/mrtg/switch100/mrtg.cfg |
以上這句中,public@192.168.100.1 表示我們以SNMP協(xié)議獲取162.168.100.1這個交換機資料的時候使用public這個通信字符串(一般來說,網(wǎng)絡(luò)設(shè)備出廠的時默認(rèn)以public作為只讀權(quán)限和private作為讀/寫權(quán)限,具體情況請根據(jù)您的網(wǎng)絡(luò)設(shè)備設(shè)置進行改進)
為圖方面,我以上使用的cfgmaker沒有帶參數(shù),因此默認(rèn)生成的mrtg.cfg中并不太完美,我們來手工修改得更適合一些:
[root@ netserver bin]#vi /var/www/html/mrtg/switch100/mrtg.cfg
修改以下幾行為(沒有的請?zhí)砑樱?/p>
WorkDir: /var/www/html/mrtg/switch100/
Options[_]:growright,bits #默認(rèn)的mrtg圖表是以左方為坐標(biāo)軸,加上這句以換成我們習(xí)慣的右上坐標(biāo)系。
Language:chinese #這里有不少站推薦用GB2312但我發(fā)現(xiàn)chinese更完美一些。
Refresh: 300 #表示每300秒自動刷新客戶的瀏覽器一次,至于為什么是300秒呢?因為snmp訪問的時候是需要網(wǎng)絡(luò)設(shè)備傳輸資料的,會消耗網(wǎng)絡(luò)設(shè)備的資源,因此如果時間定得太短,會讓網(wǎng)絡(luò)設(shè)備的傳輸受到影響;而如果時間間隔太長,又不能比較準(zhǔn)確地反映出網(wǎng)絡(luò)設(shè)備的即時流量。而且一般來說,在檢測到5分鐘內(nèi)的數(shù)據(jù)中如果存在平均的網(wǎng)絡(luò)流量超過最大流量的75%,就說明在這5分鐘內(nèi),有一些瞬間的流量是達到上限了的。因此只要每5分鐘抓取一次流量,就可以根據(jù)網(wǎng)絡(luò)公式來分析網(wǎng)絡(luò)設(shè)備的負(fù)載情況了。
WriteExpires: Yes WithPeak[_]: ym |
C.運行mrtg
執(zhí)行以下命令3次(前兩次會提示一些警告信息,不用理會)
[root@ netserver bin]#./mrtg /var/www/html/mrtg/switch100/mrtg.cfg
之后會發(fā)現(xiàn)在/var/www/html/mrtg/switch100/ 目錄下生成了很多文件html和png文件(前提當(dāng)然是你這個網(wǎng)絡(luò)設(shè)備是要運行著的咯)
接下來生成主頁面index.htm
[root@ netserver bin]#./indexmaker --title="樓宇交換機統(tǒng)計" --output='/var/www/html/mrtg/switch100/index.htm' /var/www/html/mrtg/switch100/mrtg.cfg
以上的命令中 –-title表示的是生成的html的標(biāo)題,--output表示輸出的文件名。
好了,現(xiàn)在打開 http://你的ip/mrtg/switch100/ 目錄,應(yīng)該就能看到(圖二)所示的畫面了。
圖 二
啊~~為什么我的頁面上沒有你這樣的流量走線呢??別急。我不是說過么,我們是需要每5分鐘抓一次流量來形成走線圖的,也就是說,要將mrtg命令每5分鐘執(zhí)行一次。那不是很麻煩?不用,linux中,我們使用crontabs就能很容易做到這點了。(請在服務(wù)中,將crond服務(wù)打開)
[root@ netserver bin]# crontab –e
然后添加任務(wù),輸入下面一行:
5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/local/mrtg/bin/mrtg /var/www/html/mrtg/switch100/mrtg.cfg > /dev/null 2>&1(請寫成一行,并且空格的地方只能空一格,不可以多空格)
共3頁: 1 [2] [3] 下一頁 | ||
|