使用munin监控多个系统(Debian Etch)

监控多个系统与munin(Debian Etch)

版本1.0
作者:Falko Timme

在本文中,我将介绍如何使用munin监控多个系统。 munin在服务器的几乎每个方面(负载平均值,内存使用率,CPU使用率,MySQL吞吐量,eth0流量等)都可以生成漂亮的小图形,无需太多的配置。 我将在所有要监视的系统上安装munin客户端(包括munin服务器本身); munin客户端将向munin服务器报告。

本教程是针对Debian Etch编写的,但是配置也应该适用于其他发行版本,而且这些配置也没有什么变化。

我想先说说这不是建立这样一个系统的唯一途径。 实现这一目标有很多方法,但这是我所采取的方式。 我不会保证这将为您工作!

1初步说明

我们的munin服务器的主机名是server1.example.com (IP地址: 192.168.0.100 ),我们有一个网站www.example.com ,其上有文档根/var/www/www.example.com/web

我在这里使用一个munin客户端, server2.example.com (IP地址: 192.168.0.101 )。 当然,您可以添加任意数量的客户端系统。

2在服务器上安装并配置munin

munin服务器(server1.example.com):

要在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 。 通过这种配置,munin服务器能够监控自身。 没有注释,更改后的文件如下所示:

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服务器上的munin输出目录(可选)

munin服务器(server1.example.com):

现在,密码保护目录/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

输入管理员的密码,你已经完成了!

4在客户端上安装并配置munin

munin客户端(server2.example.com):

在客户端系统上,我们只需安装名为munin-node的munin客户端软件包即可:

apt-get install munin-node

接下来,我们必须告诉munin客户端,我们的munin服务器server1.example.com与IP地址192.168.0.100允许连接从客户端检索细节。 为此,我们打开/etc/munin/munin-node.conf ,并在其底部添加行允许^ 192 \ .168 \ .0 \ .100 $ 。 之后,该文件应如下所示:

vi /etc/munin/munin-node.conf
#
# Example config-file for munin-node
#

log_level 4
log_file /var/log/munin/munin-node.log
port 4949
pid_file /var/run/munin/munin-node.pid
background 1
setseid 1

# Which port to bind to;
host *
user root
group root
setsid yes

# Regexps for files to ignore

ignore_file ~$
ignore_file \.bak$
ignore_file %$
ignore_file \.dpkg-(tmp|new|old|dist)$
ignore_file \.rpm(save|new)$

# Set this if the client doesn't report the correct hostname when
# telnetting to localhost, port 4949
#
#host_name localhost.localdomain

# A list of addresses that are allowed to connect.  This must be a
# regular expression, due to brain damage in Net::Server, which
# doesn't understand CIDR-style network notation.  You may repeat
# the allow line as many times as you'd like

allow ^127\.0\.0\.1$
allow ^192\.168\.0\.100$

最后,我们重新启动munin客户端:

/etc/init.d/munin-node restart

5更新munin服务器配置

munin服务器(server1.example.com):

现在我们必须告诉munin服务器有另外一个监控系统( server2.example.com ,IP地址为192.168.0.101 )。 为此,我们打开/etc/munin/munin.conf ,并为server2.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

[server2.example.com]
    address 192.168.0.101
    use_node_name yes

接下来,我们重新启动munin:

/etc/init.d/munin-node restart

几分钟后,您应该在munin页面( http://www.example.com/monitoring/ )上找到server2.example.com的链接:

当您点击该链接时,您将看到server2.example.com的图表。

6链接

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