![]() |
| 使用 Munin 監控網路狀態的系統畫面 |
標題雖有點冗長,其實 Munin 對於大多數的終端使用者而言
就是一個可以透過 Web 介面觀看自己系統狀態的工具
詳細介紹請參考: 官網 Wiki
有關 Munin 的教學,此篇 Tutorial 寫的很好、值得一觀
本文只簡單的介紹部分內容
我們可以透過類似
sudo yum install munin-node 的指令安裝 munin-node 在特定 Server以及在欲蒐集監控內容並且產生報表的 Server 安裝 munin 透過
sudo yum install munin 的指令安裝完成之後,我們需要編輯兩者的 config 檔案:
(如果兩者都安裝在同一台 Server,那麼 config 檔案可以不用修改)
#首先編輯 munin-node.conf sudo vim /etc/munin/munin-node.conf #找到下列這一行,以修改成可查詢者的 IP (預設只允許本機做查詢)(系統若有防火牆,記得修改,預設使用的 port 為 4949) allow ^127\.0\.0\.1$ #執行 munin-node sudo /etc/init.d/munin-node start
#再來編輯 munin.conf
sudo vim /etc/munin/munin.conf
#找到被註解起來的這一行,此資料夾為最後圖形化報表的輸出目錄,可以自訂
# htmldir /var/www/html/munin/
#找到帶有 a simple host tree 的註解,下方會有一個 sample,填入被監控的 node 的資訊
[node_domain_name]
address 127.0.0.1
use_node_name yes
#不用主動執行 munin,他已經被設為 5 分鐘執行一次,如果想要更改頻率可以透過修改以下檔案達成:
sudo vim /etc/cron.d/munin
最後一步,就是將 munin 所生成出來的監控結果放到 Web Server 上面
然後使用瀏覽器觀看監測結果
如果想要直接放到 nginx 上面,可以修改以下 script:
location /SOME_FOLDER_NAME/ {
alias /var/www/html/;
}
如果想要先隨手架一個 light-weight 的 Web Sever 來試試看,Bottle 是我推薦的首選:#save as test.py
from bottle import route, run, static_file
@route('/')
def return_static_file(filename):
return static_file(filename, root='/var/www/html/munin/')
run(host='localhost', port=80, debug=True)
Run Web Server: python test.py請打開 Browser 輸入:
http://your_domain/index.html這樣就可以見到預設的監控首頁了!
備註:
1.
如果出現 404 訊息
可以檢查/var/www/html/munin/內是否已經有 munin 自動生成出的 index.html
還沒生成出來的話,就請等待幾分鐘再看看
2.
監控的結果當然不應該是 Public 開放出來的
因此無論使用哪個 Web Server
都應該啟動基本的身分驗證功能
Munin 所輸出的 HTML 資料夾內包含了 .htaccess 可供某些 Server 設置
而 Bottle 的 HTTP BASIC Authentication 方式可能比較少人知道
所以我附上實作方法:
###關鍵在於使用 auth_basic function, 並且傳入一個用來檢查 username 及 password 的 function### from bottle import route, run, static_file, auth_basic @route(‘/<filename:path>’) @auth_basic(lambda name, pwd: name==“username” and pwd==“password”) def return_static_file(filename): return static_file(filename, root=‘/var/www/html/munin/’) run(host=‘localhost’, port=80)3.
如果 munin-node 與 munin 並非在同一台主機內
那麼兩者之數據傳輸應該啟用 TLS 功能,以確保資訊安全

沒有留言:
張貼留言