Wie installiert man Nagios-Überwachungssoftware auf Ubuntu 20.04 LTS

Nagios ist eine Open-Source-Software für die System- und Netzwerküberwachung. Nagios kann die Aktivität eines Hosts und seiner Dienste überwachen und gibt eine Warnung/Alarmierung aus, wenn auf dem Server etwas Schlimmes passiert. Nagios kann auf Linux-Betriebssystemen laufen, und wir werden den Server Ubuntu 20.04 verwenden.

In diesem Tutorial zeigen wir Ihnen Schritt für Schritt die Installation von Nagios 4.4.x unter Ubuntu 20.04. Wir werden den Nagios Core 4.4.x vom Quellcode aus installieren, die nrpe- und Nagios-Plugins installieren und dann dem Nagios-Server den zu überwachenden Host hinzufügen.

Voraussetzungen

  • 2 Ubuntu 20.04-Server
    • Nagios-Server – Hostname: nagios20 mit einer IP: 172.16.0.5
    • Ubuntu-Client – Hostname: client01 mit einer IP: 172.16.0.6
  • Root-Privilegien

Was wir tun werden:

  • Abhängigkeiten von Paketen installieren
  • Nagios Core 4.4.6 installieren
  • Nagios-Plugin und NRPE-Plugin installieren
  • Zu überwachenden Host zum Nagios-Server hinzufügen
  • Prüfung

Schritt 1 – Installieren der Paketabhängigkeiten

Zuerst werden wir das Ubuntu-Repository aktualisieren und einige Paketabhängigkeiten für die Nagios-Installation installieren.

Aktualisieren Sie das Ubuntu-Repository mit dem folgenden apt-Befehl.

sudo apt update

Danach installieren Sie die Paketabhängigkeiten für die Nagios-Installation.

sudo apt install -y autoconf bc gawk dc build-essential gcc libc6 make wget unzip apache2 php libapache2-mod-php libgd-dev libmcrypt-dev make libssl-dev snmp libnet-snmp-perl gettext

Und schon haben Sie die Paketabhängigkeiten für den Nagios-Server installiert.

Schritt 2 – Nagios Core 4.4.6 installieren

In diesem Schritt werden wir die neueste stabile Version Nagios Core 4.4.6 installieren. Und wir werden sie manuell von der Quelle installieren.

– Nagios-Kern 4.4.6 herunterladen

Gehen Sie in Ihr Home-Verzeichnis und laden Sie den Nagios Core-Quellcode herunter.

cd ~/
wget https://github.com/NagiosEnterprises/nagioscore/archive/nagios-4.4.6.tar.gz

Entpacken Sie das Nagios-Paket und gehen Sie in das extrahierte Nagios-Verzeichnis.

tar -xf nagios-4.4.6.tar.gz
cd nagioscore-*/

– Kompilieren und Installieren von Nagios

Kompilieren Sie zunächst den Nagios-Quellcode und definieren Sie die Konfiguration des virtuellen Apache-Hosts für Nagios.

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

Nagios kompilieren

Legen Sie den Nagios-Benutzer und die Nagios-Gruppe an und fügen Sie den Apache-Benutzer ‚www-data‘ zur ‚Nagios‘-Gruppe hinzu.

sudo make install-groups-users
sudo usermod -a -G nagios www-data

Nagios Benutzer und Gruppe hinzufügen

Installieren Sie Nagios-Binärdateien, das Service-Daemon-Skript und den Kommandomodus.

sudo make install
sudo make install-daemoninit
sudo make install-commandmode

Danach installieren Sie die Beispielskriptkonfiguration.

sudo make install-config

Installieren Sie dann die Apache-Konfiguration für Nagios und aktivieren Sie die Module mod_rewrite und mode_cgi.

sudo make install-webconf
sudo a2enmod rewrite cgi

Starten Sie nun den Apache-Dienst neu.

systemctl restart apache2

Und Sie haben den Nagios Core 4.4.6 installiert.

Nagioscore kompilieren

– Nagiosadmin-Benutzer anlegen

Nach der Installation des Nagios-Kerns werden wir die Basis-Authentifizierung für den Zugriff auf das Nagios-Dashboard hinzufügen. Und wir werden die Basis-Authentifizierung für Apache verwenden.

Erstellen Sie eine neue Apache-Basis-Authentifizierung für den Benutzer „nagiosadmin“.

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

Geben Sie Ihr sicheres Passwort ein.

Nagios-Admin-Benutzer anlegen

Und Sie haben einen neuen Benutzer „nagiosadmin“ für die Nagios-Dashboard-Authentifizierung angelegt.

– UFW-Firewall einrichten

Für die Firewall-Konfiguration müssen Sie den Apache-Dienst und den Nagios-Server-Port zur UFW-Firewall hinzufügen.

Fügen Sie den SSH- und Apache-HTTP-Port mit dem ufw-Kommando unten hinzu.

for svc in Apache ssh
do
ufw allow $svc
done

