如何在Debian 9上安装Nagios 4.3.x监控工具

如何在Debian 9上安装Nagios 4.3.x监控工具

本教程将向您展示如何从Debian 9.1源代码Stretch中安装和配置最新版本的Nagios Core(目前是4.3.4)。

Nagios也被称为Nagios核心,是一个免费的开源网络监控工具,由开发人员主动维护,旨在监控整个网络基础设施。 只要设备配置了网络连接,例如路由器,交换机,服务器,台式机,防火墙设备,物联网设备,Nagios就可以监控几乎所有的网络设备。 除了监视设备以确定其网络状态,Nagios还可以监视网络服务,应用程序或与操作系统相关的其他特定任务,并且可以配置为通过邮件或SMS发送警报,以便通知网络管理员可能的设备,停电或服务失败。

要求

  • Debian 9.1安装在裸机或虚拟专用服务器上。 优选地,安装必须以最小的软件要求来执行。
  • 网络接口卡配置了静态IP地址。
  • 通过sudo访问root帐户或具有root帐户权限的用户。
  • 一个域名,私人或公共,配置正确的DNS A记录。 如果您没有在您的场所配置DNS服务器,则可以通过服务器IP地址访问Nagios。

初始配置

在我们开始从源代码安装Nagios之前,请确保系统符合编译和安装Nagios的所有软件要求。 在第一步中,通过执行以下命令更新系统存储库和软件包。

apt update
apt upgrade

在下一步中,启动一个新命令,以便安装一些必要的实用程序,这些实用程序将用于从命令行进一步管理您的系统。

apt install wget unzip zip bash-completion

N ext,通过执行以下命令为您的系统设置名称:

hostnamectl set-hostname nagios.server.lan

通过执行以下命令验证计算机主机名和主机文件。

hostnamectl
cat /etc/hostname
cat /etc/hosts

最后,重新启动系统以应用新的主机名。

init 6

Nagios是一个基于网络的监控应用程序,其中一些部分用PHP服务器端编程语言和其他CGI程序编写。 为了运行Nagios PHP文件脚本,必须在系统中安装和运行Web服务器(如Apache HTTP服务器和PHP处理网关)。 为了安装Apache Web服务器和PHP解释器以及Nagios 4正常运行所需的所有PHP模块,请在服务器控制台中发出以下命令。

apt install apache2 libapache2-mod-php7.0 php7.0

在安装Apache和PHP之后,测试Web服务器是否已启动并正在运行,并通过以root权限发出以下命令来监听端口80上的网络连接。

netstat –tlpn

如果您的Debian 9系统默认没有安装netstat网络实用程序,请执行以下命令进行安装。

apt install net-tools

通过检查netstat命令输出,您可以看到apache web服务器正在监听端口80上的传入网络连接。

如果您的系统上启用了防火墙(如UFW防火墙应用程序),则应该添加新的规则,以允许HTTP通信通过防火墙,方法是发出以下命令。

ufw allow WWW

要么

ufw allow 80/tcp

如果您想要使用iptables原始规则来允许防火墙上的端口80入站流量,以便访问者可以浏览Nagios Core Web界面,请添加以下规则。

apt-get install -y iptables-persistent
iptables -I INPUT -p tcp --destination-port 80 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

接下来,通过发出以下命令,启用并应用Nagios Web应用程序所需的以下Apache模块以正确运行。

a2enmod rewrite headers cgi
systemctl restart apache2

最后,如下图所示,通过HTTP协议访问Debian计算机的IP地址或域名,测试Apache Web服务器的默认网页是否可以显示在客户端的浏览器中。 如果您不知道您的机器IP地址,请执行ifconfigip命令。

http://192.168.1.14

在下一步中,我们需要对PHP默认配置文件进行一些更改,以确保PHP 时区设置已正确配置并与您的系统物理位置相匹配。 打开/etc/php/7.0/apache2/php.ini文件进行编辑,并确保下面的行设置如下。

date.timezone = Europe/London

