mrtg 一直是網管一個很好用的監測工具,陪伴的網管渡過無數個夜晚... :tongue:
首先要先確認,本機的SNMP協定與服務都存在
如果沒有安裝的話,就用yum線上裝一裝囉,快又方便! (剛剛查了一下,原來yum這個字是好吃!的意思...還真好玩 :)) )
接下來,先來檢查看看 snmp 的設定檔 /etc/snmp/snmpd.cfg 正不正確
有幾個重要的地方要看
sec.name 就是 security name 的意思,source 則是指資料的來源,community 則可以把他解釋成是一個共同的群體,也就是說,只有雙方 (資料來源端、資料處理端)處於同一個群體才能夠溝通,不然就無法溝通啦! =;
192.168.1.0/24 這個網段可以改成你所屬的網段,這樣你就可以監控這個網段的所有電腦囉,不過前提是被你監控的電腦需要有 SNMP 服務,不然你跟他要資料,他也不知道你要幹嗎...:-j
上面這一段,我也不知道是要幹嗎的,反正檢查看看,不對的就照著改囉... cfgmaker --global 'WorkDir: /var/www/mrtg' \
--global 'Options[_]: bits,growright' \
--global 'Language: big5' \
--output /etc/mrtg/mrtg.cfg \
public@your.machine.name
這邊要注意一點,當 mrtg 安裝完畢後,可能會自動新增一個 apache 的設定在 /etc/httpd/conf.d/mrtg.conf 中,不知道或者是忘記有這件事的人,可能會在 httpd.conf 搞了老半天,然後 mrtg 還是出不來 (我就是被他搞的人... :(( )
如果指令執行沒有錯誤的話,那就會產生出 /etc/mrtg/mrtg.cfg 檔案,然後連續執行底下的指令三次:
別問我為何是三次!我也不知道,大家都這麼說,哈哈...
如果有看到提示訊息跟你說 mrtg 不支援 UTF-8 的話,那就把指令改成:
這樣就 OK 囉...
接下來就是產生主要的 mrtg 首頁出來囉,也是透過方便的 mrtg 指令來完成就可以了:
然後開啟瀏覽器,看看你的 mrtg 是不是起來了呢?
喔,對了,要記得在 crontab 中新增一筆記錄,設定每五分鐘就自動執行一次 mrtg ,這樣資料才會每五分鐘更新一次唷!
如果有 UTF-8 的問題,一樣可以加上 env LANG=C 在 mrtg 指令之前
好啦,接下來先來測試本機的 snmp 服務有沒有起來:
如果有傳回一大堆東西的話,那就代表成功啦!
再來就是設定你要監測的設備囉,詳細的設定可以上 mrtg 的網站看看,文件都寫得很詳細,底下先列出一個範例,這是一個監測本機網路流量的範例:
大致上,一筆 mrtg 記錄 大概就長這個樣子,這個時候,耐心的等上 5 分鐘,等 crontab 跑完後,就會在你所設定的 HtmlDir 中產生出一個檔案名稱開頭為你所設定的裝置名稱的 html 檔案,開啟你的瀏覽器去看看吧,再過個 5 分鐘,就會發現圖片有變化囉,這樣就代表你的 mrtg 成功的 work 囉!
對了,原本我們利用 indexmaker 指令做出來的 index.html ,其實我們可以去修改這個檔案的內容,幫我們新增的裝置加入連結,或者是可以再執行一次 indexmaker 指令,這樣 mrtg 會自動讀取 mrtg.cfg 中的設定產生出每個裝置的連結,很方便的。
目前想到的就這些,日後有什麼補充的再加上來吧!
mrtg, snmp, linux
首先要先確認,本機的SNMP協定與服務都存在
# rpm -qa | grep snmp
net-snmp-utils-5.1.2-11
net-snmp-libs-5.1.2-11
net-snmp-5.1.2-11
# service snmpd status
snmpd (pid 13737) is running...
如果沒有安裝的話,就用yum線上裝一裝囉,快又方便! (剛剛查了一下,原來yum這個字是好吃!的意思...還真好玩 :)) )
接下來,先來檢查看看 snmp 的設定檔 /etc/snmp/snmpd.cfg 正不正確
有幾個重要的地方要看
# sec.name source community
com2sec local localhost public
com2sec local 192.168.1.0/24 public
sec.name 就是 security name 的意思,source 則是指資料的來源,community 則可以把他解釋成是一個共同的群體,也就是說,只有雙方 (資料來源端、資料處理端)處於同一個群體才能夠溝通,不然就無法溝通啦! =;
192.168.1.0/24 這個網段可以改成你所屬的網段,這樣你就可以監控這個網段的所有電腦囉,不過前提是被你監控的電腦需要有 SNMP 服務,不然你跟他要資料,他也不知道你要幹嗎...:-j
# sec.model sec.name
group local v1 local
group local v2c local
group local usm local
view all included .1
access local "" any noauth exact all none none
上面這一段,我也不知道是要幹嗎的,反正檢查看看,不對的就照著改囉... cfgmaker --global 'WorkDir: /var/www/mrtg' \
--global 'Options[_]: bits,growright' \
--global 'Language: big5' \
--output /etc/mrtg/mrtg.cfg \
public@your.machine.name
這邊要注意一點,當 mrtg 安裝完畢後,可能會自動新增一個 apache 的設定在 /etc/httpd/conf.d/mrtg.conf 中,不知道或者是忘記有這件事的人,可能會在 httpd.conf 搞了老半天,然後 mrtg 還是出不來 (我就是被他搞的人... :(( )
如果指令執行沒有錯誤的話,那就會產生出 /etc/mrtg/mrtg.cfg 檔案,然後連續執行底下的指令三次:
mrtg /etc/mrtg/mrtg.cfg
別問我為何是三次!我也不知道,大家都這麼說,哈哈...
如果有看到提示訊息跟你說 mrtg 不支援 UTF-8 的話,那就把指令改成:
env LANG=C mrtg /etc/mrtg/mrtg.cfg
這樣就 OK 囉...
接下來就是產生主要的 mrtg 首頁出來囉,也是透過方便的 mrtg 指令來完成就可以了:
indexmaker --columns=1 \
--output=/your/mrtg/html/path/index.html \
--title='Traffic Information' \
/etc/mrtg/mrtg.cfg
然後開啟瀏覽器,看看你的 mrtg 是不是起來了呢?
喔,對了,要記得在 crontab 中新增一筆記錄,設定每五分鐘就自動執行一次 mrtg ,這樣資料才會每五分鐘更新一次唷!
# vi /etc/crontab
*/5 * * * * root mrtg /etc/mrtg/mrtg.cfg > /dev/null 2>&1
如果有 UTF-8 的問題,一樣可以加上 env LANG=C 在 mrtg 指令之前
好啦,接下來先來測試本機的 snmp 服務有沒有起來:
cfgmaker public@localhost
如果有傳回一大堆東西的話,那就代表成功啦!
再來就是設定你要監測的設備囉,詳細的設定可以上 mrtg 的網站看看,文件都寫得很詳細,底下先列出一個範例,這是一個監測本機網路流量的範例:
XSize[device-name]: 300
Target[device-name]: !AA-BB-CC-DD-EE-FF:public@localhost:
MaxBytes[device-name]: 12500000
Title[device-name]: Network Interface Traffic for Localhost
PageTop[device-name]: Network Interface Traffic for Localhost
ShortLegend[device-name]: Bits/Sec
- XSize[裝置名稱]: 300 代表的是圖片的寬度大小,範圍可以從20到600,還有一個YSize的屬性,不過通常這個屬性都不寫,直接採用預設值。
- Target[裝置名稱]:!AA-BB-CC-DD-EE-FF:public@localhost: 當然指的就是要抓取資料的目標了,抓取資料的方式有很多種,這個可能需要參考文件好好研究才行...另外還有一種比較常用的方式就是利用 ` 符號來執行外部程式,反正只要傳回兩個數值給 mrtg 做圖就可以了。
- MaxBytes[裝置名稱]:12500000 這裡設定最大的數值是要來跟 mrtg 傳回來的值做個比對的,這樣 mrtg 才知道圖示該做多大的比例調整,範例中 12500000表示的是 100 MB 的 Ethernet 網路頻寬。
- Title[裝置名稱]:Network Interface Traffic for Localhost 當然就是表示這張圖的標題囉。
- PageTop[裝置名稱]: 描述頁面上方該出現什麼東西,這裡通常都是寫些針對這張圖表的註解之類的。
- ShortLegend[裝置名稱]: Bits/Sec 這裡是用來描述圖表中的單位表示。
大致上,一筆 mrtg 記錄 大概就長這個樣子,這個時候,耐心的等上 5 分鐘,等 crontab 跑完後,就會在你所設定的 HtmlDir 中產生出一個檔案名稱開頭為你所設定的裝置名稱的 html 檔案,開啟你的瀏覽器去看看吧,再過個 5 分鐘,就會發現圖片有變化囉,這樣就代表你的 mrtg 成功的 work 囉!
對了,原本我們利用 indexmaker 指令做出來的 index.html ,其實我們可以去修改這個檔案的內容,幫我們新增的裝置加入連結,或者是可以再執行一次 indexmaker 指令,這樣 mrtg 會自動讀取 mrtg.cfg 中的設定產生出每個裝置的連結,很方便的。
目前想到的就這些,日後有什麼補充的再加上來吧!
mrtg, snmp, linux
文章標籤
全站熱搜