Als nächstes starten wir den UFW-Firewall-Service und fügen ihn dem Systemstart hinzu.

ufw enable

Geben Sie ‚y‚ ein, und der UFW-Firewall-Service wird aktiviert.

Überprüfen Sie nun alle verfügbaren Regeln mit dem untenstehenden Kommando.

ufw status numbered

Nun erhalten Sie sowohl den SSH- als auch den Apache-Dienst zur UFW-Firewall hinzugefügt.

Port zur UFW-Firewall hinzufügen

Und schließlich haben Sie die Nagios Core-Installation auf dem Ubuntu 20.04-Server abgeschlossen.

Schritt 3 – Nagios-Plugins und NRPE-Plugin installieren

Nach der Installation des Nagios-Kerns werden wir die Nagios-Plugins und NRPE-Plugins installieren.

Sowohl Nagios- als auch NRPE-Plugins sind standardmäßig im Ubuntu-Repository verfügbar. Sie können diese Pakete mit dem folgenden apt-Befehl installieren.

sudo apt install monitoring-plugins nagios-nrpe-plugin

Sobald die Installation abgeschlossen ist, gehen Sie in das Nagios-Installationsverzeichnis „/usr/local/nagios/etc“ und legen Sie ein neues Verzeichnis für die Speicherung der Konfiguration aller Server-Hosts an.

cd /usr/local/nagios/etc
mkdir -p /usr/local/nagios/etc/servers

Als nächstes editieren Sie die Nagios-Konfiguration ’nagios.cfg‘ mit dem vim-Editor.

vim nagios.cfg

Entkommentieren Sie die Option ‚cfg_dir‘, die für Sotring aller Server-Hot-Konfigurationen verwendet wird.

cfg_dir=/usr/local/nagios/etc/servers

Speichern und schließen.

Als nächstes editieren Sie die Konfigurationsdatei „resource.cfg“ und definieren die Pfad-Binärdateien der Nagios Monitoring Plugins.

vim resource.cfg

Definieren Sie den Pfad zu den Nagios Monitoring Plugins, indem Sie die Standardkonfiguration wie unten beschrieben ändern.

$USER1$=/usr/lib/nagios/plugins

Speichern und schließen.

Fügen Sie danach die E-Mail-Kontakte des Nagios-Administrators hinzu, indem Sie die Konfigurationsdatei „objects/contacts.cfg“ bearbeiten.

vim objects/contacts.cfg

Ändern Sie die E-Mail-Adresse mit Ihrer eigenen.

define contact{
        ......
        email             email@host.com
}

Speichern und schließen.

Definieren Sie nun den Befehl nrpe check, indem Sie die Konfigurationsdatei „objects/commands.cfg“ bearbeiten.

vim objects/commands.cfg

Fügen Sie die folgende Konfiguration am Ende der Zeile hinzu.

