老牌的 MRTG (Multi Router Traffic Grapher) 應該是世界上最常見的資源監控套件,官方網站在 http://oss.oetiker.ch/mrtg/,一開始設計出來是用於網路流量的監控,只是後來慢慢的延伸出其他系統資源的監控功能。
最後更新日期 - 2015/01/21
事前準備
- Raspberry Pi Type B / B+,Type A / A+ 只能在本機瀏覽資料,除非自行安裝一張網路卡。
- Raspbian 作業系統。
- 瀏覽 MRTG 資料必須透過 Web Service 來顯示,Apache、Nginx、Lighttpd 均可,Nginx 的部份請參閱 Raspberry Pi 的實作 - 用 Nginx 架設網頁伺服器。
開始安裝
- 直接從 Raspbain 套件庫安裝即可。
sudo apt-get -y install mrtg snmp snmpd
安裝過程中,會跳出提示畫面。
如果 MRTG 設定檔裡讓一般使用者可以讀取的話,可能會洩漏 SNMP 的資料,導致有資安風險,所以建議我們將設定檔設定成 YES,只有 root 能讀取 /etc/mrtg.cfg,不過如果我們要用到 RRD Tool 來畫圖的話,請設定成 NO。
- 若要安裝最新的版本,請到 MRTG 官網下載,目前版本是 2.17.4。
wget http://oss.oetiker.ch/mrtg/pub/mrtg-2.17.4.tar.gz
解壓縮後,開始編譯及安裝。
tar zxvf mrtg-2.17.4.tar.gz
cd mrtg-2.17.4
./configure --prefix=/usr/local/mrtg
make clean && make && sudo make install
設定 SNMP Daemon
編輯 SNMP Daemon 的設定檔。
sudo vi /etc/snmp/snmpd.conf
找到 #rocommunity public localhost,把開頭的「#」註解符號刪除。
啟動 snmpd 服務。
sudo service snmpd restart
設定 MRTG
我們必須先安裝好 Web Service,這邊的步驟是用 Nginx 實作,請參閱 Raspberry Pi 的實作 - 用 Nginx 架設網頁伺服器。
產生一個新的 MRTG 設定檔,關於設定值的說明,請參閱 MRTG 官網說明文件。
sudo cfgmaker --output /etc/mrtg.cfg public@localhost
修改一下 WorkDir,從 /var/www/mrtg 改成 /usr/share/nginx/www/mrtg。
建立網頁目錄
sudo mkdir /usr/share/nginx/www/mrtg
產生 MRTG 的首頁
sudo indexmaker --output=/usr/share/nginx/www/mrtg/index.html /etc/mrtg.cfg
產生 MRTG 資料,至少執行三次。
sudo env LANG=C mrtg /etc/mrtg.cfg
編輯 cron 系統排程設定檔
sudo vi /etc/crontab
新增下列內容,指定每 5 分鐘就重新產生一次流量資料。
*/5 * * * * root env LANG=C mrtg /etc/mrtg.cfg
檢視系統狀況
因為統計資料不會馬上出現,請等待 5 至 10 分鐘後,打開瀏覽器,輸入 Raspberry Pi 的 IP 或主機名稱到位址列即可。
http://w.x.y.z/mrtg/
異常排除
- 執行 indexmaker 時,出現錯誤訊息:「mrtg ERROR: did not find any matching data in cfg file」。
這是因為 mrtg.cfg 設定檔的設定值不對,讀取權限不足,找不到檔案,撈不到 SNMP 的資料。
參考資料
- MRTG:The MRTG 2.17.4 Linux/Unix Installation Guide
- Mike's joumal - MyRaspberry Pi Projects
- 鳥哥的 linux 私房菜 - 偵測 Linux 上面的流量
更新紀錄
- 2014/05/24 撰文。
- 2015/01/21 修改部份內容。
- 2015/01/22 調整執行順序,加入安裝畫面。
0 意見 :
張貼留言