So installieren Sie Nagios 4 und überwachen Ihre Server unter Ubuntu 14.04

Einführung

In diesem Tutorial werden wir die Installation von Nagios 4, einem sehr beliebten Open-Source-Überwachungssystem, auf Ubuntu 14.04 behandeln. Wir werden einige grundlegende Konfigurationsschritte behandeln, damit Sie Hostressourcen über die Weboberfläche überwachen können. Wir werden auch den Nagios Remote Plugin Executor (NRPE) verwenden, der als Agent auf Remote-Hosts installiert wird, um deren lokale Ressourcen zu überwachen.

Nagios ist nützlich, um ein Inventar Ihrer Server zu führen und um sicherzustellen, dass Ihre kritischen Dienste in Betrieb sind. Die Verwendung eines Überwachungssystems wie Nagios ist ein wesentliches Werkzeug für jede Produktionsserverumgebung.

Voraussetzungen

Um diesem Tutorial folgen zu können, müssen Sie auf dem Ubuntu 14.04-Server, auf dem Nagios ausgeführt wird, Superuser-Berechtigungen besitzen. Idealerweise verwenden Sie einen Nicht-Root-Benutzer mit Superuser-Berechtigungen. Wenn Sie Hilfe beim Einrichten benötigen, führen Sie die Schritte 1 bis 3 in diesem Lernprogramm aus:Initial Server Setup with Ubuntu 14.04.

Ein LAMP-Stack ist ebenfalls erforderlich. Befolgen Sie dieses Tutorial, wenn Sie dies einrichten müssen:How To Install Linux, Apache, MySQL, PHP (LAMP) stack on Ubuntu 14.04.

In diesem Lernprogramm wird davon ausgegangen, dass auf Ihrem Server das private Netzwerk aktiviert ist. Wenn dies nicht der Fall ist, ersetzen Sie einfach alle Verweise auf private IP-Adressen durch öffentliche IP-Adressen.

Nachdem die Voraussetzungen geklärt sind, können Sie Nagios 4 installieren.

Installieren Sie Nagios 4

In diesem Abschnitt erfahren Sie, wie Sie Nagios 4 auf Ihrem Überwachungsserver installieren. Sie müssen diesen Abschnitt nur einmal ausfüllen.

Nagios-Benutzer und -Gruppe erstellen

Wir müssen einen Benutzer und eine Gruppe erstellen, die den Nagios-Prozess ausführen. Erstellen Sie einen „Nagios“ -Benutzer und eine „NagCMD“ -Gruppe, und fügen Sie den Benutzer mit den folgenden Befehlen der Gruppe hinzu:

sudo useradd nagios
sudo groupadd nagcmd
sudo usermod -a -G nagcmd nagios

Installieren Sie Build-Abhängigkeiten

Da wir Nagios Core aus dem Quellcode erstellen, müssen wir einige Entwicklungsbibliotheken installieren, mit denen wir den Build abschließen können. Während wir gerade dabei sind, werden wir auchapache2-utils installieren, mit denen die Nagios-Weboberfläche eingerichtet wird.

Aktualisieren Sie zunächst Ihre apt-get-Paketlisten:

sudo apt-get update

Dann installiere die benötigten Pakete:

sudo apt-get install build-essential libgd2-xpm-dev openssl libssl-dev xinetd apache2-utils unzip

Lassen Sie uns Nagios jetzt installieren.

Installieren Sie Nagios Core

Laden Sie den Quellcode für die neueste stabile Version von Nagios Core herunter. Gehen Sie zuNagios downloads page und klicken Sie auf den LinkSkip to download unter dem Formular. Kopieren Sie die Link-Adresse für die neueste stabile Version, damit Sie sie auf Ihren Nagios-Server herunterladen können.

Zum Zeitpunkt des Schreibens dieses Dokuments ist Nagios 4.1.1 die neueste stabile Version. Laden Sie es mit curl in Ihr Home-Verzeichnis herunter:

