如何在Ubuntu14.04上安装Munin监控工具

来自菜鸟教程
跳转至:导航、​搜索

介绍

Munin 是一个系统、网络和基础设施监控应用程序,可通过 Web 浏览器以图形形式提供信息。 它是围绕客户端-服务器架构设计的,可以配置为监视安装它的机器(Munin master)和任意数量的客户端机器,用 Munin 的说法,称为 Munin 节点

在本文中,我们将安装和配置 Munin 以监控安装它的服务器和一个节点。 要在多个节点上安装 Munin,只需按照在每个系统上创建节点的说明进行操作。

先决条件

  • 两个 Ubuntu 14.04 Droplet。 其中一台服务器将是 Munin 主服务器。 另一个将是 Munin 节点。
  • 对于每个 Droplet,一个具有 sudo 权限的非 root 用户

本教程中的所有命令都应以非 root 用户身份运行。 如果该命令需要 root 访问权限,它将在前面加上 sudoUbuntu 14.04 的初始服务器设置 解释了如何添加用户并授予他们 sudo 访问权限。

第 1 步 — 安装所需的软件包

我们将首先开始研究 Munin 大师。 在安装 Munin 之前,需要安装一些依赖项。

尽管 Munin 可以与 Nginx 和 Lighttpd 等大多数流行的 Web 服务器一起使用,但它默认设计为与 Apache Web 服务器一起使用。 所以请确保在 Munin master 上安装和配置了 Apache。 如果尚未安装,请使用:

sudo apt-get update
sudo apt-get install -y apache2 apache2-utils

为确保负责放大生成的图形的 dynazoom 功能在单击时正常工作,请安装以下内容:

sudo apt-get install -y libcgi-fast-perl libapache2-mod-fcgid

安装这两个包后,应该启用 fcgid 模块。 要仔细检查,请键入:

/usr/sbin/apachectl -M | grep -i cgi

输出应该是:

fcgid_module (shared)

如果输出为空白,则未启用。 然后,您可以使用以下方法启用它:

sudo a2enmod fcgid

执行apachectl命令时,可以忽略以下警告:

Could not reliably determine the server's fully qualified domain name ...

Apache 仍将与 Munin 一起使用此警告。

使图形缩放正常工作的其余配置将在步骤 3 中介绍。

第 2 步 — 在 Munin Master 上安装 Munin

Munin 的安装包在官方 Ubuntu 存储库中可用,因此可以使用发行版的包管理器安装它们。 在这一步中,您将安装 Munin 主包。 存储库中的版本是最新的稳定版本。

要安装它以监视安装它的服务器,请键入:

sudo apt-get install -y munin

第三步——配置 Munin Master

Munin 的主配置文件munin.conf 及其运行所需的其他文件在/etc/munin 目录及其子目录下。 在这一步中,我们将修改 Munin master 的主配置文件及其 Apache 配置 apache.conf

主配置文件至少由两个部分组成——一个 global 和至少一个 host 部分。 可选地,可以有一个 group 部分。 主机和组部分以方括号中各自的名称开头。 该文件包含变量定义、管理 Munin 如何监控服务器和服务以及监控哪些服务器的指令。

首先,打开主配置文件:

cd /etc/munin
sudo nano munin.conf

查找这些行并取消注释它们 - 删除它们前面的 # 符号。 dbdir 存储所有包含实际监控信息的rrdfiles; htmldir 存放图片和站点文件; logdir 维护日志; rundir 保存状态文件; tmpldir 是 HTML 模板的位置。 请务必将 htmldir 从 /var/cache/munin/www 更改为您的 Web 目录。 在本例中,我们将使用 /var/www/munin

/etc/munin/munin.conf

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

tmpldir /etc/munin/templates

由于 htmldir 不存在,让我们创建并 chown 使其归 munin 系统用户所有:

sudo mkdir /var/www/munin
sudo chown munin:munin /var/www/munin

最后,在 munin.conf 中,寻找第一棵主机树。 它定义了如何访问和监视主机。 它应该是:

/etc/munin/munin.conf

[localhost.localdomain]
    address 127.0.0.1
    use_node_name yes

将该树的名称更改为唯一标识服务器的名称。 这是将显示在 Munin Web 界面中的名称。 在本例中,我们将使用 MuninMaster,但您也可以使用服务器的主机名:

/etc/munin/munin.conf

[MuninMaster]
    address 127.0.0.1
    use_node_name yes

这就是配置文件的全部内容,所以保存并关闭它。

在同一个 /etc/munin 目录中,我们要修改的下一个文件是 apache.conf,它是 Munin 的 Apache 配置文件。 它与 /etc/apache2/conf-available/munin.conf 又与 /etc/apache2/conf-enabled/munin.conf 符号链接。 要开始修改它,用 nano 打开它:

sudo nano apache.conf

在文件的最顶部,修改第一行,使其反映您在 munin.conf 中指定并之前创建的 htmldir 路径。 根据本文中使用的目录路径,它应该如下所示,这样您就可以通过将 munin 附加到服务器的 IP 地址或托管在服务器上的域来访问 Munin 的 Web 界面:

/etc/munin/apache.conf

Alias /munin /var/www/munin

接下来,查找 Directory 部分,并将目录更改为 /var/www/munin。 还要注释掉(或删除)前四行,然后添加两个新指令,使其显示为:

/etc/munin/apache.conf

<Directory /var/www/munin>
        #Order allow,deny
        #Allow from localhost 127.0.0.0/8 ::1
        #Allow from all
        #Options None

        Require all granted
        Options FollowSymLinks SymLinksIfOwnerMatch

        ...

        ...

</Directory>

查找倒数第二个位置部分,注释掉或删除前两行并添加两个新行,使其显示为:

/etc/munin/apache.conf

<Location /munin-cgi/munin-cgi-graph>
        #Order allow,deny
        #Allow from localhost 127.0.0.0/8 ::1

        Require all granted
        Options FollowSymLinks SymLinksIfOwnerMatch

        ...

        ...

</Location>

对最后一个位置部分执行相同操作:

/etc/munin/apache.conf

<Location /munin-cgi/munin-cgi-html>
        #Order allow,deny
        #Allow from localhost 127.0.0.0/8 ::1

        Require all granted
        Options FollowSymLinks SymLinksIfOwnerMatch

        ...

        ...

</Location>

保存并关闭文件。 然后重新启动 Apache 和 Munin。

sudo service apache2 restart
sudo service munin-node restart

您现在可以通过将浏览器指向 server-ip-address/munin 来访问 Munin 的 Web 界面

第 4 步 — 添加一个节点到 Munin Master

在这一步中,我们将展示如何将远程服务器(或节点)添加到 Munin 主服务器,以便您可以在同一个 Web 界面中对其进行监控。 这涉及修改 Munin master 的配置文件以指定节点的主机树。 然后,您需要在节点上安装 Munin 节点包并修改其配置文件,以便 Munin 主节点可以对其进行监控。

让我们从 Munin 节点开始——您创建的第二个 Ubuntu Droplet。

登录Munin节点,更新包库,安装Munin节点包:

sudo apt-get update
sudo apt-get install -y munin-node

安装成功后,节点的配置文件应该在/etc/munin目录下。 用 nano 打开它:

sudo nano /etc/munin/munin-node.conf

在文件的中间,查找 allow ^127.0.0.1$ 行并对其进行修改,使其反映 Munin 主机的 IP 地址。 请注意,IP 地址是正则表达式格式,因此假设主服务器的 IP 地址为 123.46.78.100,该行应如下所示:

[label  /etc/munin/munin-node.conf}
allow ^123\.456\.78\.100$

保存并关闭文件。 然后重启 Munin:

sudo service munin-node restart

回到Munin master,打开主配置文件:

sudo nano /etc/munin/munin.conf

我们在这个文件中需要做的就是为(远程)节点插入一个主机树。 最简单的方法是复制和修改主服务器的主机树。 请务必将 node-ip-address 替换为您要添加的节点的 IP 地址:

/etc/munin/munin.conf

[MuninNode]
    address node-ip-address
    use_node_name yes

保存并关闭文件。 然后重启 Apache:

sudo service apache2 restart

Munin 每 5 分钟检查一次新节点。 等待几分钟,然后重新加载 Munin 大师的 Web 界面。 您应该看到该节点的条目。 如果您还没有看到,请在 5 分钟后重试。 使用这种方法,您可以添加尽可能多的节点来监控。

第 5 步 — 启用额外插件

Munin 使用插件脚本监控系统,默认情况下,大约有十几个插件已安装并处于活动状态。 可用插件的完整列表位于 /usr/share/munin/plugins 目录中。 为了查看您的系统上可以使用哪些插件,Munin 提供了以下命令:

sudo munin-node-configure --suggest

输出应该是这样的:

Plugin                     | Used | Suggestions
------                     | ---- | -----------
cps_                       | no   | no
cpu                        | yes  | yes
cpuspeed                   | no   | no [missing /sys/devices/system/cpu/cpu0/cpufreq/stats/time_in_state]
cupsys_pages               | no   | no [could not find logdir]
df                         | yes  | yes
df_inode                   | yes  | yes
fail2ban                   | no   | yes
ip_                        | no   | yes

Used 列中带有 yes 的插件意味着它所指示的内容,而在 Suggestions 列中带有 yes 的插件意味着它可以使用。 一个在两列上都带有 no 的表示它未在使用中,并且不能在系统上使用。 最后,如果一个插件在 Used 列中有一个 no 并且在 Suggestions 中有一个 yes,那么它没有被使用但是可以在系统上启用和使用。

在 Munin master 和 node 上,您还可以在 /etc/munin/plugins 目录中看到已安装插件的列表。

安装 Munin 时应该已经安装了 munin-plugins-extra 包。 如果不是,请使用。

sudo apt-get install munin-plugins-extra

要启用当前未使用的可用插件,请为其创建一个从 /usr/share/munin/plugins 目录到 /etc/munin/plugin 目录的符号链接。

例如,要启用 Fail2ban 插件,首先安装 Fail2ban:

sudo apt-get install fail2ban

然后,创建启用 Munin 插件的符号链接:

sudo ln -s /usr/share/munin/plugins/fail2ban /etc/munin/plugins

重启穆宁:

sudo service munin-node restart

等待几分钟,重新加载 Web 界面,您应该会在 Munin master 的 network 类别下的 被 fail2ban 列入黑名单的主机下看到 Fail2ban 的图表。

故障排除

如果您在配置 Munin 主节点、Munin 节点或让主节点查看节点时遇到问题,请查看日志文件以获取错误消息:

  • 穆宁大师:/var/log/munin/munin-update.log
  • 穆宁节点:/var/log/munin/munin-node.log

您还可以查看 项目的页面 以获取其他故障排除提示。

结论

Munin 可以配置为监视安装它的系统。 将远程服务器添加到被监控系统很简单,只需在远程服务器(或节点)上安装 munin-node 包,然后修改服务器和节点的配置文件以指向另一个 IP 地址。

Munin 通过使用插件来工作,但并非所有插件都是开箱即用的。 有关插件的信息可在 项目的页面 上找到。