服务器监控与munin和monit在CentOS 5.2
在本文中,我将介绍如何使用munin和monit监视CentOS 5.2服务器。 munin在服务器的几乎每个方面(负载平均值,内存使用量,CPU使用率,MySQL吞吐量,eth0流量等)都没有很多配置,而monit则检查Apache,MySQL,Postfix等服务的可用性,如果找到服务,则重新启动的适当操作不符合预期。 两者的结合为您提供了全面的监控:可以让您识别当前或即将出现的问题的图形(例如“我们需要较大的服务器,我们的负载平均值正在快速增长”),以及一个可以确保受监视服务可用性的看门狗。
虽然munin可以监控多台服务器,但我们只讨论在这里安装的系统的监控。
本教程是针对CentOS 5.2编写的,但是配置也应该适用于其他发行版本,但更改也很少。
我想先说说这不是建立这样一个系统的唯一途径。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!
1初步说明
我们的系统的主机名是server1.example.com
,我们的网址是www.example.com
,文件根目录是/var/www/www.example.com/web
。
2启用RPMforge存储库
在CentOS 5.2上,munin和monit在默认的CentOS存储库中不可用。 幸运的是,我们可以从RPMforge存储库安装它们。 为了启用RPMforge仓库,我们运行
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
rm -f rpmforge-release-0.3.6-1.el5.rf.i386.rpm
在i386主机和
wget http://packages.sw.be/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
rm -f rpmforge-release-0.3.6-1.el5.rf.x86_64.rpm
在x86_64主机上(请查看https://rpmrepo.org/RPMforge/使用最新版本)。
3安装并配置munin
要在CentOS 5.2上安装munin,我们这样做:
yum install munin munin-node
然后我们为munin创建系统启动链接并启动它:
chkconfig --levels 235 munin-node on
/etc/init.d/munin-node start
接下来,我们必须编辑munin配置文件/etc/munin/munin.conf
。 我们希望munin将其输出放在目录/var/www/www.example.com/web/monitoring中
,因此我们更改htmldir的值,我们希望它使用名称server1.example.com
而不是localhost。本地域
在HTML输出中,因此我们将localhost.localdomain
替换为server1.example.com
。 没有注释,更改后的文件如下所示:
vi /etc/munin/munin.conf
[...] dbdir /var/lib/munin htmldir /var/www/www.example.com/web/monitoring logdir /var/log/munin rundir /var/run/munin # Where to look for the HTML templates tmpldir /etc/munin/templates [...] # a simple host tree [server1.example.com] address 127.0.0.1 use_node_name yes [...] |
接下来,我们创建目录/var/www/www.example.com/web/monitoring
并将其所有权更改为用户和组munin
,否则munin无法将其输出放在该目录中。 然后我们重新启动munin:
mkdir -p /var/www/www.example.com/web/monitoring
chown munin:munin /var/www/www.example.com/web/monitoring
/etc/init.d/munin-node restart
现在等待几分钟,以便munin可以生成第一个输出,然后在浏览器中访问http://www.example.com/monitoring/
,然后看到第一个统计信息。 几天之后,可能看起来像这样:
(这只是munin生产的许多图形的一小部分)
4密码保护munin输出目录(可选)
现在,密码保护目录/var/www/www.example.com/web/monitoring
是一个好主意,除非您希望每个人都能够看到有关您的服务器的每一个小小的统计信息。
为此,我们在/var/www/www.example.com/web/monitoring
中创建一个.htaccess
文件:
vi /var/www/www.example.com/web/monitoring/.htaccess
AuthType Basic AuthName "Members Only" AuthUserFile /var/www/www.example.com/.htpasswd <limit GET PUT POST> require valid-user </limit> |
然后我们必须创建密码文件/var/www/www.example.com/.htpasswd
。 我们要用用户名admin
登录,所以我们这样做:
htpasswd -c /var/www/www.example.com/.htpasswd admin
输入管理员
的密码,你已经完成了!