首先我們一起來看三個問題
① MRTG在監控交換機時,會為每個端口都生成一個頁面,我們通路MRTG流量監控頁面存放的目錄時監控了多少個 端口就會看到有多少個頁面,監控一台交換機我們檢視時很友善,因為一般也就是24或48個頁面(實際情況根據交換機端口的個數而定)。請問當我們需要監控十個交換機時怎麼辦?每個按24個端口算的話我們檢視時還要面臨240個頁面。不僅是流量圖檢視起來不友善,而且240個端口的配置資訊都存儲到一個配置檔案裡面(mrtg的配置檔案),使用時非常不友善,今天我們就解決這個問題------為每台交換機分别生成單獨的流量頁面放置目錄和單獨配置檔案
② 我們在檢視MRTG流量監控的首頁面時預設情況下是看不到哪個頁面是哪個端口的,如下圖,我們要想知道是哪個端口的流量必須要點開這個圖檔才可以看到,在檢視流量時非常不便,是以我們今天要把這個東西改成我們想要的,必須改為使用者名稱+機櫃号+端口号+使用者IP+聯系方式
③ IDC機房伺服器以企業單台伺服器居多,是以使用者并沒有自己的交換機,但使用者要求要能時刻檢視自己伺服器的流量。這個時候我們需要給使用者提供一個單獨的URL,以便使用者友善檢視,而且為了安全起見,使用者在通路自己的MRTG流量監控頁面時需要提供使用者名和密碼,而且隻能看到自己伺服器的流量--------實作MRTG單個端口流量頁面分離(我給它取的名字,嘿嘿)
問題一解決方案:
在此我們就不介紹MRTG是怎麼安裝的了,關于MRTG的安裝和基本配置請參閱http://luwenju.blog.51cto.com/620835/246892 Apache安裝路徑為/usr/local/apache, Mrtg安裝路徑為/usr/local/mrtg。本次我們拿兩台真實環境中的交換機來監控,是以圖檔上一些敏感的資訊我抹掉了,不清楚的地方請跟帖提出。
我們監控的兩台交換機的名字分别為E16和I9,下面我們為兩台交換機建立放置MRTG配置檔案的目錄
# mkdir -p /usr/local/mrtg/etc/e16 //用于放置E16交換機的配置檔案
# mkdir /usr/local/mrtg/etc/i9 //用于放置I9交換機的配置檔案
為每台交換機生成配置檔案
# /usr/local/mrtg/bin/cfgmaker --output /usr/local/mrtg/etc/e16/mrtg.cfg [email protected] //為E16交換機生成配置檔案,放置到/usr/local/mrtg/etc/e16目錄下
# /usr/local/mrtg/bin/cfgmaker --output /usr/local/mrtg/etc/i9/mrtg.cfg [email protected]
//為I9交換機生成配置檔案,放置到/usr/local/mrtg/etc/i9目錄下
為每台交換機建立放置流量監控頁面的目錄
[root@luwenju mrtg]# mkdir /usr/local/apache/htdocs/e16 //e16交換機html 檔案放置目錄
[root@luwenju mrtg]# mkdir /usr/local/apache/htdocs/i9 //I9交換機html檔案放置目錄
修改E16交換機的配置檔案
[root@luwenju mrtg]# vi /usr/local/mrtg/etc/e16/mrtg.cfg
WorkDir: /usr/local/apache/htdocs/e16 //監控E16交換機生成的流量圖放置路徑
Options[_]: growright, bits //定義流量機關
Language:Chinese //讓MRTG支援中文
修改I9交換機的配置檔案
[root@luwenju mrtg]# vi /usr/local/mrtg/etc/i9/mrtg.cfg
分别對兩台交換機的端口進行掃描
[root@luwenju mrtg]# env LANG=C /usr/local/mrtg/bin/mrtg /usr/local/mrtg/etc/e16/mrtg.cfg
[root@luwenju mrtg]# env LANG=C /usr/local/mrtg/bin/mrtg /usr/local/mrtg/etc/i9/mrtg.cfg
為兩台交換機分别生成html主目錄
[root@luwenju mrtg]# /usr/local/mrtg/bin/indexmaker --output /usr/local/apache/htdocs/e16/index.html --title=E16 /usr/local/mrtg/etc/e16/mrtg.cfg
[root@luwenju mrtg]# /usr/local/mrtg/bin/indexmaker --output /usr/local/apache/htdocs/i9/index.html --title=I9 /usr/local/mrtg/etc/i9/mrtg.cfg
在cron服務裡面添加以下指令,讓MRTG每5分鐘掃描一次交換機流量
*/5 * * * * env LANG=C /usr/local/mrtg/bin/mrtg /usr/local/mrtg/etc/e16/mrtg.cfg
*/5 * * * * env LANG=C /usr/local/mrtg/bin/mrtg /usr/local/mrtg/etc/i9/mrtg.cfg
配置完然後重新開機Apache後,我們在浏覽器中輸入MRTG的IP位址,然後可以看到兩個交換機放置html的目錄(Apache在允許清單的情況下),我們點選E16,然後就會出現E16交換機的流量監控圖
問題二解決方案:
我們可以看到下圖中圈出的内容,下面我們一起看一下怎麼把這些内容改為我們想要的
我們需要修改那個端口的描述資訊,就需要修改哪個端口的配置檔案,在此我們修改E16交換機 1/0/1端口的描述資訊
[root@luwenju e16]# vi /usr/local/mrtg/etc/e16/mrtg.cfg
圖中藍色部分是系統自己對端口的描述,這個我們不需要修改。我們隻修改紅色标出的部分即可,我們可以将它修改為lu_wen_ju
然後重新掃描
[root@luwenju e16]# env LANG=C /usr/local/mrtg/bin/mrtg /usr/local/mrtg/etc/e16/mrtg.cfg
然後重新生成html頁面
[root@luwenjue16]#/usr/local/mrtg/bin/indexmaker --output /usr/local/apache/htdocs/e16/index.html --title=E16 /usr/local/mrtg/etc/e16/mrtg.cfg
下面我們在檢視時,就看到了我們想要的資訊,如下圖
問題三解決方案:
因為所有的MRTG監控都運作在一台伺服器上,在對使用者提供時時線上檢視流量之前我們應該先對全局監控做一個授權通路,要不然使用者不但能檢視自己的流量,還能檢視所有端口流量,那樣就麻煩啦~
[root@luwenju e16]# mkdir /usr/local/mrtg/passwd //建立一個使用者放置密碼的目錄
[root@luwenju e16]# /usr/local/apache/bin/htpasswd -c /usr/local/mrtg/passwd/luwenjupwd luwenju //建立使用者luwenju 密碼配置檔案為luwenjupwd ,生成到/usr/local/mrtg/passw目錄下
[root@luwenju ~]# vi /usr/local/apache/conf/httpd.conf //在Apache配置檔案中做授權通路
<Directory "/usr/local/apache/htdocs"> //需要授權的目錄,E16和I9兩個HTML檔案夾都在這個目錄下
AuthType Basic //驗證模式,使用BASIC
AuthName "Welcom To luwenju" //歡迎資訊
AuthUserFile /etc/mrtgpasswd/luwenjupwd //密碼配置檔案路徑
Require user luwenju //授權的使用者
</Directory>
測試,想檢視E16和I9的流量時需要提供使用者名和密碼才可以
下面我們要開始對個别端口的監控頁面做單獨的授權通路了,現在有一個E16交換機的某個使用者需要做授權通路,這個使用者大家都叫他juzi,是以我們在監控頁面E16檔案夾下建立一個檔案夾,名字為juzi,使用者放置這個使用者交換機端口的流量監控資訊
[root@luwenju ~]# mkdir /usr/local/apache/htdocs/e16/juzi
[root@luwenju ~]# cd /usr/local/apache/htdocs/e16/juzi/
我們該怎麼樣把某個端口的頁面單獨拿出來呢?直接cp出來肯定是扯淡,一個最好的方法是使用軟連接配接。如下圖,我們要把這個端口拿出來做授權
單擊上圖後,我們會在I浏覽器中看到如下資訊。就是XXXXXXX.html。這個html檔案就是這個端口的首頁面,是以我們要對它進行授權通路
這個地方用到了8個檔案,分别是某端口自己的頁面檔案、day.png 、 week.png、 month.png、 year.png、mrtg-1.png、mrtg-r.png、 mrtg-m.png 我們要把這個幾個檔案都軟連接配接到juzi目錄下,如下圖
做完之後我們在浏覽器中通路juzi的目錄,可是伺服器提示要求輸入luwenju的使用者名和密碼,這個使用者名是MRTG全局使用者,是以juzi這個使用者是不能使用的,是以我們要對這個目錄做授權
[root@luwenju htdocs]# /usr/local/apache/bin/htpasswd -c /usr/local/mrtg/passwd/juzipwd juzi //建立使用者juzi 配置檔案juzipwd 放置到/usr/local/mrtg/passwd目錄下
然後我們打開Apache配置檔案,在配置的全局使用者授權通路下面新添加一個,如下圖
在浏覽器中輸入http://x.x.x.x/e16/juzi
這個時候伺服器會提示輸入使用者名和密碼,我們在上面設定的使用者名是juzi 密碼juzi
輸入完回車後會進入
下圖為使用者juzi的流量監控頁面,使用者juzi隻能看到自己的流量監控圖,無權限看到其它端口流量