Einführung
In diesem Tutorial werden wir die Installation von Nagios 4, einem sehr beliebten Open-Source-Überwachungssystem, auf CentOS 7 oder RHEL 7 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 CentOS 7-Server, auf dem Nagios ausgeführt wird, über Superuser-Berechtigungen verfügen. Idealerweise verwenden Sie einen Nicht-Root-Benutzer mit Superuser-Berechtigungen. Wenn Sie Hilfe beim Einrichten benötigen, befolgen Sie die Schritte 1 bis 3 in diesem Lernprogramm: Initial Server Setup with CentOS 7 .
Ein LAMP-Stack ist ebenfalls erforderlich. Folgen Sie diesem Tutorial, wenn Sie dies einrichten müssen: How So installieren Sie den LAMP-Stack unter CentOS 7.
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.
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.
Installieren Sie zuerst die erforderlichen Pakete:
sudo yum install gcc glibc glibc-common gd gd-devel make net-snmp openssl-devel xinetd unzip
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
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 zu Nagios downloads page und klicken Sie auf den Link * Skip to download * unterhalb des Formulars. 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-.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 mit diesem Befehl konfigurieren:
./configure --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 make install-webconf
Um externe Befehle über das Webinterface an Nagios auszugeben, müssen wir den Webserver-Benutzer "+ apache " zur Gruppe " nagcmd +" hinzufügen:
sudo usermod -G nagcmd apache
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 kopieren Sie 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-.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
Den Quellcode für die neueste stabile Version von NRPE finden Sie auf der NRPE 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/.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 Zeile + only_from +
, indem Sie die private IP-Adresse Ihres Nagios-Servers am Ende hinzufügen (ersetzen Sie die tatsächliche IP-Adresse Ihres Servers):
only_from = 127.0.0.1
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 nach einem Kommentar in dieser Zeile, indem Sie das + # +
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 ; <<***** 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 Befehl + check_nrpe +
in Ihren Nagios-Service-Definitionen verwenden.
Konfigurieren Sie Apache
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
Geben Sie an der Eingabeaufforderung ein Passwort ein. Merken Sie sich dieses Login, da Sie es benötigen, um auf die Nagios-Weboberfläche zuzugreifen.
Nagios kann nun gestartet werden. Lassen Sie uns das tun und Apache neu starten:
sudo systemctl daemon-reload
sudo systemctl start nagios.service
sudo systemctl restart httpd.service
Führen Sie den folgenden Befehl aus, damit Nagios beim Serverstart gestartet wird:
sudo chkconfig nagios on
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/httpd/conf.d/nagios.conf
Suchen und kommentieren Sie die folgenden beiden Zeilen, indem Sie vor ihnen die Zeichen "+ # +" einfügen:
Order allow,deny
Allow from all
Kommentieren Sie dann die folgenden Zeilen aus, indem Sie die Symbole "+ # " löschen, und fügen Sie die IP-Adressen oder Bereiche (durch Leerzeichen getrennt) hinzu, die Sie in der Zeile " Zulassen von +" 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 nun Nagios und starten Sie Apache neu, damit die Änderung wirksam wird:
sudo systemctl restart nagios.service
sudo systemctl restart httpd.service
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
Da Apache für die Verwendung von htpasswd konfiguriert wurde, müssen Sie die zuvor erstellten Anmeldeinformationen eingeben. Wir haben "nagiosadmin" als Benutzernamen verwendet:
image: https://assets.digitalocean.com/articles/nagios/htpasswd_prompt.png [htaccess Authentication Prompt]
Nach der Authentifizierung wird die Standard-Nagios-Homepage angezeigt. Klicken Sie in der linken Navigationsleiste auf den Link * Hosts *, um zu sehen, welche Hosts Nagios überwacht:
image: https://assets.digitalocean.com/articles/nagios/hosts_link.png [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 CentOS 7-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 CentOS- oder RHEL-Server, den Sie überwachen möchten.
-
Hinweis: * Wenn Sie einen Ubuntu- oder Debian-Server überwachen möchten, folgen Sie den Anweisungen in diesem Link: https://www.digitalocean.com/community/tutorials/how-to-install-nagios-4-and-monitor- your-servers-on-ubuntu-14-04 # monitor-an-ubuntu-host-with-nrpe [Ubuntu-Host mit NRPE überwachen].
Installieren Sie auf einem Server, den Sie überwachen möchten, das EPEL-Repository:
sudo yum install epel-release
Installieren Sie nun Nagios Plugins und NRPE:
sudo yum install nrpe nagios-plugins-all
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 Direktive "+ allowed_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
Speichern und schließen. Dadurch wird NRPE so konfiguriert, dass Anforderungen von Ihrem Nagios-Server über seine private IP-Adresse akzeptiert werden.
Starten Sie NRPE neu, damit die Änderung wirksam wird:
sudo systemctl start nrpe.service
sudo systemctl enable nrpe.service
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 der Remote-Hosts, die Sie überwachen möchten, in "+ / usr / local / nagios / etc / servers / +". Ersetzen Sie das hervorgehobene Wort "yourhost" durch den Namen Ihres Gastgebers:
sudo vi /usr/local/nagios/etc/servers/.cfg
Fügen Sie in der folgenden Hostdefinition Folgendes hinzu: Ersetzen Sie den Wert "+ Hostname " durch Ihren Remote-Hostnamen ("web-1" im Beispiel), den Wert " Alias " mit einer Beschreibung des Hosts und den Wert " Adresse +" durch Die private IP-Adresse des Remote-Hosts:
define host {
use linux-server
host_name
alias
address
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
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
service_description SSH
check_command check_ssh
notifications_enabled 0
}
Wenn Sie sich nicht sicher sind, was "+ Generic-Service verwenden +" bedeutet, erben Sie einfach die Werte einer Service-Vorlage mit dem Namen "Generic-Service", die standardmäßig definiert ist.
Jetzt speichern und beenden. Laden Sie Ihre Nagios-Konfiguration neu, damit die Änderungen wirksam werden:
sudo systemctl reload nagios.service
Sobald Sie Nagios so konfiguriert haben, dass alle Ihre Remote-Hosts überwacht werden, sollten Sie eingerichtet sein. Greifen Sie unbedingt auf Ihre Nagios-Weboberfläche zu und besuchen Sie die Seite * Dienste *, um alle überwachten Hosts und Dienste anzuzeigen:
image: https://assets.digitalocean.com/articles/nagios/services.png [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 sofort oder sogar bevor ein Problem auftritt beheben können.
Viel Glück!