cd ~
curl -L -O https://assets.nagios.com/downloads/nagioscore/releases/nagios-4.1.1.tar.gz

Extrahieren Sie das Nagios-Archiv mit diesem Befehl:

tar xvf nagios-*.tar.gz

Wechseln Sie dann in das extrahierte Verzeichnis:

cd nagios-*

Bevor wir Nagios erstellen, müssen wir es konfigurieren. Wenn Sie es für die Verwendung von Postfix konfigurieren möchten (das Sie mit apt-get installieren können), fügen Sie dem folgenden Befehl--with-mail=/usr/sbin/sendmail hinzu:

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

Nun kompiliere Nagios mit diesem Befehl:

make all

Jetzt können wir diese make-Befehle ausführen, um Nagios, Init-Skripte und Beispielkonfigurationsdateien zu installieren:

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

Um externe Befehle über die Webschnittstelle an Nagios zu senden, müssen wir den Webserverbenutzerwww-data zur Gruppenagcmd hinzufügen:

sudo usermod -G nagcmd www-data

Installieren Sie Nagios Plugins

Die neueste Version der Nagios Plugins finden Sie hier:Nagios Plugins Download. Kopieren Sie die Linkadresse für die neueste Version und die Linkadresse, damit Sie sie auf Ihren Nagios-Server herunterladen können.

Zum Zeitpunkt des Schreibens ist Nagios Plugins 2.1.1 die neueste Version. Laden Sie es mit curl in Ihr Home-Verzeichnis herunter:

cd ~
curl -L -O http://nagios-plugins.org/download/nagios-plugins-2.1.1.tar.gz

Extrahiere Nagios Plugins Archiv mit diesem Befehl:

tar xvf nagios-plugins-*.tar.gz

Wechseln Sie dann in das extrahierte Verzeichnis:

cd nagios-plugins-*

Bevor wir Nagios Plugins erstellen, müssen wir es konfigurieren. Verwenden Sie diesen Befehl:

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

Jetzt kompiliere Nagios Plugins mit diesem Befehl:

make

Dann installieren Sie es mit diesem Befehl:

sudo make install

Installieren Sie NRPE

Suchen Sie den Quellcode für die neueste stabile Version von NRPE unterNRPE downloads page. Laden Sie die neueste Version auf Ihren Nagios-Server herunter.

Zum Zeitpunkt des Schreibens dieses Dokuments ist die neueste Version 2.15. Laden Sie es mit curl in Ihr Home-Verzeichnis herunter:

cd ~
curl -L -O http://downloads.sourceforge.net/project/nagios/nrpe-2.x/nrpe-2.15/nrpe-2.15.tar.gz

Extrahieren Sie das NRPE-Archiv mit diesem Befehl:

tar xvf nrpe-*.tar.gz

Wechseln Sie dann in das extrahierte Verzeichnis:

cd nrpe-*

Konfigurieren Sie NRPE mit diesen Befehlen:

./configure --enable-command-args --with-nagios-user=nagios --with-nagios-group=nagios --with-ssl=/usr/bin/openssl --with-ssl-lib=/usr/lib/x86_64-linux-gnu

Erstellen und installieren Sie nun NRPE und sein xinetd-Startskript mit den folgenden Befehlen:

make all
sudo make install
sudo make install-xinetd
sudo make install-daemon-config

Öffnen Sie das xinetd-Startskript in einem Editor:

sudo vi /etc/xinetd.d/nrpe

Ändern Sie die Zeileonly_from, indem Sie am Ende die private IP-Adresse Ihres Nagios-Servers hinzufügen (ersetzen Sie die tatsächliche IP-Adresse Ihres Servers):

only_from = 127.0.0.1 10.132.224.168

Speichern und schließen. Nur der Nagios-Server darf mit NRPE kommunizieren.

Starten Sie den xinetd-Dienst neu, um NRPE zu starten:

sudo service xinetd restart

Nachdem Nagios 4 installiert ist, müssen wir es konfigurieren.