根据您的实际时间,通过查看PHP文档提供的时区列表,将时区变量相应地替换为http://php.net/manual/en/timezones.php

重新启动Apache守护进程以应用更改。

systemctl restart apache2

完成所需的更改后,创建一个php信息文件并通过发出以下命令来重新启动apache守护程序来应用更改。

echo '<?php phpinfo(); ?>'| tee /var/www/html/info.php
systemctl restart apache2

如下图所示,通过访问以下URL的浏览器中的phpinfo脚本文件来检查PHP时区是否已正确配置。 向下滚动到日期设置来检查php的时区设置。

http://192.168.1.14/info.php

安装Nagios Core

在从源代码下载和编译Nagios Core之前,首先通过执行以下命令确保在系统中安装了以下预先要求的软件包。

apt install autoconf gcc libc6 make apache2-utils libgd-dev

在Debian系统上安装了用于编译Nagios的所有必要依赖项和软件包之后,请访问Nagios官方网站, 网址:https: //www.nagios.org/downloads/nagios-core/,然后下载最新版本的Nagios Core稳定源文件通过发出wget实用程序,如下面的命令摘录所示。

wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.3.4.tar.gz

在下载了Nagios源代码tarball之后,提取tar档案并使用以下命令输入提取的nagios目录。 在nagios提取的目录中运行ls命令以列出源文件。

tar xzf nagios-4.3.4.tar.gz
cd nagios-4.3.4/
ls

当您处于Nagios提取的源代码目录中时,通过发出以下命令,从源文件启动Nagios编译过程。 首先,将Nagios配置为使用指向启用站点的目录的Apache Web服务器http配置路径进行编译。

./configure --with-httpd-conf=/etc/apache2/sites-enabled

接下来,通过发出以下命令来编译Nagios,如下图所示。

make all

接下来,创建nagios系统用户和组,并将nagios帐户添加到Apache运行时用户,以便nagios用户具有访问网络资源所需的权限。

useradd nagios
usermod -a -G nagios www-data

现在,通过发出以下命令开始安装Nagios二进制文件,CGI脚本和HTML文件。 make install命令的最终输出应显示二进制位置,如下图所示。

make install

接下来,通过发出以下命令,安装Nagios守护进程systemd init文件并启用系统范围内的nagios服务。

make install-init
systemctl enable nagios.service

此外,通过运行以下命令来安装和配置Nagios外部命令文件。

make install-commandmode

接下来,运行以下命令以安装Nagios守护进程所需的Nagios示例配置文件,以便正确启动和运行。

make install-config

最后,通过执行以下命令,为Nagios安装Apache Web服务器配置文件,该文件位于/ etc / apacahe2 / sites-enabled /目录中。

make install-webconf

使用Apache Web服务器所需的相应密码创建nagiosadmin用户帐户,以便能够通过发出以下命令来登录到Nagios Web工具。

htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin

要访问Nagios Web面板,首先,通过发出以下命令重新启动Apache HTTP服务器并启动Nagios服务。

systemctl restart apache2
systemctl start nagios

然后,通过打开浏览器并访问服务器的IP地址或域名或FQDN并通过HTTP协议附加/ nagios URL路径来登录到Nagios Web Interface,如下面的屏幕截图所示。 使用nagiosadmin用户以及之前为该用户配置的密码,以便登录到Nagios Web界面。

安装Nagios插件

Nagios引擎现在安装在系统上。 但是,Nagios软件尚未运行,因为用于检查主机和服务的插件未安装。 这个行为可以通过导航到Hosts菜单来观察,你会发现插件错误,如下图所示。

为了从源代码编译和安装一些基本的Nagios插件,首先通过发出以下命令确保安装以下库和依赖关系。

apt install libmcrypt-dev make libssl-dev bc gawk dc build-essential snmp libnet-snmp-perl gettext libldap2-dev smbclient fping default-libmysqlclient-dev

在系统中安装完所有的依赖包之后,通过访问以下地址https://github.com/nagios-plugins/nagios-plugins/releases进入Nagios插件存储库页面,并获取最新的源代码存档wget命令行实用程序,如下面的命令示例所示。

