在FreeBSD 13上安装Nagios Core

在本指南中,我们将学习如何在FreeBSD 13上安装Nagios Core。 纳吉奥斯 是一种开源工具,可为IT监视,网络监视,服务器和应用程序监视提供企业级中央监视引擎。它还提供了一个Web界面,用于查看当前状态,历史日志和基本报告。

在FreeBSD 13上安装Nagios Core

Nagios核心4.4.6 是撰写本文时当前的稳定版本。幸运的是,默认的FreeBSD 13存储库目录中提供了Nagios Core 4.4.6。

先决条件

在FreeBSD上安装Apache HTTP Server和PHP

通过运行以下命令在FreeBSD上安装Apache和PHP;

pkg install apache24 mod_php74 php74-gd

安装完成后,请通过确保以下内容来确保Apache能够处理PHP内容: index.php 是DirectoryIndex的一部分。

sed i.bak的/ DirectoryIndex index.html / DirectoryIndex index.html index.php /’/usr/local/etc/apache24/httpd.conf

另外,您应该将以下内容添加到您的Apache配置文件中:

cat >> /usr/local/etc/apache24/httpd.conf << 'EOL'
<FilesMatch ".php$">
    SetHandler application/x-httpd-php
</FilesMatch>
<FilesMatch ".phps$">
    SetHandler application/x-httpd-php-source
</FilesMatch>
'EOL'

保存并退出文件。

确保Apache可以通过创建测试文件来为PHP提供服务器;

echo "<? phpinfo(); ?>" >> /usr/local/www/apache24/data/test.php

然后,您可以启动Apache。

service apache24 onestart

并导航到网址 http://server-host-name-or-ip/test.php

您应该看到显示PHP页面。

您还需要安装Apache utils,例如 htpasswd 用于创建用于基本身份验证的用户。这可以通过FreeBSD端口来完成。

检查如何安装FreeBSD端口。

一旦安装了端口,请按照以下步骤在FreeBSD上安装htpasswd。

cd /usr/ports/security/p5-Apache-Htpasswd/
make install clean

安装后,运行以下命令重新加载$ ​​PATH;

rehash

首先,更新和升级已启用的软件包系统信息库的本地目录。

pkg update
pkg upgrade

在FreeBSD上验证Nagios Core 4.x的可用性;

pkg search nagios4
cnagios-nagios4-0.33_1         Curses-based interface for nagios
nagios4-4.4.6_1,1              Powerful network monitoring system

因此,如您所见,默认FreeBSD目录中提供了Nagios Core的最新发行版。

在FreeBSD 13上安装Nagios Core

因此,您可以通过运行以下命令在FreeBSD 13上安装Nagios Core。

pkg install nagios4-4.4.6_1,1

样本安装输出;

Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Updating database digests format: 100%
The following 5 package(s) will be affected (of 0 checked):

New packages to be INSTALLED:
	libltdl: 2.4.6
	nagios-plugins: 2.3.3_2,1
	nagios4: 4.4.6_1,1
	php74-filter: 7.4.16
	php74-xml: 7.4.16

Number of packages to be installed: 5

The process will require 10 MiB more space.
2 MiB to be downloaded.

Proceed with this action? [y/N]: y

在FreeBSD 13上配置Nagios Core

安装完成后,继续在FreeBSD 13上配置Nagios Core。

启用Apache CGI模块

安装完成后,打开Apache配置文件并启用CGI模块。

找到下面的行,删除以LoadModule开头的行上的#,使它们看起来像;

vi /usr/local/etc/apache24/httpd.conf
...
<IfModule !mpm_prefork_module>
        LoadModule cgid_module libexec/apache24/mod_cgid.so
</IfModule>
<IfModule mpm_prefork_module>
        LoadModule cgi_module libexec/apache24/mod_cgi.so
</IfModule>
...

保存并退出文件。

创建Apache Nagios配置文件

接下来,通过创建nagios.conf文件将Apache配置为服务器Nagios CGI,该文件指定Apache通过运行以下命令来服务器Nagios资源的方式。

cat >> /usr/local/etc/apache24/httpd.conf << 'EOL'
<VirtualHost *:80>
   ServerName nagios.kifarunix-demo.com
   DocumentRoot "/usr/local/www/nagios"

   ScriptAlias /nagios/cgi-bin/ /usr/local/www/nagios/cgi-bin/
   ScriptAlias /nagios/cgi-bin /usr/local/www/nagios/cgi-bin/

   <Directory "/usr/local/www/nagios/cgi-bin">
      Options ExecCGI
      AllowOverride None
      #Require all denied
      Require ip 127.0.0.1 192.168.60.1
   </Directory>
 
   Alias /nagios/ /usr/local/www/nagios/
   Alias /nagios /usr/local/www/nagios/
 
   <Directory "/usr/local/www/nagios">
      Options None
      AllowOverride None
      #Require all denied
      Require ip 127.0.0.1 192.168.60.1
 
      php_flag engine on
      php_admin_value open_basedir /usr/local/www/nagios/:/var/spool/nagios/
   </Directory>
   <Location "/">
      AuthName "Restricted Nagios Access"
      AuthType Basic
      AuthUserFile /usr/local/www/nagios/htpasswd.users
      Require valid-user
   </Location>
