[Linux實用工具]Linux監控工具munin的安裝和配置


〇、摘要

munin是用於Linux系統(也可以監控windows系統)的監控軟件。munin除了可以監控系統的各項數值之外,最大的好處是可以自己編寫插件自定義監控需要的數值。整個系統的架構簡單明了,操作方便。如果是使用Debian或者Ubuntu安裝,安裝過程也非常簡單。munin除了可以監控結果,也可以設置報警。對於我個人對性能測試的工作來說,是個非常好的工具。

1. 內容

munin整個使用下來,篇幅會有點大,包括展示、自定義插件。這邊分成三個部分來說明。本次只講安裝和配置。

    • munin mastermunin-node的安裝;
    • web服務展示結果和動態查看結果;
    • 插件編寫與配置(mysql插件與自定義插件)。

2. 架構示意圖

munin的架構非常簡單。包含一個服務端munin和一個客戶端munin-nodemunin-node可以部署在多台機器上面,munin用於定時向一台或者多台機器收集監控的信息。munin收集到數據后會生成靜態的html文件。為了展示監控的結果,需要一個web服務器。有了web也可以隨時隨地訪問監控結果。

 

一、Ubuntu/Debian 下安裝

Ubuntu/Debian下安裝非常簡單。使用apt-get就可以直接安裝好了。安裝完了之后,MuninMunin-node會順便啟動的。

1. Munin node(客戶端)

# apt-get install munin-node

2. Munin master(服務端)

# apt-get install munin

 

二、Redhat下安裝

在紅帽下安裝就略顯麻煩了。首先要把rpm的軟件包下載下來。但是除了MuninMunin-node的軟件包,另外還涉及到perl的一些庫。

另外,Redhat下安裝,不同版本的系統包,使用的軟件包還不一樣。我們使用的是RHEL5版本的,所以下面例子以RHEL5為准(官方給的資料在RHEL5下安裝與RHEL4下安裝的過程是一樣的。只是每個可能軟件包根據系統而不一樣而已。這個直接替換掉最后的rpm為最新的版本號就好了)。

 

1. Munin node(客戶端)

下載程序包:

Munin-node包:
# wget http://dl.fedoraproject.org/pub/epel/5/i386/munin-node-2.0.20-1.el5.noarch.rpm

下載依賴包:
# wget ftp://195.220.108.108/linux/centos/5.10/os/x86_64/CentOS/sysstat-7.0.2-12.el5.x86_64.rpm
# wget http://dag.wieers.com/rpm/packages/perl-Net-SNMP/perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm
# wget http://dag.wieers.com/rpm/packages/perl-Crypt-DES/perl-Crypt-DES-2.05-3.2.el5.rf.i386.rpm perl-Net-SNMP依賴此包)
# wget http://pkgs.repoforge.org/perl-Socket6/perl-Socket6-0.23-1.el5.rfx.x86_64.rpm perl-Net-SNMP依賴此包)
# wget http://pkgs.repoforge.org/perl-Net-Server/perl-Net-Server-0.99-1.el5.rf.noarch.rpm

可以使用以下順序安裝:
# rpm -Uvh sysstat-7.0.2-12.el5.x86_64.rpm
# rpm -Uvh perl-Net-Server-0.99-1.el5.rf.noarch.rpm
# rpm -Uvh perl-Socket6-0.23-1.el5.rfx.x86_64.rpm
# rpm -Uvh perl-Crypt-DES-2.05-3.2.el5.rf.i386.rpm
# rpm -Uvh perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm
# rpm -Uvh munin-node-1.2.5-1rhel4.noarch.rpm(最后安裝Munin node

即:
1:sysstat
2:perl-Socket6
3:perl-Crypt-DES
4:perl-Net-SNMP
5:perl-Net-Server
6:munin-node

如果遇到簽名驗證不通過的問題,可以加上[--force --nodeps] 參數強制安裝:
# rpm -Uvh perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpm --force --nodeps

 

 以上順利的話,munin-node就安裝好了。安裝完畢后,系統會自動啟動munin-node

 

2. Munin master(服務端)

下載Munin包:

# wget http://dl.fedoraproject.org/pub/epel/5/i386/munin-2.0.20-1.el5.noarch.rpm

 

下載依賴包:

# wget http://dag.wieers.com/rpm/packages/perl-HTML-Template/perl-HTML-Template-2.8-1.2.el5.rf.noarch.rpm

# wget http://pkgs.repoforge.org/rrdtool/perl-rrdtool-1.4.7-1.el6.rfx.x86_64.rpm