wget https://github.com/nagios-plugins/nagios-plugins/archive/release-2.2.1.tar.gz

然后,提取压缩的Nagios插件源代码压缩包,并通过执行以下命令进入解压缩的nagios插件目录。

tar xfz release-2.2.1.tar.gz
cd nagios-plugins-release-2.2.1/

为了从源文件编译和安装Nagios插件,使用root权限执行以下脚本和命令,如下面的摘录所示。

./tools/setup
./configure
make
make install

所有的插件安装后,你可以找到他们在/ usr / local / nagios / libexec /系统路径。 发出ls命令以检查/ usr / local / nagios / libexec /目录中的所有内容,并查看系统中可用于Nagios的插件。

ls /usr/local/nagios/libexec/

为了使Nagios引擎获取并使用已安装的插件,需要重新启动并使用以下命令检查Nagios服务状态。

systemctl restart nagios.service
systemctl status nagios.service

要测试Nagios插件是否按预期工作,请打开浏览器并访问您的服务器的IP地址,FQDN或域名,然后导航到主机或服务菜单,然后重新登录到Nagios Web界面,如下图所示。 受监视的主机和服务现在应该由插件检查,并应显示正确的输出,具体取决于plugin命令退出状态。 显示的颜色是:绿色表示正常,黄色表示警告,红色表示严重。

为了使用HTTPS协议通过安全连接访问Nagios引擎Web界面,请发出以下命令以启用Apache Web服务器SSL模块和SSL站点配置文件。

a2enmod ssl
a2ensite default-ssl.conf

接下来,为了强制访问者每次从浏览器访问Nagios Web界面时自动重定向到HTTPS协议,请打开/etc/apache2/sites-enabled/000-default.conf文件进行编辑,并添加以下重写规则在DocumentRoot语句之后,如下面的例子所示。

RewriteEngine on
RewriteCond %{HTTPS} off
RewriteRule ^(.*) https://%{HTTP_HOST}/$1

最后,重新启动Apache守护程序以应用到目前为止配置的所有规则,并通过HTTP协议访问Nagios Web界面。

systemctl restart apache2.service

为了检查Apache是​​否正在监听HTTPS端口,请执行netstat命令并查找443端口绑定,如下图所示。

netstat -tlpn

如果UFW防火墙应用阻止到HTTPS端口的传入网络连接,则应发出以下命令添加新规则以允许HTTPS流量通过防火墙。

ufw allow 'WWW Full'

要么

ufw allow 443/tcp

如果您运行iptables防火墙来保护您的Debian系统,请添加以下规则以允许防火墙中的端口443入站流量,以便访问者可以浏览Nagios Core Web界面。

iptables -I INPUT -p tcp --destination-port 443 -j ACCEPT
systemctl iptables-persistent save
systemctl iptables-persistent reload

现在,您应该通过HTTPS协议自动重定向到Nagios Web面板。 由于您在安装时使用由Apache发出的自动签名证书对,因此浏览器中应显示错误警告。 接受浏览器警告并使用前面配置的凭据登录到Nagios,如下面的屏幕截图所示。

要添加要由Nagios监视的新主机,请打开/usr/local/nagios/etc/objects/localhost.cfg配置文件进行编辑,并在localhost定义后添加新设备,如下例所示。

define host{
        use                     linux-server
        host_name               router
        alias                   router
        address                 192.168.1.1
        }

相应地替换host_namealiasIP地址变量,并重新启动Nagios守护进程以加载新的主机定义并应用更改。

systemctl restart nagios

几分钟后,导航到Nagios Web界面的“主机”菜单,以检查设备状态,如下图所示。

就这样! 您已经在Debian 9中成功安装并配置了Nagios引擎。您可以开始添加您的组织网络设备,服务器或要由Nagios监控的关键服务。 有关Nagios Core和Nagios插件的其他自定义配置,请访问以下链接的文档页面https://support.nagios.com/kb/category.php?id=12

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

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

支付宝扫一扫打赏

微信扫一扫打赏