munin是用于Linux系統(tǒng)(也可以監(jiān)控windows系統(tǒng))的監(jiān)控軟件。munin除了可以監(jiān)控系統(tǒng)的各項數(shù)值之外,最大的好處是可以自己編寫插件自定義監(jiān)控需要的數(shù)值。整個系統(tǒng)的架構(gòu)簡單明了,操作方便。如果是使用Debian或者Ubuntu安裝,安裝過程也非常簡單。munin除了可以監(jiān)控結(jié)果,也可以設(shè)置報警。對于我個人對性能測試的工作來說,是個非常好的工具。
內(nèi)容
munin整個使用下來,篇幅會有點大,包括展示、自定義插件。這邊分成三個部分來說明。本次只講安裝和配置。
munin master和munin-node的安裝;
web服務(wù)展示結(jié)果和動態(tài)查看結(jié)果;
插件編寫與配置(mysql插件與自定義插件)。
架構(gòu)示意圖

munin的架構(gòu)非常簡單。包含一個服務(wù)端munin和一個客戶端munin-node。munin-node可以部署在多臺機器上面,munin用于定時向一臺或者多臺機器收集監(jiān)控的信息。munin收集到數(shù)據(jù)后會生成靜態(tài)的html文件。為了展示監(jiān)控的結(jié)果,需要一個web服務(wù)器。有了web也可以隨時隨地訪問監(jiān)控結(jié)果。
在服務(wù)器中配置 Munin
要配置服務(wù)器端和客戶端,我們需要完成以下兩步。
安裝 Munin 服務(wù)器軟件包并配置,使得它能從客戶端收集數(shù)據(jù)。
安裝 Munin 客戶端,使得服務(wù)器能連接到客戶端守護進程進行數(shù)據(jù)收集。
在 Linux 上安裝 munin 服務(wù)器端
在基于 Ubuntu/Debian 的機器上安裝 Munin 服務(wù)器:
apt-get install munin apache2
在基于 Redhat/CentOS 的機器上安裝 Munin 服務(wù)器:
在基于 Redhat 的機器上安裝 Munin 之前,你需要確保 啟用 EPEL 軟件倉庫,因為基于 Redhat 的機器的軟件倉庫默認沒有 Munin。
yum install munin httpd
在 Linux 上配置 Munin 服務(wù)器端
下面是我們要在服務(wù)器上啟動 Munini 所進行的步驟:
在 /etc/munin/munin.conf 中添加需要監(jiān)控的主機詳情。
配置 apache web 服務(wù)器使其包括 munin 配置。
為 web 界面創(chuàng)建用戶名和密碼
重啟 apache 服務(wù)器
步驟 1
在 /etc/munin/munin.conf 文件中添加主機條目。調(diào)到文件末尾添加要監(jiān)控的客戶端。在這個例子中,我添加了要監(jiān)控的數(shù)據(jù)庫服務(wù)器和它的 IP 地址。
示例:
[db.linuxnix.com]
address 192.168.1.25
use_node_name yes
保存文件并退出。
步驟 2
在 /etc/apache2/conf.d 目錄中編輯或創(chuàng)建文件 munin.conf 用于包括 Munin 和 Apache 相關(guān)的配置。另外注意一點,默認其它和 web 相關(guān)的 Munin 配置保存在 /var/www/munin 目錄。
vi /etc/apache2/conf.d/munin.conf
內(nèi)容:
Alias /munin /var/www/munin
Directory /var/www/munin>
Order allow,deny
Allow from localhost 127.0.0.0/8 ::1
AllowOverride None
Options ExecCGI FollowSymlinks
AddHandler cgi-script .cgi
DirectoryIndex index.cgi
AuthUserFile /etc/munin/munin.passwd
AuthType basic
AuthName "Munin stats"
require valid-user
IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault M310
/IfModule>
/Directory>
保存文件并退出。
步驟 3
現(xiàn)在為查看 munin 的圖示而創(chuàng)建用戶名和密碼:
htpasswd -c /etc/munin/munin-htpasswd munin
注意:對于 Redhat/Centos 機器,要訪問你的配置文件,需要在每個路徑中用 “httpd” 替換 “apache2”。
步驟 4
重啟 Apache 服務(wù)器,使得 Munin 配置生效。
基于 Ubuntu/Debian :
service apache2 restart
基于 Centos/Redhat :
service httpd restart
在 Linux 上安裝和配置 Munin 客戶端
步驟 1
在 Linux 上安裝 Munin 客戶端
apt-get install munin-node
注意:如果你想監(jiān)控你的 Munin 服務(wù)器端,你也需要在服務(wù)器端安裝 munin-node。
步驟 2
編輯 munin-node.conf 文件配置客戶端。
vi /etc/munin/munin-node.conf
示例:
allow ^127\.0\.0\.1$
allow ^10\.10\.20\.20$
# 監(jiān)聽到哪個地址上
host *
# 以及哪個端口
port 4949
注意: 10.10.20.20 是我的 Munin 服務(wù)器,它連接到客戶端的 4949 端口獲取數(shù)據(jù)。
步驟 3
在客戶端機器中重啟 munin-node:
service munin-node restart
測試連接
檢查你是否能從服務(wù)器的連接到客戶端的 4949 端口,如果不行,你需要在客戶端機器中的防火墻打開該端口。
telnet db.linuxnix.com 4949
訪問 Munin web 頁面
http://munin.linuxnix.com/munin/index.html
希望這些能對你配置基本的 Munin 服務(wù)器有所幫助。
