IDC機房實戰MRTG

2021-09-03 05:54:43 字數 3702 閱讀 2670

idc機房實戰mrtg

mrtg(multi router traffic grapher)是一款比較流行的網路流量監控工具,很多isp都喜歡用它來監控介面負載。本文側重描述在複雜環境下,部署mrtg網路監控的一次經歷,希望對大家的工作有所幫助。

第一步:確認伺服器的ip標籤是否與實際的機器ip一致。

把一台伺服器接上顯示器和鍵盤,登入系統檢視一下本機的ip位址,用命令 # ifconfig -a就可以了。接著使用ssh工具登入到另外的伺服器,執行命令# eject 彈出光碟機來確定是那台機器,驗證一下ip位址是否跟貼在上面的標籤相符。隨機測試幾個伺服器,發現都是相符的。順便把閘道器確認一下,執行命令 # ip route,就知道整個網路的上聯網關的ip位址。

第二步:確定交換機的連線拓撲。手裡有交換機的配置資訊,知道每乙個交換機的ip的,現在要做的是弄清楚同乙個網段5個交換機(在不同的樓層,不能通過觀察知道連線)之間的連線情況。這個其實不難,登入某個交換機,進入特權模式,執行命令 # show cdb neighbors 顯示鄰居。看下面的乙個輸出資訊:

sw_185# show cdp neighbors

capability codes: r - router, t - trans bridge, b - source route bridge

s - switch, h - host, i - igmp, r - repeater, p - ph

device id local intrfce holdtme capability platform port id

wj_waiwang02 gig 0/1 138 s i ws-c2950g-gig 0/2

我們可以清晰的看出,交換機的gig0/1與交換機 wj_waiwang02的埠gig0/2埠直連。用筆把這個連線用草圖畫出來,接著登入其鄰居交換機wj_waiwang02,重複這個步驟直到把所有交換機的鄰接狀態查完,這樣就可以得到乙個詳細的交換機埠間的連線狀況,不難畫出連線拓撲。

