服务器监控与munin和monit在Debian Etch
版本1.0
作者:Falko Timme
在本文中,我将介绍如何使用munin和monit监视Debian Etch服务器。 munin在服务器的几乎每个方面(负载平均值,内存使用量,CPU使用率,MySQL吞吐量,eth0流量等)都没有很多配置,而monit则检查Apache,MySQL,Postfix等服务的可用性,如果找到服务,则重新启动的适当操作不符合预期。 两者的结合为您提供了全面的监控:可以让您识别当前或即将出现的问题的图形(例如“我们需要较大的服务器,我们的负载平均值正在快速增长”),以及一个可以确保受监视服务可用性的看门狗。
虽然munin可以监控多台服务器,但我们只讨论在这里安装的系统的监控。
本教程是针对Debian Etch编写的,但是配置也应该适用于其他发行版本,而且这些配置也没有什么变化。
我想先说说这不是建立这样一个系统的唯一途径。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!
1初步说明
我们的系统的主机名是server1.example.com
,我们的网址是www.example.com
,文件根目录是/var/www/www.example.com/web
。
2安装并配置munin
要在Debian Etch上安装munin,我们这样做:
apt-get install munin munin-node
接下来,我们必须编辑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 tmpldir /etc/munin/templates [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生产的许多图形的一小部分)
3密码保护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
输入管理员
的密码,你已经完成了!