背景介绍:
监控LINUX主机的性能是一个很复杂的操作,它有赖于命令行工具和集中数据。分析可能会很困 难,需要大量的数据来建立相互关系从而得出结论。好在我们可以用一些现有工具来搭建这个过程的模型,让数据分析变得相对容易一些。接下来我们能看到其中的 一个工具,它叫做Munin(代表记忆,是奥丁神的一只乌鸦的名字)。
Munin是通过客户端-服务器架构收集数据并将其图形化的工具。Munin允许你跟踪你的主机的运行记录,就是所谓的‘节点’,然后将它们发送到中央服务器,随后你就能在这里以图像形式展示它们。
前置条件:
服务器系统 : RHEL4
开始安装 :
munin的安装分为三个部分分别是:
- master 服务器
- node 被监控节点
- plugins 插件
1.我们首先在服务器上安装munin-node :
首先我们从网上下载munin-node的安装包:
- wget http://packages.sw.be/munin/munin-node-1.2.5-2.el5.rf.noarch.rpm
然后运行:
- rpm -Uvh munin-node-1.2.5-2.el4.rf.noarch.rpm
你应该得到以下信息:
- #error: Failed dependencies:
- perl(Net::SNMP) is needed by munin-node-1.2.5-1rhel4.noarch
- perl(Net::Server::Fork) is needed by munin-node-1.2.5-1rhel4.noarch
- perl-Net-Server is needed by munin-node-1.2.5-1rhel4.noarch
- sysstat is needed by munin-node-1.2.5-1rhel4.noarch
- Suggested resolutions:
- sysstat-5.0.5-7.rhel4.i386.rpm
意思是:munin-node依赖于
- perl(Net::SNMP)
- perl(Net::Server::Fork)
- perl-Net-Server
- sysstat
这些包我们可以通过以下的方式获取
- # wget http://dag.wieers.com/rpm/packages/perl-Net-SNMP/perl-Net-SNMP-5.2.0-1.2.el4.rf.noarch.rpm
- # wget http://dag.wieers.com/rpm/packages/perl-Crypt-DES/perl-Crypt-DES-2.05-3.2.el4.rf.i386.rpm
- # wget http://dag.wieers.com/rpm/packages/perl-Socket6/perl-Socket6-0.19-1.2.el4.rf.i386.rpm
- # wget http://dag.wieers.com/rpm/packages/perl-Net-Server/perl-Net-Server-0.94-1.el4.rf.noarch.rpm
ok,我们还缺一个sysstat,这个包我们可以从系统安装盘的disk 4中找到(NND,为了这个100+k的玩意,我下载了500+M的disk 4)
好了,我们现在需要的东西都已经齐了,开始安装吧,加入我们的安装文件都存在于目录:
- /home/usr/munin/node
进入目录,开始安装:
- #cd /home/user/munin/node
- #rpm -Uvh *rpm
- Preparing... ########################################### [100%]
- 1:sysstat ########################################### [100%]
- 2:perl-Net-Server ########################################### [ 20%]
- 3:perl-Socket6 ########################################### [ 40%]
- 4:perl-Crypt-DES ########################################### [ 60%]
- 5:perl-Net-SNMP ########################################### [ 80%]
- 6:munin-node ########################################### [100%]
现在munin-node就已经安装完了,如果你只是想让这个服务器作为一个node的话,那么你不需要安装master了,但是你需要配置一下/etc/munin/munin.conf,让他能够接受master服务器的链接。
2.现在开始安装munin master
我们进入目录:
- cd /home/user/munin/master
使用下面的命令获取master的安装包:
- wget http://packages.sw.be/munin/munin-1.2.5-1.el4.rf.noarch.rpm
然后:
- rpm -Uvh munin-1.2.5-1.el4.rf.noarch.rpm
很有可能,你会看到如下提示:
- # rpm -Uvh munin-1.2.5-1rhel4.noarch.rpm
- error: Failed dependencies:
- perl(HTML::Template) is needed by munin-1.2.5-1rhel4.noarch
- perl(RRDs) is needed by munin-1.2.5-1rhel4.noarch
- perl-HTML-Template is needed by munin-1.2.5-1rhel4.noarch
- perl-Net-SNMP is needed by munin-1.2.5-1rhel4.noarch
- perl-Net-Server is needed by munin-1.2.5-1rhel4.noarch
- rrdtool is needed by munin-1.2.5-1rhel4.noarch
很明显,它告诉我们要安装munin master,你需要如下包:
- perl(HTML::Template)
- perl(RRDs)
- perl-HTML-Template
- perl-Net-SNMP
- perl-Net-Server
- rrdtool
我们可以很方便的使用wget获取所需要的包:
- # wget http://dag.wieers.com/rpm/packages/perl-HTML-Template/perl-HTML-Template-2.8-1.2.el4.rf.noarch.rpm
- # wget http://dag.wieers.com/rpm/packages/rrdtool/perl-rrdtool-1.2.18-1.el4.rf.i386.rpm
- # wget http://dag.wieers.com/rpm/packages/rrdtool/rrdtool-1.2.18-1.el4.rf.i386.rpm
- # wget http://dag.wieers.com/rpm/packages/perl-Net-SNMP/perl-Net-SNMP-5.2.0-1.2.el4.rf.noarch.rpm
- # wget http://dag.wieers.com/rpm/packages/perl-Net-Server/perl-Net-Server-0.94-1.el4.rf.noarch.rpm
好了,现在我们可以开始安装他们了:
- rpm -Uvh *
- Preparing... ########################################### [100%]
- 1:perl-HTML-Template ########################################### [ 25%]
- 2:rrdtool ########################################### [ 50%]
- 3:perl-rrdtool ########################################### [ 75%]
- 4:perl-Net-SNMP ########################################### [ 75%]
- 5:perl-Net-Server ########################################### [100%]
- 6:munin ########################################### [100%]
很简单,munin至此已经安装完成了 ,配置文件:/etc/munin/munin.conf。
启动munin
在运行前我们还有一步工作要做,那就是更改/var/www/munin目录的权限
- chown munin.munin -R /var/www/munin
- sudo /etc/init.d/munin-node start
现在munin就已经在工作了,你可以在 /var/www/munin下边看到它生成html内容,当然这样看很不方便,我们可以利用apache来看这些内容,现在我们配置一下apach。
假设你已经安装了apache:
- cd /usr/local/apache2
进入apache的配置文件目录:
- cd /usr/local/apache2/conf
创建virtualhost-8899.conf,内容如下:
- listen 8899
- Header set Server "8899 Server"
- NameVirtualHost *:8899
- <VirtualHost *:8899>
- <Directory "/var/www/munin">
- Options Indexes FollowSymLinks
- AllowOverride None
- Order allow,deny
- Allow from all
- </Directory>
- Alias /munin "/var/www/munin"
- </VirtualHost>
然后修改httpd.conf ,在文件内加入:
- include "/usr/local/apache2/conf/virtualhost-8899.conf"
重启apache2
- sudo /usr/local/apache2/bin/apachectl restart
现在我们就能够通过浏览器来监控服务器的各种状态了:http://ip:8899/munin/