define command{
        command_name check_nrpe
        command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

Speichern und schließen, und die Nagioscore-Konfiguration ist abgeschlossen.

Als nächstes starten Sie den Nagios-Dienst und fügen ihn dem Systemstart hinzu.

systemctl start nagios
systemctl enable nagios

Nagios NRPE-Plugins einrichten

Der Nagios-Dienst ist betriebsbereit, überprüfen Sie ihn mit dem folgenden Befehl.

systemctl status nagios

Unten finden Sie das Ergebnis.

Nagios-Dienst prüfen

Als Ergebnis ist der Nagios-Dienst einsatzbereit. Jetzt müssen wir den Apache-Dienst neu starten, um eine neue Nagios-Konfiguration anzuwenden.

systemctl restart apache2

Die Nagios-Konfiguration ist abgeschlossen.

Öffnen Sie Ihren Webbrowser und geben Sie die IP-Adresse des Servers nach dem „nagios“-URL-Pfad ein.

http://172.16.0.5/nagios/

Melden Sie sich mit dem Benutzer „nagiosadmin“ an und geben Sie Ihr Passwort ein.

Anmeldung am Nagios-Server

Und Sie erhalten das Nagios-Dashboard wie unten dargestellt.

Nagios-Dashboard

Infolgedessen haben Sie Nagios auf dem Ubuntu 20.04-Server installiert. Und Sie sind in der Lage, dem Nagios-Server Hosts hinzuzufügen.

Schritt 5 – Linux-Host zum Monitor hinzufügen

In diesem Schritt werden wir den Ubuntu-Server mit dem Hostnamen „client01“ und der IP-Adresse „172.16.0.6“ zum Nagios-Server hinzufügen.

– Installieren Sie den NRPE-Server auf dem Client01-Server

Melden Sie sich mit Ihrer ssh am Server „client01“ an.

ssh root@172.16.0.6

Nachdem Sie sich angemeldet haben, aktualisieren Sie das Ubuntu-Repository und installieren Sie Nagios-Plugins und NRPE-Server.

sudo apt update
sudo apt install nagios-nrpe-server monitoring-plugins

Gehen Sie als nächstes in das NRPE-Installationsverzeichnis „/etc/nagios“ und editieren Sie die Konfigurationsdatei „nrpe.cfg“.

cd /etc/nagios/
vim nrpe.cfg

Kommentieren Sie die Zeile „server_address“ aus und ändern Sie den Wert mit der IP-Adresse „client01“.

server_address=172.16.0.6

Fügen Sie in der Zeile „allowed_hosts“ die Nagios-Server-IP-Adresse „172.16.0.5“ hinzu.

allowed_hosts=127.0.0.1,::1,172.16.0.5

Speichern und schließen.

Bearbeiten Sie anschließend die Konfiguration „nrpe_local.cfg“.

vim nrpe_local.cfg

Ändern Sie die IP-Adresse mit der „client01“-IP-Adresse und fügen Sie die Konfiguration dort ein.

command[check_root]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
command[check_ping]=/usr/lib/nagios/plugins/check_ping -H 172.16.0.6 -w 100.0,20% -c 500.0,60% -p 5
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh -4 172.16.0.6
command[check_http]=/usr/lib/nagios/plugins/check_http -I 172.16.0.6
command[check_apt]=/usr/lib/nagios/plugins/check_apt

Speichern und schließen.

Nun starten wir den NRPE-Dienst neu und fügen ihn dem Systemstart hinzu.

systemctl restart nagios-nrpe-server
systemctl enable nagios-nrpe-server

Und der Nagios-NRPE-Server von Nagios ist einsatzbereit.

Host zu Nagios hinzufügen

Überprüfen Sie den NRPE-Dienst mit dem folgenden Befehl.

systemctl status nagios-nrpe-server

Der NRPE-Dienst ist eingerichtet und in Betrieb.

Nagios NRPE-Dienst prüfen

Als nächstes gehen Sie zurück zum Nagios-Server und überprüfen Sie den NRPE-Server „client01“.

/usr/lib/nagios/plugins/check_nrpe -H 172.16.0.6
/usr/lib/nagios/plugins/check_nrpe -H 172.16.0.6 -c check_ping

Und Sie erhalten das Ergebnis wie unten dargestellt.

NRPE-Status prüfen

Und Sie haben den Nagios NRPE-Server und die Nagios-Plugins auf dem Host „client01“ installiert.

– Hosts Konfiguration zum Nagios Server hinzufügen

Zurück zum Nagios-Server-Terminal, gehen Sie in das Verzeichnis „/usr/local/nagios/etc“ und erstellen Sie eine neue Konfiguration „server/client01.cfg“.

cd /usr/local/nagios/etc
vim servers/client01.cfg

Ändern Sie die IP-Adresse und den Hostnamen mit Ihrer eigenen und fügen Sie die Konfiguration darin ein.

# Ubuntu Host configuration file1
define host {
use                          linux-server
host_name                    client01
alias                        Ubuntu Host
address                      172.16.0.6
register                     1
}

define service {
host_name                       client01
service_description             PING
check_command                   check_nrpe!check_ping
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period                    24x7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period             24x7
notifications_enabled           1
register                        1
}

define service {
host_name                       client01
service_description             Check Users
check_command                   check_nrpe!check_users
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period                    24x7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period             24x7
notifications_enabled           1
register                        1
}

define service {
host_name                       client01
service_description             Check SSH
check_command                   check_nrpe!check_ssh
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period                    24x7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period             24x7
notifications_enabled           1
register                        1
}

define service {
host_name                       client01
service_description             Check Root / Disk
check_command                   check_nrpe!check_root
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period                    24x7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period             24x7
notifications_enabled           1
register                        1
}

define service {
host_name                       client01
service_description             Check APT Update
check_command                   check_nrpe!check_apt
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period                    24x7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period             24x7
notifications_enabled           1
register                        1
}

define service {
host_name                       client01
service_description             Check HTTP
check_command                   check_nrpe!check_http
max_check_attempts              2
check_interval                  2
retry_interval                  2
check_period                    24x7
check_freshness                 1
contact_groups                  admins
notification_interval           2
notification_period             24x7
notifications_enabled           1
register                        1
}

Speichern und schließen.

Starten Sie nun den Nagios-Server neu.

systemctl restart nagios

Host zum Nagios-Server hinzufügen

Schritt 5 – Testen

Gehen Sie zurück zu Ihrem Browser und warten Sie einige Minuten.

Klicken Sie auf das Menü „Hosts“ und Sie werden sehen, dass der „client01“ hinzugefügt wurde.

Host zu Nagios hinzufügen

Unten finden Sie Details zur Überwachung des „client01“-Servers.

Nagios-Dienste Überwachung

Jetzt haben Sie dem Nagios-Server den zu überwachenden Host hinzugefügt.

Und die Installation von Nagios 4.4.6 auf dem Ubuntu 20.04 Server wurde erfolgreich abgeschlossen.

Referenz

Das könnte dich auch interessieren …