帮助中心
如何在Debian 12上安装Nagios监控工具



Nagios 是一个开源监控系统,用于跟踪 IT 基础设施的健康状况和性能。它可为服务器、网络和应用程序提供实时警报和状态概览,从而主动解决问题。


在本指南中,你将学习如何在 Debian 12 服务器上安装 Nagios。你将通过软件包管理器在 Debian 上安装 Nagios,而不是手动编译。


前提条件


开始之前,请确保具备以下条件:

  • Debian 12 服务器。
  • 拥有 sudo 权限的非 root 用户。


在 Debian 上安装 Nagios


要安装 Nagios,你可以通过自行编译手动安装。或者,你也可以通过 APT 等软件包管理器安装 Nagios。在本例中,你将通过 APT 软件源在 Debian 12 上安装 Nagios,这将更快更简单。


首先,运行下面的命令刷新并更新你的 Debian 软件包索引。

sudo apt update




更新软件包索引后,执行以下命令通过 Debian 软件源安装 Nagios、监控插件和 Nagios NRPE 插件。

sudo apt install nagios4 nagios4-common monitoring-plugins-contrib nagios-nrpe-plugin

键入 Y 继续安装。这样,你将为 Nagios 安装依赖项,其中包括 Apache 网络服务器和 PHP 8.2 软件包。



安装好 Nagios 后,运行下面的 systemctl 命令启用 nagios4 服务。

sudo systemctl enable nagios4

然后,通过下面的命令验证 nagios4 服务,确保服务正在运行。你应该能看到 nagios4 服务处于激活(运行)和启用状态。

sudo systemctl is-enabled nagios4
sudo systemctl status nagios4




现在还可以使用下面的命令验证 Apache 网络服务器的状态,以确保它已安装并正在运行。

sudo systemctl is-enabled apache2
sudo systemctl status apache2




最后,打开浏览器,访问 Nagios 安装网站 http://192.168.5.15/nagios4。您应该会看到如下所示的 Nagios 面板:




Nagios 配置文件和目录


由于你已经通过 APT debian 软件仓库安装了 Nagios,因此建议你先了解一下 Nagios 安装的目录结构和配置。


以下是你必须了解的 Nagios 配置文件和目录:

  • /etc/nagios4:Nagios 安装的默认配置。
  • /etc/apache2/conf-available/nagios4-cgi.conf: 与 Apache 网络服务器集成相关的 Nagios 配置。
  • /etc/nagios-plugins: Nagios 监控插件的目录。
  • /usr/lib/nagios/plugins: Nagios 监控插件检查命令的位置。


启用 Nagios 身份验证


默认情况下,Nagios 禁用了身份验证,但只允许本地网络访问你的安装。本例中将启用 Nagios 身份验证。这样,只有拥有正确用户名和密码的用户才能访问 Nagios 面板。


使用以下 nano 编辑器命令打开 /etc/nagios4/cgi.conf 文件。

sudo nano /etc/nagios4/cgi.conf

找到 use_authentication 一行,将值改为 1 以启用 Nagios 身份验证。

# AUTHENTICATION USAGE
# This option controls whether or not the CGIs will use any
# Authentication when displaying host and service information, as
# well as committing commands to Nagios for processing.
#
# Read the HTML documentation to learn how the authorization works!
#
# NOTE: It is a really *bad* idea to disable authorization, unless
# you plan on removing the command CGI (cmd.cgi)! Failure to do
# so will leave you wide open to kiddies messing with Nagios and
# possibly hitting you with a denial of service attack by filling up
# your drive by continuously writing to your command file!
#
# Setting this value to 0 will cause the CGIs to *not* use
# authentication (bad idea), while any other value will make them
# use the authentication functions (the default).

use_authentication=1

保存并关闭文件。


接下来,使用以下命令重启 nagios4 服务,使其生效。

sudo systemctl restart nagios4

这样,只有用户 "nagiosadmin "才能访问 Nagios 安装。你仍然可以访问 Nagios 面板,但报告和监控页面会因此被禁止。


为 Nagios 设置 Apache 基本身份验证


既然已经在 Nagios 部分启用了 Nagios 身份验证,下一步就是通过 basic_auth 在 Apache 网络服务器上设置身份验证。


首先,运行下面的命令启用所需的模块:cgi、cgid 和 rewrite。

sudo a2enmod cgi cgid rewrite




使用以下 nano 编辑器命令打开用于安装 Nagios 的 Apache 配置文件 /etc/apache2/conf-available/nagios4-cgi.conf。

sudo nano /etc/apache2/conf-available/nagios4-cgi.conf

找到"<目录匹配 ... </DirectoryMatch>'一行,并用以下内容替换默认配置。在这种情况下,你将启用 Apache basic_auth 模块的 Nagios 网络内容。将在 /etc/nagios4/htdigest.users 文件中使用的数据库用户。

<DirectoryMatch (/usr/share/nagios4/htdocs|/usr/lib/cgi-bin/nagios4|/etc/nagios4/stylesheets)>
Options FollowSymLinks
DirectoryIndex index.php index.html
AllowOverride AuthConfig

Options None
AllowOverride None
Order allow,deny
Allow from all
AuthName "Nagios Core"
AuthType Basic
AuthUserFile /etc/nagios4/htdigest.users
Require valid-user
Require all denied

</DirectoryMatch>

保存文件,完成后退出编辑器。


接下来,运行下面的命令为 Apache 基本认证创建一个新用户 nagiosadmin。默认情况下,Nagios 只允许用户 nagiosadmin 显示和管理 Nagios。

sudo htpasswd /etc/nagios4/htdigest.users nagiosadmin

输入密码并重复



最后,运行下面的命令重启 apache2 服务并应用更改。然后,验证 Apache,确保其正在运行。

sudo systemctl restart apache2
sudo systemctl status apache2




完成此步骤后,在访问 Nagios 安装时会出现提示。


启用身份验证后访问 Nagios 安装


返回浏览器,重新加载 Nagios 标签。如果配置成功,系统会提示你使用 Apache basic_auth 模块。


输入用户 nagiosadmin 和密码,然后单击 "登录 "继续。



输入正确的密码后,您将看到 Nagios 面板。



点击 "Hosts(主机)"菜单,你会看到状态为 UP 的本地主机。



现在点击服务菜单,你会看到 Nagios 的默认系统监控,其中包括系统负载、登录用户、HTTP 状态、ping、根目录/分区的磁盘使用情况、SSH 状态、SWAP 状态以及系统上的总进程。



总结


恭喜你,做得很好!你已经完成了在 Debian 12 服务器上安装 Nagios 监控工具。你通过 Debian APT 软件源安装了 Nagios,这是最简单的部署 Nagios 的方法。此外,你还在 Nagios 上启用了身份验证,并实施了 Apache basic_auth 模块,以确保 Nagios 安装的安全性。


从现在起,你可以通过 Nagios 添加和监控主机,也可以使用 NRPE 插件通过 Nagios 监控远程主机。

文章相关标签: Debian Nagios
购物车