在本教程中,我们将向您展示如何在 Ubuntu 16.04 服务器上安装和配置 Nagios。 对于那些不知道的人,Nagios 是可用于网络和基础设施监控的开源软件。 Nagios 将监控服务器、交换机、应用程序和服务。 它会在出现问题时向系统管理员发出警报,并在问题得到纠正时发出警报。 可以监控的资源包括 CPU、内存和磁盘空间负载、日志文件、温度或硬件错误。 它可以监控HTTP、SMTP、DNS等服务的各种参数和问题,并在插件的帮助下,可以进行高度扩展。 Nagios 核心最初设计为在 Linux 下运行,尽管它也应该在大多数其他单元下运行。
本文假设您至少具备 Linux 的基本知识,知道如何使用 shell,最重要的是,您将网站托管在自己的 VPS 上。 安装非常简单,假设您在 root 帐户下运行,如果不是,您可能需要添加 ‘sudo
‘ 到命令以获取 root 权限。 我将向您展示在 Ubuntu 16.04 (Xenial Xerus) 服务器上逐步安装 Nagios。
先决条件
- 运行以下操作系统之一的服务器:Ubuntu 16.04 (Xenial Xerus),以及任何其他基于 Debian 的发行版,如 Linux Mint。
- 建议您使用全新的操作系统安装来防止任何潜在问题。
- 对服务器的 SSH 访问(或者如果您在桌面上,则只需打开终端)。
- 一种
non-root sudo user
或访问root user
. 我们建议充当non-root sudo user
,但是,如果您在充当 root 时不小心,可能会损害您的系统。
在 Ubuntu 16.04 上安装 Nagios
步骤 1. 首先,通过运行以下命令确保所有系统包都是最新的 apt-get
终端中的命令。
sudo apt-get update sudo apt-get upgrade
步骤 2. 安装 LAMP (Linux, ApacheMariaDB, PHP) 服务器。
需要 Ubuntu 16.04 LAMP 服务器。 如果您没有安装 LAMP,您可以在此处按照我们的指南进行操作。 此外,安装所有必需的 PHP 模块:
apt-get install php7.0 openssl perl make php7.0-gd libgd2-xpm-dev libapache2-mod-php7.0 libperl-dev libssl-dev daemon wget apache2-utils unzip
步骤 3. 为 Nagios 创建用户和组。
现在创建一个新的 Nagios 用户帐户并为此帐户设置密码:
useradd nagios groupadd nagcmd usermod -a -G nagcmd nagios usermod -a -G nagcmd www-data
步骤 4. 安装 Nagios 和插件。
首先要做的就是去 Nagios的下载页面 并下载最新的稳定版 Nagios,在撰写本文时它是 4.4.6 版:
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.4.6.tar.gz tar -zxvf /tmp/nagios-4.4.6.tar.gz cd /tmp/nagios-4.4.6/
执行以下步骤从源代码编译 Nagios:
./configure --with-nagios-group=nagios --with-command-group=nagcmd --with-httpd_conf=/etc/apache2/sites-enabled/ make all make install make install-init make install-config make install-commandmode make install-webconf
在接下来的步骤中,下载最新的 nagios 插件源 并使用以下命令安装:
wget https://www.nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz tar xzf nagios-plugins-2.1.1.tar.gz cd nagios-plugins-2.1.1 ./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install
步骤 5. 配置 Nagios。
编辑 /usr/local/nagios/etc/objects/contacts.cfg
使用您喜欢的编辑器配置文件,并将与 nagiosadmin 联系人定义关联的电子邮件地址更改为您希望用于接收警报的地址。
nano /usr/local/nagios/etc/objects/contacts.cfg
更改电子邮件地址字段以接收通知:
[...] define contact{ contact_name nagiosadmin ; Short name of userus generic-contact ; Inherit default values from generic-contact template (defined above) alias Nagios Admin ; Full name of useremail [email protected] ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** [...]
步骤 6. 配置 Apache Nagios 的网络服务器。
现在创建 Nagios apache2 配置文件:
nano /etc/apache2/sites-enabled/nagios.conf
如果您想从特定 IP 系列访问 Nagios 管理控制台,请编辑以下行,在这里,我只想允许从 192.168.1.0/24 系列访问 Nagios 管理控制台:
[...] ## Comment the following lines ## # Order allow,deny # Allow from all ## Uncomment and Change lines as shown below ## Order deny,allow Deny from all Allow from 127.0.0.1 192.168.1.0/24 [...]
使能够 Apache的重写和 CGI 模块:
sudo a2enmod rewrite sudo a2enmod cgi
配置 Apache 验证:
我们需要为用户 nagiosadmin 设置密码。 此用户名将用于访问 Web 界面,因此请务必记住您将在此处输入的密码。 运行以下命令设置密码并输入两次密码:
# sudo htpasswd -s -c /usr/local/nagios/etc/htpasswd.users nagiosadmin New password: Re-type new password: Adding password for user nagiosadmin
重新开始 Apache 使更改生效:
systemctl restart apache2
步骤 7. 验证并启动 Nagios 服务。
接下来,我们要让 Nagios 在启动时启动,所以首先验证配置文件没有错误运行以下命令:
sudo /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
你应该得到输出:
[...] Checking objects... Checked 8 services. Checked 1 hosts. Checked 1 host groups. Checked 0 service groups. Checked 1 contacts. Checked 1 contact groups. Checked 24 commands. Checked 5 time periods. Checked 0 host escalations. Checked 0 service escalations. Checking for circular paths... Checked 1 hosts Checked 0 service dependencies Checked 0 host dependencies Checked 5 timeperiods Checking global event handlers... Checking obsessive compulsive processor commands... Checking misc settings... Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check [...]
Ubuntu 16.04 使用 systemd
用于启动/停止所有服务,因此,我们需要创建 nagios.service
文件:
nano /etc/systemd/system/nagios.service
添加以下行:
[Unit] Description=Nagios BindTo=network.target [Install] WantedBy=multi-user.target [Service] User=nagios Group=nagios Type=simple ExecStart=/usr/local/nagios/bin/nagios /usr/local/nagios/etc/nagios.cfg
使 Nagios 在系统启动时自动启动:
systemctl enable /etc/systemd/system/nagios.service
现在,启动 Nagios 服务:
systemctl start nagios
步骤 8. 访问 Nagios。
默认情况下,Nagios 将在 HTTP 端口 80 上可用。 打开您喜欢的浏览器并导航到 https://your-domain.com/install.php
或者 https://server-ip/install.php
并完成所需的步骤以完成安装。 当提示输入用户名和密码时,您将输入用户名“nagiosadmin”和您在步骤 6 中输入的密码。
恭喜! 您已成功安装 Nagios。 感谢您使用本教程在 ubuntu 16.04 (Xenial Xerus) 系统中安装 Nagios 监控工具。 如需其他帮助或有用信息,我们建议您查看 Nagios 官方网站.