Nagios-Überwachungssoftware auf Ubuntu 18.04 LTS installieren

Nagios ist Open-Source-Software für die System- und Netzwerküberwachung. Sie kann die Aktivität eines Hosts und seiner Services ü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 18.04 verwenden.

In diesem Tutorial zeigen wir Ihnen Schritt für Schritt die Installation von Nagios 4.4.x unter Ubuntu 18.04. Wir werden den Nagios Core 4.4.x von der Quelle aus installieren, die Plugins nrpe und nagios installieren und dann dem Nagios-Server einen Host zum Überwachen hinzufügen.

Voraussetzungen

  • 2 Ubuntu 18.04-Server
    • Nagios-Server – Hostname: Hakase-Nagios mit einer IP: 10.5.5.11
    • Ubuntu-Kunde – Hostname: client01 mit einer IP: 10.5.5.12
  • Root-Privilegien

Was wir tun werden:

  • Abhängigkeiten von Paketen installieren
  • Nagios Core 4.4.5 installieren
  • Installieren Sie das Nagios-Plugin und das NRPE-Plugin
  • Host zum Monitor zum Nagios-Server hinzufügen
  • Testen

Schritt 1 – Paket-Abhängigkeiten installieren

Zunächst 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-php7.2 libgd-dev libmcrypt-dev make libssl-dev snmp libnet-snmp-perl gettext

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

Schritt 2 – Nagios Core 4.4.5 installieren

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

Nagios Core 4.4.5 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.5.tar.gz

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

tar xzf nagios-4.4.5.tar.gz
cd nagioscore-nagios-4.4.5/

Nagios kompilieren und installieren

Zuerst kompilieren wir den Nagios-Quellcode und definieren 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 Gruppe „nagios“ hinzu.

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

Gruppen und Benutzer installieren

Installieren Sie die Nagios-Binärdateien, das Service-Daemon-Skript und den Command-Modus.

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

Dann Installieren Sie die Beispielskriptkonfiguration.

sudo make install-config

Und zum Schluss 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.5 installiert.

Nagios-Konfiguration installieren

Nagiosadmin-Benutzer anlegen

Nach der Installation des Nagios Core fügen wir die Basis-Authentifizierung für den Zugriff auf das Nagios-Dashboard hinzu. 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 starkes Passwort ein.

Passwort für Nagios-Administrator festlegen

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 Apache-HTTP-Port und den Nagios-Port “ mit dem ufw-Kommando unten hinzu.

sudo ufw allow Apache

Laden Sie nun die UFW-Firewall neu.

sudo ufw reload

Damit haben Sie die Nagios Core-Installation auf dem Ubuntu 18.04-Server abgeschlossen.

Konfigurieren der UFW-Firewall

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 auf dem Ubuntu-Repository verfügbar. Sie können diese Pakete mit dem folgenden apt-Befehl installieren.

sudo apt install nagios-plugins nagios-nrpe-plugin

Wenn die Installation abgeschlossen ist, gehen Sie in das Nagios-Installationsverzeichnis „/usr/local/nagios“ und editieren Sie die Konfigurationsdatei „nagios.cfg“.

cd /usr/local/nagios/
vim nagios.cfg

Entkommentieren Sie das zusätzliche Konfigurationsverzeichnis für Server.

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

Speichern und schließen Sie ihn.

Erstellen Sie nun ein neues Verzeichnis „/usr/local/nagios/etc/servers“, das für die Speicherung der Konfiguration des Host-Monitors verwendet wird.

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

Gehen Sie danach in das Verzeichnis „/usr/local/nagios/etc/“ und bearbeiten Sie die Konfigurationsdatei „resurces.cfg“.

cd /usr/local/nagios/etc/
vim resources.cfg

Ändern Sie das Standardverzeichnis für Nagios-Plugins wie unten angegeben.

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

Speichern und schließen.

Als nächstes fügen Sie die Nagios-Admin-Kontakte hinzu, indem Sie die Konfigurationsdatei „objects/contacts.cfg“ editieren.

vim objects/contacts.cfg

Ändern Sie die Email-Adresse mit Ihrer eigenen.

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

Speichern und schließen.

Als Nächstes definieren Sie das nrpe check-Kommando, indem Sie die Konfigurationsdatei „objects/commands.cfg“ bearbeiten.

vim objects/commands.cfg

Fügen Sie die folgende Konfiguration an das Ende der Zeile ein.

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

Speichern und schließen.

Starten Sie nun den Nagios-Service und fügen Sie ihn dem Systemstart hinzu.

systemctl start nagios
systemctl enable nagios

Konfigurieren Sie Nagios und starten Sie es dann neu, um Änderungen anzuwenden

Der Nagios-Dienst ist eingerichtet und läuft, überprüfen Sie dies mit dem folgenden Befehl.

systemctl status nagios

Unten sehen Sie das Ergebnis.

Nagios-Status prüfen

Als nächstes müssen wir den Apache-Dienst neu starten, um eine neue Nagios-Konfiguration anzuwenden.

systemctl restart apache2

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

http://10.5.5.11/nagios/

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

Nagios-Anmeldung

Sie erhalten dann das Nagios Dashboard wie unten beschrieben.

Nagios-Dashboard

Als Ergebnis haben Sie Nagios auf dem Ubuntu 18.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 „10.5.5.12“ 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@10.5.5.12

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 nagios-plugins

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

cd /etc/nagios/
vim nrpe.cfg

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

server_address=10.5.5.12

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

allowed_hosts=127.0.0.1,::1,10.5.5.11

Speichern und schließen.

Als nächstes bearbeiten Sie die Konfiguration „nrpe_local.cfg“.

vim nrpe_local.cfg

Ändern Sie die IP-Adresse mit der IP-Adresse „client01“, 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 10.5.5.12 -w 100.0,20% -c 500.0,60% -p 5
command[check_ssh]=/usr/lib/nagios/plugins/check_ssh -4 10.5.5.12
command[check_http]=/usr/lib/nagios/plugins/check_http -I 10.5.5.12
command[check_apt]=/usr/lib/nagios/plugins/check_apt

Speichern und schließen.

Starten Sie nun den NRPE-Dienst neu und fügen Sie ihn zum Systemstart hinzu.

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

Und der Nagios-NRPE-Server ist nun einsatzbereit.

NRPE installieren

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

systemctl status nagios-nrpe-server

Der NRPE-Dienst ist eingerichtet und in Betrieb.

NRPE-Server ist aktiv und läuft

Gehen Sie dann zurück zum Nagios-Server und überprüfen Sie den NRPE-Server „client01“.

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

Und Sie erhalten das Ergebnis wie unten dargestellt.

NRPE 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 dort ein.

# Ubuntu Host configuration file1
define host {
use                          linux-server
host_name                    client01
alias                        Ubuntu Host
address                      10.5.5.12
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

Nagios-Client konfigurieren

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.

Nagios testen

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

Ein weiterer Nagios-Test

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

Und die Installation von Nagios 4.4.5 auf dem Ubuntu 18.04 Server wurde erfolgreich abgeschlossen.

Referenz

Das könnte dich auch interessieren …