Nagios konfigurieren

Nehmen wir nun die anfängliche Nagios-Konfiguration vor. Sie müssen diesen Abschnitt nur einmal auf Ihrem Nagios-Server ausführen.

Organisieren Sie die Nagios-Konfiguration

Öffnen Sie die Nagios-Hauptkonfigurationsdatei in Ihrem bevorzugten Texteditor. Wir werden vi verwenden, um die Datei zu bearbeiten:

sudo vi /usr/local/nagios/etc/nagios.cfg

Suchen Sie nun einen Kommentar zu dieser Zeile, indem Sie# löschen:

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

Speichern und schließen.

Erstellen Sie nun das Verzeichnis, in dem die Konfigurationsdatei für jeden zu überwachenden Server gespeichert wird:

sudo mkdir /usr/local/nagios/etc/servers

Nagios-Kontakte konfigurieren

Öffnen Sie die Nagios-Kontaktkonfiguration in Ihrem bevorzugten Texteditor. Wir werden vi verwenden, um die Datei zu bearbeiten:

sudo vi /usr/local/nagios/etc/objects/contacts.cfg

Suchen Sie die E-Mail-Direktive und ersetzen Sie ihren Wert (den hervorgehobenen Teil) durch Ihre eigene E-Mail-Adresse:

email                           nagios@localhost        ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******

Speichern und schließen.

Konfigurieren Sie den Befehl check_nrpe

Fügen wir unserer Nagios-Konfiguration einen neuen Befehl hinzu:

sudo vi /usr/local/nagios/etc/objects/commands.cfg

Fügen Sie am Ende der Datei Folgendes hinzu:

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

Speichern und schließen. Auf diese Weise können Sie den Befehlcheck_nrpe in Ihren Nagios-Dienstdefinitionen verwenden.

Konfigurieren Sie Apache

Aktivieren Sie die Apache Rewrite- und CGI-Module:

sudo a2enmod rewrite
sudo a2enmod cgi

Verwenden Sie htpasswd, um einen Admin-Benutzer namens "nagiosadmin" zu erstellen, der auf die Nagios-Weboberfläche zugreifen kann:

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

Geben Sie an der Eingabeaufforderung ein Passwort ein. Merken Sie sich dieses Kennwort, da Sie es für den Zugriff auf die Nagios-Weboberfläche benötigen.

[.note] #Note: Wenn Sie einen Benutzer mit dem Namen "nagiosadmin" erstellen, müssen Sie/usr/local/nagios/etc/cgi.cfg bearbeiten und alle "nagiosadmin" -Referenzen auf den von Ihnen erstellten Benutzer ändern.
) s #

Erstellen Sie nun eine symbolische Verknüpfung vonnagios.conf mit dem Verzeichnissites-enabled:

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

Nagios kann nun gestartet werden. Lassen Sie uns das tun und Apache neu starten:

sudo service nagios start
sudo service apache2 restart

Führen Sie den folgenden Befehl aus, damit Nagios beim Serverstart gestartet wird:

sudo ln -s /etc/init.d/nagios /etc/rcS.d/S99nagios

Optional: Beschränken Sie den Zugriff nach IP-Adresse

Wenn Sie die IP-Adressen einschränken möchten, die auf die Nagios-Weboberfläche zugreifen können, müssen Sie die Apache-Konfigurationsdatei bearbeiten:

sudo vi /etc/apache2/sites-available/nagios.conf

Suchen und kommentieren Sie die folgenden zwei Zeilen, indem Sie# Symbole vor sich hinzufügen:

Order allow,deny
Allow from all

Kommentieren Sie dann die folgenden Zeilen aus, indem Sie die#-Symbole löschen und die IP-Adressen oder Bereiche (durch Leerzeichen getrennt) hinzufügen, die Sie in derAllow from-Zeile zulassen möchten:

#  Order deny,allow
#  Deny from all
#  Allow from 127.0.0.1

Da diese Zeilen in der Konfigurationsdatei zweimal erscheinen, müssen Sie diese Schritte erneut ausführen.

