Raspberry Pi 的實作 - 系統資源監控 MRTG 篇

by 5/25/2014 0 意見

老牌的 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 的資料。

參考資料


更新紀錄

  • 2014/05/24 撰文。
  • 2015/01/21 修改部份內容。
  • 2015/01/22 調整執行順序,加入安裝畫面。

Heracles Jam,江湖人稱「海公公」

IT 技術家 - 創站部落客

一個常用 Windows、慣用 macOS、愛用 Linux 的 3C 阿宅
現職 MIS / 業界講師 / 資訊顧問 / 部落客

0 意見 :

張貼留言