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:
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:
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_hosts
und 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_name
durch Ihren Remote-Hostnamen (im Beispiel „web-1“), den Wert vonalias
durch eine Beschreibung des Hosts undaddress
hinzu. 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-service
bedeutet, 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:
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!