Speichern und schließen.

Starten Sie jetzt Apache neu, damit die Änderung wirksam wird:

sudo service nagios restart
sudo service apache2 restart

Nagios wird jetzt ausgeführt. Versuchen wir also, uns anzumelden.

Zugriff auf das Nagios-Webinterface

Öffnen Sie Ihren bevorzugten Webbrowser und rufen Sie Ihren Nagios-Server auf (ersetzen Sie den hervorgehobenen Teil durch die IP-Adresse oder den Hostnamen):

http://nagios_server_public_ip/nagios

Da Apache für die Verwendung von htpasswd konfiguriert wurde, müssen Sie die zuvor erstellten Anmeldeinformationen eingeben. Wir haben "nagiosadmin" als Benutzernamen verwendet:

htaccess Authentication Prompt

Nach der Authentifizierung wird die Standard-Nagios-Homepage angezeigt. Klicken Sie in der linken Navigationsleiste auf den LinkHosts, um zu sehen, welche Hosts Nagios überwacht:

Nagios Hosts Page

Wie Sie sehen, überwacht Nagios nur "localhost" oder sich selbst.

Lassen Sie uns einen anderen Host mit Nagios überwachen!

Überwachen Sie einen Host mit NRPE

In diesem Abschnitt zeigen wir Ihnen, wie Sie Nagios einen neuen Host hinzufügen, damit dieser überwacht wird. Wiederholen Sie diesen Abschnitt für jeden Server, den Sie überwachen möchten.

Aktualisieren Sie apt-get auf einem Server, den Sie überwachen möchten:

sudo apt-get update

Installieren Sie nun Nagios Plugins und NRPE:

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

Zulässige Hosts konfigurieren

Jetzt aktualisieren wir die NRPE-Konfigurationsdatei. Öffnen Sie es in Ihrem bevorzugten Editor (wir verwenden vi):

sudo vi /etc/nagios/nrpe.cfg

Suchen Sie die Direktiveallowed_hostsund fügen Sie die private IP-Adresse Ihres Nagios-Servers zur durch Kommas getrennten Liste hinzu (ersetzen Sie sie durch das hervorgehobene Beispiel):

allowed_hosts=127.0.0.1,10.132.224.168

Speichern und schließen. Dadurch wird NRPE so konfiguriert, dass Anforderungen von Ihrem Nagios-Server über seine private IP-Adresse akzeptiert werden.

Zulässige NRPE-Befehle konfigurieren

Suchen Sie den Namen Ihres Root-Dateisystems (da es sich um eines der Elemente handelt, die wir überwachen möchten):

df -h /

Wir werden den Dateisystemnamen in der NRPE-Konfiguration verwenden, um die Festplattennutzung zu überwachen (wahrscheinlich/dev/vda). Öffnen Sie nun nrpe.cfg zum Bearbeiten:

sudo vi /etc/nagios/nrpe.cfg

Die NRPE-Konfigurationsdatei ist sehr lang und voller Kommentare. Es gibt einige Zeilen, die Sie suchen und ändern müssen:

  • server_address: Auf die private IP-Adresse dieses Hosts setzen

  • allowed_hosts: Stellen Sie die private IP-Adresse Ihres Nagios-Servers ein

  • command[check_hda1]: Ändern Sie/dev/hda1 in ein beliebiges Root-Dateisystem

Die drei oben genannten Zeilen sollten folgendermaßen aussehen (ersetzen Sie die entsprechenden Werte):

server_address=client_private_IP
allowed_hosts=nagios_server_private_IP
command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/vda

Beachten Sie, dass in dieser Datei mehrere andere „Befehle“ definiert sind, die ausgeführt werden, wenn der Nagios-Server für deren Verwendung konfiguriert ist. Beachten Sie auch, dass NRPE Port 5666 überwacht, daserver_port=5666 eingestellt ist. Wenn Sie Firewalls haben, die diesen Port blockieren, müssen Sie ihn unbedingt für Ihren Nagios-Server öffnen.