# wget http://pkgs.repoforge.org/rrdtool/tcl-rrdtool-1.4.7-1.el5.rf.x86_64.rpm

# wget http://dag.wieers.com/rpm/packages/perl-Net-SNMP/perl-Net-SNMP-5.2.0-1.2.el5.rf.noarch.rpmmunin node也用到)

# wget http://dag.wieers.com/rpm/packages/perl-Net-Server/perl-Net-Server-0.99-1.el5.rf.noarch.rpmmunin node也用到)

 

安裝順序:

1:perl-HTML-Template

2:rrdtool

3:perl-rrdtool

4:perl-Net-SNMP

5:perl-Net-Server

 6:munin

 

以上,munin的客戶端和服務端都安裝好了。如果安裝期間遇到版本不對的地方,請根據自己的系統版本,自行替換為相應的依賴包。

 

三、配置和啟動

無論是Debian下安裝,還是RedHat下安裝,munin-nodemunin master(即munin)都默認安裝在路徑/etc/munin下。配置文件與插件都是在這里配置的。

 

1. munin-node.conf(客戶端配置)

1.1 配置文件

munin-node.conf是客戶端(即munin-node)的配置文件。這邊的配置比較簡單,只需要配置服務器的IP地址就可以了。在allow新增一個服務器的IP配置。默認是配置了本機了,如果你的munin-nodemunin master是在同一台機器上面,默認就可以了。這個配置是用來限制那些IP可以訪問的。

allow ^127\.0\.0\.1$
allow ^::1$
allow ^192\.168\.1\.2$

另外還可以修改端口、綁定IP地址等。都比較簡單,就不多說了。

 

1.2 啟動、停止和重啟

啟動程序是/etc/init.d/下的munin-node可執行文件。也可以直接以服務的形式啟動。

# service munin-node start        #啟動
# service munin-node stop        #停止
# service munin-node restart     #重啟

 

1.3 測試

直接telnet就可以。端口默認是配置為4949的,那么telnet連接,輸入help可以查看監控命令。

$ telnet 127.0.0.1 4949
Trying 127.0.0.1...
Connected to 127.0.0.1.
Escape character is '^]'.
# munin node at machinename
help
# Unknown command. Try cap, list, nodes, config, fetch, version or quit

 

2. munin.conf

2.1 配置

munin.conf是服務端(即munin master)的配置文件。

首先去掉一下路徑配置的注釋。除了tmpldir,其它可自行配置。但是tmpldir要配置到muninHTML模板上,默認是在/etc/munin/templates 下。基本上都有說明,還是比較容易看得懂的。

dbdir   /var/lib/munin
htmldir /var/cache/munin/www
logdir /var/log/munin
rundir  /var/run/munin

tmpldir /etc/munin/templates

 

然后找到localhost.localdomain節點。這個是用於配置需要監控的目標機器的。默認會配置本機127.0.0.1。根據需要,可新增需要監控的機器。可以增加多台機器,只要目標機器安裝了munin-node就可以。如:

# a simple host tree
[local.127-0-0-1]
    address 127.0.0.1
    use_node_name yes

[mytest.192-168-1-3]
    address 192.168.1.3
    use_node_name yes

[mysql.192-168-1-4]
    address 192.168.1.4
    use_node_name yes

 

2.2 啟動

munin master安裝成功后。會給系統增加一個munin用戶。啟動服務端(munin master)是無法用root權限啟動的,只能使用munin用戶啟動。當然安裝的時候,會默認自己啟動的。並且會每隔5分鍾,會定時執行munin-cron定時任務。基本上,修改完配置表后可以完全不用理會,等待服務端自己去更新即可。

 

當然如果你一定要馬上更新,可以切換到munin用戶,執行munin-cron命令。

# su munin -c /etc/init.d/munin-cron

執行無報錯的話,是沒有打印信息的。

 

測試

munin.conf 配置文件里面指定了生成的監控的html監控結果“htmldir /var/cache/munin/www”。只需要配置一個web服務器,可訪問到目標路徑“/var/cache/munin/www”即可。可以使用nginxapacheresin等主流web服務器。html都是靜態文件,所以任何web服務器都是可以的。

訪問web服務器,就可以查看結果了。

 

四、參考資料

官方安裝說明:http://munin-monitoring.org/wiki/MuninInstallationLinux

 

近期研究獨立博客,逐漸會與獨立博客同步:

 原文地址:《munin的安裝和配置  http://pertest.sinaapp.com/?page_id=16


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM