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

zh-tw/TipsAndTricks/MRTG (last edited 2009-12-11 06:42:34 by TimothyLee)