Speichern und Beenden.

NRPE neu starten

Starten Sie NRPE neu, damit die Änderung wirksam wird:

sudo service nagios-nrpe-server restart

Nachdem Sie NRPE auf den zu überwachenden Hosts installiert und konfiguriert haben, müssen Sie diese Hosts zu Ihrer Nagios-Serverkonfiguration hinzufügen, bevor Sie mit der Überwachung beginnen können.

Host zur Nagios-Konfiguration hinzufügen

Erstellen Sie auf Ihrem Nagios-Server eine neue Konfigurationsdatei für jeden Remote-Host, den Sie in/usr/local/nagios/etc/servers/ überwachen möchten. Ersetzen Sie das hervorgehobene Wort "yourhost" durch den Namen Ihres Gastgebers:

sudo vi /usr/local/nagios/etc/servers/yourhost.cfg

Fügen Sie in der folgenden Hostdefinition den Wert vonhost_namedurch Ihren Remote-Hostnamen (im Beispiel „web-1“), den Wert vonaliasdurch eine Beschreibung des Hosts undaddresshinzu. s Wert mit der privaten IP-Adresse des Remote-Hosts:

define host {
        use                             linux-server
        host_name                       yourhost
        alias                           My first Apache server
        address                         10.132.234.52
        max_check_attempts              5
        check_period                    24x7
        notification_interval           30
        notification_period             24x7
}

Mit der obigen Konfigurationsdatei überwacht Nagios nur, ob der Host aktiv oder inaktiv ist. Wenn dies für Sie ausreicht, speichern und beenden Sie Nagios und starten Sie es neu. Wenn Sie bestimmte Dienste überwachen möchten, lesen Sie weiter.

Fügen Sie einen dieser Service-Blöcke für Services hinzu, die Sie überwachen möchten. Beachten Sie, dass der Wert von check_command bestimmt, was überwacht wird, einschließlich der Statusschwellenwerte. Hier einige Beispiele, die Sie zur Konfigurationsdatei Ihres Hosts hinzufügen können:

Klingeln:

define service {
        use                             generic-service
        host_name                       yourhost
        service_description             PING
        check_command                   check_ping!100.0,20%!500.0,60%
}

SSH (notifications_enabled auf 0 gesetzt deaktiviert Benachrichtigungen für einen Dienst):

define service {
        use                             generic-service
        host_name                       yourhost
        service_description             SSH
        check_command                   check_ssh
        notifications_enabled           0
}

Wenn Sie nicht sicher sind, wasuse generic-servicebedeutet, erbt es einfach die Werte einer Dienstvorlage mit dem Namen "generischer Dienst", die standardmäßig definiert ist.

Jetzt speichern und beenden. Laden Sie Ihre Nagios-Konfiguration neu, damit die Änderungen wirksam werden:

sudo service nagios reload

Sobald Sie Nagios so konfiguriert haben, dass alle Ihre Remote-Hosts überwacht werden, sollten Sie eingerichtet sein. Stellen Sie sicher, dass Sie auf Ihre Nagios-Weboberfläche zugreifen, und sehen Sie sich die SeiteServicesan, um alle überwachten Hosts und Dienste anzuzeigen:

Nagios Services Page

Fazit

Nachdem Sie Ihre Hosts und einige ihrer Services überwacht haben, möchten Sie möglicherweise einige Zeit damit verbringen, herauszufinden, welche Services für Sie von entscheidender Bedeutung sind, damit Sie diese überwachen können. Möglicherweise möchten Sie auch Benachrichtigungen einrichten, damit Sie beispielsweise eine E-Mail erhalten, wenn Ihre Datenträgernutzung eine Warnung oder einen kritischen Schwellenwert erreicht oder Ihre Hauptwebsite heruntergefahren ist, sodass Sie die Situation umgehend oder sogar bevor ein Problem auftritt beheben können.

Viel Glück!

Related