Installation der Nagios-Serverüberwachung unter Ubuntu 16.04

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 Warnmeldung aus, wenn auf dem Server etwas Schlimmes passiert. Nagios kann auf Linux-Betriebssystemen laufen. Zur Zeit verwende ich Ubuntu 16.04 für die Installation.

Voraussetzungen

  • 2 Ubuntu 16.04 – 64bit-Server
    • 1 – Nagios-Host mit IP: 192.168.1.9
    • 2 – Ubuntu-Client mit IP: 192.168.1.10
  • Root/Sudo-Zugriff

Was wir in diesem Tutorial tun werden:

  1. Software die Paketabhängigkeiten wie – LAMP etc.
  2. Benutzer- und Gruppenkonfiguration.
  3. Installation von Nagios.
  4. Konfigurieren von Apache.
  5. Testen des Nagios-Servers.
  6. Hinzufügen eines Hosts zum Monitor.

Installieren der Voraussetzungen

Nagios benötigt den gcc-Compiler und Build-essentials für die Kompilierung, LAMP (Apache, PHP, MySQL) für die Nagios-Webschnittstelle und Sendmail zum Versenden von Alerts vom Server. Um all diese Pakete zu installieren, führen Sie diesen Befehl aus (es ist nur 1 Zeile):

sudo apt-get install wget build-essential apache2 php apache2-mod-php7.0 php-gd libgd-dev sendmail unzip

Benutzer- und Gruppenkonfiguration

Damit Nagios läuft, müssen Sie einen neuen Benutzer für Nagios anlegen. Wir werden den Benutzer „nagios“ nennen und zusätzlich eine Gruppe namens „nagcmd“ anlegen. Wir fügen den neuen Benutzer der Gruppe wie unten gezeigt hinzu:

useradd nagios
groupadd nagcmd
usermod -a -G nagcmd nagios
usermod -a -G nagios,nagcmd www-data

Hinzufügen des Nagios-Benutzers

Nagios installieren

Schritt 1 – Herunterladen und Extrahieren des Nagios-Kerns

cd ~
wget https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.2.0.tar.gz
tar -xzf nagios*.tar.gz
cd nagios-4.2.0

Schritt 2 – Nagios kompilieren

Bevor Sie Nagios bauen, müssen Sie es mit dem Benutzer und der Gruppe, die Sie zuvor erstellt haben, konfigurieren.

./configure --with-nagios-group=nagios --with-command-group=nagcmd

Für weitere Informationen verwenden Sie bitte: ./configure –help .

Nun können Sie Nagios installieren:

make all
sudo make install
sudo make install-commandmode
sudo make install-init
sudo make install-config
/usr/bin/install -c -m 644 sample-config/httpd.conf /etc/apache2/sites-available/nagios.conf

Und kopieren Sie das Evenhandler-Verzeichnis in das Nagios-Verzeichnis:

cp -R contrib/eventhandlers/ /usr/local/nagios/libexec/
chown -R nagios:nagios /usr/local/nagios/libexec/eventhandlers

Schritt 3 – Installieren der Nagios-Plugins

Laden Sie die Nagios-Plugins herunter und entpacken Sie sie:

cd ~
wget https://nagios-plugins.org/download/nagios-plugins-2.1.2.tar.gz
tar -xzf nagios-plugins*.tar.gz
cd nagios-plugin-2.1.2/

Installieren Sie die Nagios-Plugins mit den folgenden Kommandos:

./configure --with-nagios-user=nagios --with-nagios-group=nagios --with-openssl
make
make install

Schritt 4 – Nagios konfigurieren

Nachdem die Installationsphase abgeschlossen ist, finden Sie die Standardkonfiguration von Nagios in /usr/local/nagios/.

Wir werden Nagios und Nagios-Kontakt konfigurieren.

Die Standard-Nagios-Konfiguration mit vim bearbeiten:

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

unkommentierte Zeile 51 für die Konfiguration des Host-Monitors.

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

Speichern und beenden.

Fügen Sie einen neuen Ordner namens Server hinzu:

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

Der Nagios-Kontakt kann in der Datei contact.cfg konfiguriert werden. Um sie zu öffnen, verwenden Sie:

vim /usr/local/nagios/etc/objects/contacts.cfg

Ersetzen Sie dann die Standard-E-Mail durch Ihre eigene E-Mail.

E-Mail-Adresse einstellen.

Konfiguration des Apache

Schritt 1 – Apache-Module aktivieren

sudo a2enmod rewrite
sudo a2enmod cgi

Mit dem Kommando htpasswd können Sie einen Benutzer nagiosadmin für die Nagios-Weboberfläche konfigurieren

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

und geben Sie Ihr Passwort ein.

Schritt 2 – aktivieren Sie den Nagios-Virtualhost

