CentOS 5 上的 MRTG 快速入門
這個說明會幫助你在 CentOS 5 上開始使用 CentOS 5。它絕對不是一份完整的參考文件。完整的參考文件可以在 Tobi Oetiker 的網站上取得。
安裝
安裝 MRTG
yum -y install mrtg
選擇性地安裝 snmpwalk 及 snmpget
yum -y install net-snmp-utils
MIB 及 OID
在繼續前進之先,你須要從你的設備取得一些資訊。你可能要為你的設備找尋 MIB,或者花點時間研究所需用的 OID。snmpget 及 snmpwalk 這兩個指令亦能提供協助。
設定檔
MRTG 套件會建立一個簡單的設定檔、crontab 檔、及 Apache 設定檔。
/etc/mrtg/mrtg.cfg /etc/cron.d/mrtg /etc/httpd/conf.d/mrtg.conf
/etc/mrtg/mrtg.cfg —— 初階範例
一旦你取得 OID 資訊,你可以開始編輯你的 mrtg.cfg 檔案。你只需移除註釋,然後修改它們指向你要監視的設備。預設的檔案內含有一個範例的主機作為參考。
HtmlDir: /var/www/mrtg ImageDir: /var/www/mrtg LogDir: /var/lib/mrtg ThreshDir: /var/lib/mrtg #Target[r1]: 2:public@myrouter.somplace.edu #MaxBytes[r1]: 1250000 #Title[r1]: Traffic Analysis #PageTop[r1]: <H1>Stats for our Ethernet</H1>
/etc/mrtg/mrtg.cfg —— 進階範例
這個進階的 mrtg.cfg 範例由一個運行著 DD-WRT 的 Linksys 路由器收集連接埠的吞吐量。在這個範例中,maxbytes 欄已透過下劃線變成為一個全域設定。此外,這裡亦定義了額外的全域選項,令圖表靠右形成,並顯示位元而不是位元組。每個連接埠已被設置為一個獨立的目標。輸入及輸出的 OID 的格式是﹕符號名稱、社區字串、及管理的 IP 位址。
HtmlDir: /var/www/mrtg ImageDir: /var/www/mrtg LogDir: /var/lib/mrtg ThreshDir: /var/lib/mrtg MaxBytes[_]: 1250000 Options[_]: growright, bits Target[Linksys_Port_1]: ifInOctets.1&ifOutOctets.1:public@192.168.0.9 Title[Linksys_Port_1]: Linksys Port 1 Throughput PageTop[Linksys_Port_1]: <H1>Linksys Port 1 Throughput</H1> Target[Linksys_Port_2]: ifInOctets.2&ifOutOctets.2:public@192.168.0.9 Title[Linksys_Port_2]: Linksys Port 2 Throughput PageTop[Linksys_Port_2]: <H1>Linksys Port 2 Throughput</H1> Target[Linksys_Port_3]: ifInOctets.3&ifOutOctets.3:public@192.168.0.9 Title[Linksys_Port_3]: Linksys Port 3 Throughput PageTop[Linksys_Port_3]: <H1>Linksys Port 3 Throughput</H1> Target[Linksys_Port_4]: ifInOctets.4&ifOutOctets.4:public@192.168.0.9 Title[Linksys_Port_4]: Linksys Port 4 Throughput PageTop[Linksys_Port_4]: <H1>Linksys Port 4 Throughput</H1> Target[Linksys_Port_5]: ifInOctets.5&ifOutOctets.5:public@192.168.0.9 Title[Linksys_Port_5]: Linksys Port 5 Throughput PageTop[Linksys_Port_5]: <H1>Linksys Port 5 Throughput</H1> Target[Linksys_Port_6]: ifInOctets.6&ifOutOctets.6:public@192.168.0.9 Title[Linksys_Port_6]: Linksys Port 6 Throughput PageTop[Linksys_Port_6]: <H1>Linksys Port 6 Throughput</H1> Target[Linksys_Port_7]: ifInOctets.7&ifOutOctets.7:public@192.168.0.9 Title[Linksys_Port_7]: Linksys Port 7 Throughput PageTop[Linksys_Port_7]: <H1>Linksys Port 7 Throughput</H1>
/etc/mrtf/mrtg.cfg - 使用 cfgmaker
你亦可以讓 MRTG 自動為你建立一個設定檔。
cfgmaker public@192.168.0.9 > /etc/mrtg/mrtg.conf
/etc/cron.d/mrtg
當你儲存設定檔後,MRTG 會開始建立 rrdtool 日誌檔及基本的網頁。如果你已急不及待,或者想除錯,你可以執行 poller 指令。
export LANG=C export LC_ALL=C /usr/bin/mrtg /etc/mrtg/mrtg.cfg --lock-file /var/lock/mrtg/mrtg_l --confcache-file /var/lib/mrtg/mrtg.ok
/etc/httpd/conf.d/mrtg.conf - Apache 設定
過了數分鐘後,你可以用你喜歡的瀏覽器來開啟你的網站: http://www.example.com/mrtg/linksys_port_1.html
MRTG 在 Apache 的設定裡只預設了 localhost 可以檢視這個 URL。如果你需要在另一台機器上存取這個 URL,你只需修改 MRTG 的 Apache 設定檔及重新啟動 Apache。這個範例只包含 Alias 的定義。
/etc/httpd/conf.d/mrtg.conf
Alias /mrtg /var/www/mrtg #<Location /mrtg> # Order deny,allow # Deny from all # Allow from 127.0.0.1 # Allow from ::1 # # Allow from .example.com #</Location>
請在修改後重新啟動 Apache。
service httpd restart
建立索引頁
index.html 並不存在。你可以用 indexmaker 來建立它。你可以將這個指令加到 crontab 內,或者在每次修改 mrtg.cfg 後執行它。
indexmaker --output=/var/www/mrtg/index.html /etc/mrtg/mrtg.cfg
現在你應該可以用你喜歡的瀏覽器打開 http://www.example.com/mrtg 來檢視圖表。
連結
Translation of revision 9
