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 進行覆蓋。
如果之後有發現更好的方法,日後會再提供嚕。