sudo ln -s /etc/apache2/sites-available/nagios.conf /etc/apache2/sites-enabled/

Schritt 3 – Apache und Nagios starten

service apache2 restart
service nagios start

Wenn Nagios startet, sehen Sie möglicherweise folgenden Fehler :

Starting nagios (via systemctl): nagios.serviceFailed

Und das ist die Lösung:

cd /etc/init.d/
cp /etc/init.d/skeleton /etc/init.d/nagios

Bearbeiten Sie nun die Nagios-Datei:

vim /etc/init.d/nagios

… und fügen Sie den folgenden Code hinzu:

DESC="Nagios"
NAME=nagios
DAEMON=/usr/local/nagios/bin/$NAME
DAEMON_ARGS="-d /usr/local/nagios/etc/nagios.cfg"
PIDFILE=/usr/local/nagios/var/$NAME.lock

Machen Sie es ausführbar und starten Sie Nagios:

chmod +x /etc/init.d/nagios
service apache2 restart
servuce nagios start

Testen des Nagios-Servers

Bitte öffnen Sie Ihren Browser und greifen Sie in meinem Fall auf die Nagios-Server-IP zu:http://192.168.1.9/nagios.

Nagios-Anmeldung mit Apache htpasswd.

Nagios-Anmeldung

Nagios-Administrator-Dashboard

Nagios-Dashboard

Hinzufügen eines Hosts zum Monitor

In diesem Tutorial werde ich einen Ubuntu-Host zur Überwachung des Nagios-Servers hinzufügen, den wir oben gemacht haben.

Nagios Server IP : 192.168.1.9
Ubuntu Host IP : 192.168.1.10

Schritt 1 – Verbindung zum Ubuntu-Host

ssh root@192.168.1.10

Schritt 2 – NRPE-Dienst installieren

sudo apt-get install nagios-nrpe-server nagios-plugins

Schritt 3 – NRPE konfigurieren

Nachdem die Installation abgeschlossen ist, bearbeiten Sie die nrpe-Datei /etc/nagios/nrpe.cfg:

vim /etc/nagios/nrpe.cfg

… und die Nagios-Server-IP 192.168.1.9 zur server_address hinzufügen.

server_adresse=192.168.1.9

Konfigurieren Sie die Server-Adresse

Schritt 4 – NRPE neu starten

service nagios-nrpe-server restart

Schritt 5 – Ubuntu-Host zum Nagios-Server hinzufügen

Bitte verbinden Sie sich mit dem Nagios-Server:

ssh root@192.168.1.9

Dann erstellen Sie eine neue Datei für die Host-Konfiguration in /usr/local/nagios/etc/servers/.

vim /usr/local/nagios/etc/servers/ubuntu_host.cfg

Fügen Sie die folgenden Zeilen hinzu:

# Ubuntu Host configuration file

define host {
        use                          linux-server
        host_name                    ubuntu_host
        alias                        Ubuntu Host
        address                      192.168.1.10
        register                     1
}

define service {
      host_name                       ubuntu_host
      service_description             PING
      check_command                   check_ping!100.0,20%!500.0,60%
      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                       ubuntu_host
      service_description             Check Users
      check_command           check_local_users!20!50
      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                       ubuntu_host
      service_description             Local Disk
      check_command                   check_local_disk!20%!10%!/
      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                       ubuntu_host
      service_description             Check SSH
      check_command                   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                       ubuntu_host
      service_description             Total Process
      check_command                   check_local_procs!250!400!RSZDT
      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
}

Sie finden viele check_command in der Datei /usr/local/nagios/etc/objects/commands.cfg. Schauen Sie dort nach, wenn Sie weitere Dienste wie DHCP, POP usw. hinzufügen wollen.

Und nun überprüfen Sie die Konfiguration:

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

… um zu sehen, ob die Konfiguration korrekt ist.

Schritt 6 – Neustart aller Dienste

Starten Sie auf dem Ubuntu-Host den NRPE-Dienst:

service nagios-nrpe-server restart

… und starten Sie auf dem Nagios-Server Apache und Nagios:

service apache2 restart
service nagios restart

Schritt 7 – Testen des Ubuntu-Hosts

Öffnen Sie den Nagios-Server vom Browser aus und sehen Sie den zu überwachenden ubuntu_host.

Der Ubuntu-Host ist auf dem überwachten Host verfügbar.

Überwachte Server wird aufgelistet

Alle Dienste werden ohne Fehler überwacht.

Alle Dienste sind grün

Schlussfolgerung

Nagios ist eine Open-Source-Anwendung zur Überwachung eines Systems. Nagios ist aufgrund der einfachen Konfiguration weit verbreitet. Nagios wird von verschiedenen Plugins unterstützt, und Sie können sogar Ihre eigenen Plugins erstellen. Schauen Sie hier für weitere Informationen.

Das könnte dich auch interessieren …