因為mrtg需要交換機的snmp支援,把每個交換機的snmp功能啟用。執行配置命令sw_185(c snmp-server community sery ro ,把社群字設成」sery」且屬性為唯讀。

在進行這個過程的時候,我遇到乙個差異,就是有個網段掃瞄出來的結果沒有mac這個值,而另外乙個機房的網段卻是有的。究其原因,是因為nmap的版本不同所致。沒有mac是沒有任何用處的,當然這不工作沒有白做。執行命令 # nmap 202.100.x.1-254 ,等輸出還沒有全部顯示的時候執行命令 # arp -a > /tmp/arpinfo.txt將顯示所有伺服器的ip和mac位址的資訊,同樣可以達到目的。注意:arp自動重新整理完成後,再執行arp -a 這個命令將只有幾行顯示輸出,所以一定要掌握好這個時間。

到這一步,我們可以得到乙個ip與mac一一對應的關係檔案,通過手動的辦法把它挨個複製到excel表中。

第四步:查每個交換機埠學習來的伺服器mac。登入每乙個交換機,執行命令 # show mac-address-table 將輸出mac與埠號對應的行。由於每個埠都與伺服器直連,那麼如果出現某個埠與多個mac相匹配,則此埠一定是上聯埠或交換機間的連線埠。找出那些埠號與mac一一對應的行,把它複製到乙個excel表中。重複這個操作直到完成所有的輸出和複製工作。

ip與 mac 對應表 mac與port對應表

000b.cdd3.e0c3

202.100.x.31 00:0b:cc:d3:e0:c3 fa0/12 .

. . . .

. . .

. . . .

. .

以手工的方式查這兩個表,以mac為橋梁,就能把ip與埠port一一對應了。把這個結果做成乙個excel檔案。

第六步:安裝、配置mrtg.在網內撥一台linux伺服器來做監控服務。

1、 安裝:redhat linux安裝光碟附帶mrtg rpm安裝包,執行命令 # rpm -ivh mrtg-2.9.17-3.i386.rpm很容易就安裝上去了。

2、 配置mrtg。在mrtg安裝目錄執行命令 # /usr/local/mrtg/bin/cfgmaker --global 「workdir: /var/www/html/mrtg」 --global 「options:wright"  --show-op-down --ifref=nr --output=/etc/mrtg/mrtg1.cfg [email protected] ;每個交換機生成各自的乙個配置檔案,如 /etc/mrtg/mrtg2.cfg。

3、 生成訪問交換機的頁面檔案。執行命令 # /usr/local/mrtg/bin/indexmaker /etc/mrtg/mrtg.cfg --output=/var/www/mrtg/index1.html ,依次生成5個頁面檔案。

4、 配置apache服務。通過編輯檔案/etc/httpd/conf/httpd.c # htpasswd /var/www/html/.htpasswd sery 新增有效使用者sery。

5、 把mrtg加入自動啟動任務裡。執行命令 # crontad -e ,把

*/5 * * * * /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg1.cfg --logging /var/log/mrtg1.log

*/5 * * * * /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg2.cfg --logging /var/log/mrtg95.log

*/5 * * * * /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg3.cfg --logging /var/log/mrtg123.log

*/5 * * * * /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg4.cfg --logging /var/log/mrtg186.log

*/5 * * * * /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg5.cfg --logging /var/log/mrtg187.log

加到檔案中,儲存後退出。

第六步:起用服務。

1、 啟用apache服務:# service httpd start。

2、 啟用mrtg: # /usr/local/mrtg/bin/mrtg /etc/mrtg/mrtg1.cfg。

第七步:手工修改頁面檔案。根據第五步得出的結果,把頁面檔案/var/www/html/mrtg/index1.html~index5.html的埠後標識其對應的伺服器的ip位址。乙個更好的改進就是再編輯乙個頁面檔案 /var/www/html/mrtg/index.html,把五個頁面檔案鏈結在這個頁面檔案中,這樣就更方便了。

在任意客戶端的機器的瀏覽器裡輸入url : [url]http://<[/url]監控伺服器的ip>/mrtg/index1.html,然後系統提示輸入使用者名稱和密碼,就可以監控所有伺服器的網路負載。 整個過程比較麻煩的事情就是確定交換機埠所連伺服器的ip位址,在乙個不太重要的環境中,通過撥網線的方式就可以從一大堆亂七八糟的雙絞線找出埠另一頭在哪個伺服器上,而在本案中不能挺機,所以拔網線觀望是萬萬不行的。同樣,通過對比找出埠與所連伺服器ip位址一一對應的手工操作方式也是比較無聊的事情。但不能如何,我還是在沒有任何網路業務中斷的情況下完成了這次任務。

通過這個個案,大家可以了解,在一項任務可能要涉及到很多方面,既有技術的,也有策略的。光從技術上講,就涉及到交換機的配置和操作、linux系統的處理等等。

2006-1-11

於白石橋

由IDC機房測試談主動工作教學實戰案例!

老男孩指導學生積極主動工作案例 緣起 老男孩linux培訓中心 例行定期回訪學生就業後的工作情況,以便更針對性的對學生後續指導,實現更大的提公升,下面是企業反饋的某一學生的工作情況及老男孩老師有針對性的進行思維開導的案例。企業反饋 該生對於企業分配的工作能較好的完成,但是缺乏積極主動性,需要領導盯著...

IDC機房機器日誌採集配置

以機器 gpu server 011 為例 機房機器新增aliuids操作 root gpu server 011 mkdir p etc ilogtail users root gpu server 011 touch etc ilogtail users 12 50 安裝logtail 日誌採集...

IDC機房運維每天做什麼?

事件管理 目標是在服務出現異常時盡可能快速的恢復服務,從而保障服務的可用性 同時深入分析故障產生的原因,推動並修復服務存在的問題,同時設計並開發相關的預案以確保服務出現故障時可以高效的止損。變更管理 以可控的方式,盡可能高效的完成產品功能的迭代的變更工作。容量管理 在服務執行維護階段,為了確保服務架...