Nagios 是一个开源监控系统,用于跟踪 IT 基础设施的健康状况和性能。它可为服务器、网络和应用程序提供实时警报和状态概览,从而主动解决问题。
在本指南中,你将学习如何在 Debian 12 服务器上安装 Nagios。你将通过软件包管理器在 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 面板:
由于你已经通过 APT debian 软件仓库安装了 Nagios,因此建议你先了解一下 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 部分启用了 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 标签。如果配置成功,系统会提示你使用 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 监控远程主机。
上一条: 如何在Ubuntu 22.04上安装Pure-FTPd
下一条: 一个外贸网站使用多个域名的好处