</VirtualHost>
'EOL'

如您在上方看到的,我们已允许从任何地方访问我们本地的Nagios(Require all granted),还启用了基本身份验证来访问Nagios网络资源。

配置Nagios模板

配置模板位于 /usr/local/etc/nagios 作为 *.cfg-sample 文件。

ls -1 /usr/local/etc/nagios/
cgi.cfg-sample
nagios.cfg-sample
objects
resource.cfg-sample
ls -1 /usr/local/etc/nagios/objects/
commands.cfg-sample
contacts.cfg-sample
localhost.cfg-sample
printer.cfg-sample
switch.cfg-sample
templates.cfg-sample
timeperiods.cfg-sample
windows.cfg-sample

将它们复制到* .cfg文件中,并根据需要进行编辑。

cd /usr/local/etc/nagios/
find . -type f -name "*.cfg-sample" -exec sh -c 'cp {} $(dirname {})/$(basename {} .cfg-sample).cfg' ;

只是为了确认;

ls -1 /usr/local/etc/nagios/
cgi.cfg
cgi.cfg-sample
nagios.cfg
nagios.cfg-sample
objects
resource.cfg
resource.cfg-sample
ls -1 /usr/local/etc/nagios/objects/
commands.cfg
commands.cfg-sample
contacts.cfg
contacts.cfg-sample
localhost.cfg
localhost.cfg-sample
printer.cfg
printer.cfg-sample
switch.cfg
switch.cfg-sample
templates.cfg
templates.cfg-sample
timeperiods.cfg
timeperiods.cfg-sample
windows.cfg
windows.cfg-sample

如果需要,可以根据需要配置Nagios对象。在此设置中,我们将使用默认设置。

将Nagios配置文件的所有权设置为 nagios 用户。

chown -R nagios:nagios /usr/local/etc/nagios/

创建Nagios基本身份验证用户

创建用于验证Nagios Web资源的用户和密码;

htpasswd -c /usr/local/www/nagios/htpasswd.users kifarunix

默认身份验证用户为 nagiosadmin。如果您使用其他用户,则需要在 cgi.cfg 文件,方法是适当地替换用户nagiosadmin。

例如,在本例中,我们使用用户 kifarunix 因此,替换默认值 nagiosadmin 用户使用下面的命令;

sed -i.org 's/nagiosadmin/kifarunix/g' /usr/local/etc/nagios/cgi.cfg

要将其他用户添加到文件中, omit 选项 -c 在上面的命令中。

验证Nagios配置数据

现在,您可以验证所有配置数据,只是为了确保没有错误。

nagios -v /usr/local/etc/nagios/nagios.cfg

样品输出;

Nagios Core 4.4.6
Copyright (c) 2009-present Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 2020-04-28
License: GPL

Website: https://www.nagios.org
Reading configuration data...
   Read main config file okay...
   Read object config files okay...

Running pre-flight check on configuration data...

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

在FreeBSD上运行Nagios

启动并启用Nagios使其在系统启动时运行;

sysrc nagios_enable="YES"
service nagios start

检查状态;

service nagios status
nagios is running as pid 3584.

运行Apache

使Apache能够在系统启动时运行;

sysrc apache24_enable="YES"

执行Apache配置的健全性检查;

apachectl configtest

如果得到输出, Syntax OK,启动Apache。

service apache24 restart

在FreeBSD上访问Nagios Web界面

您现在可以使用url访问Nagios Web界面 http://server-host-name-OR-IP 或者 http://server-host-name-OR-IP/nagios 或者 http://server-host-name-OR-IP/nagios/

输入您的基本身份验证凭据;

单击登录以继续到仪表板。

在FreeBSD 13上安装Nagios Core

然后你去。

这标志着我们关于如何在FreeBSD 13上安装Nagios Core的指南的结尾。

其他教程

将主机添加到Nagios服务器进行监视

使用Gmail配置Nagios电子邮件通知

使用Nagios监控SSL / TLS证书到期

使用Nagios监控Linux主机check_by_ssh插件

Naiens SNMP监视AlienVault USM / OSSIM上的Linux主机

Sidebar