2015年7月3日 星期五

monitorix圖形化監控軟體 - 修改圖像顯示從1天(1day)至1小時(1hour)

monitorix 是採用 rrdtool 圖像顯示模組來產生報表。
如果套用的模組是經過壓密後,或非文字模式顯示,那麼要修改其資料結構或是資料庫是有困難的。
但 monitorix 有一個很奇妙的地方。預設的顯示是1day, 1month, 1year,也就是
使用者能選擇要顯示的報表模式可以是 1天,1個月,1年為基準。但是往往我們在看 performance效能圖,都需要看到 每1秒、每1分鐘、每1小時,那要怎麼改?

monitorix 目前只支援到 1hour,而且需要為 v2.4.1 版本後才能支援。

接著,如果你有注意看monitorix網址的內容,你會發現已下內容
http://IP地址/monitorix-cgi/monitorix.cgi?mode=localhost&graph=all&when=1day&color=black

沒錯,如果要用hour的方式顯示,此時不是改成 when=1hour 喔,是改成 when=hour
http://IP地址/monitorix-cgi/monitorix.cgi?mode=localhost&graph=all&when=hour&color=black

那麼就會得到以下內容,看到沒?單位變成 hour 顯示了。
那可不可以修改首頁內容,方便直接選 hour 的選項?

答案是:可以,但是有限制
為何可以但是又有限制?因為當 monitorix 重啟後,或是系統重新開機,你會發現 index.html 被重新覆蓋掉了

那如何修改 index.html?
修改:
vi /var/lib/monitorix/www/index.html

找到 input type="radio" checked 這字串,複製 <td></td>內的整串內容。
把 value="xxx" 換成 value="hour"
如果要讓預設就直接選取到,請加入 checked 在 name="when"之前。checked請不要重複在1day, 1week, 1year的input內,切記!
示範圖,如下:
修改完成後,重新讀取網頁就會看到 Hourly 的選項了。
點擊OK就可以看到,監控變成每小時顯示模式。



再來,驗證 index.html 是否會因為重啟而回歸原始設定內容。(如果有修改,請先備份 index.html 吧!)

service monitorix restart

再次reload網頁,發現真的會被回歸設定。

其實,也有應對方法。可以透過 crontab 進行每日排程比對檔案大小 ( du )。
只要檔案大小不對,就 cp 之前修改的檔案至 /var/lib/monitorix/www/index.html 進行覆蓋。
如果之後有發現更好的方法,日後會再提供嚕。

沒有留言:

張貼留言