在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