
Nagios – Monitoring mit NRPE
Brunnen, Brunnen… Lassen Sie uns ein wenig mehr txitxa in unsere Nagios einbauen, Centreon oder was auch immer wir haben, Wir werden mit etwas sehr Interessantem für diejenigen fortfahren, die fortgeschrittenere Elemente überwachen möchten! Wir werden einen kleinen Agenten verwenden, der auf Remote-Windows- oder Linux-Computern installiert wird, Wozu? Nun, unter anderem, um Skripte auf diesen Rechnern auszuführen. Wir können jedes PowerShell-Skript ausführen, Stapel, VBScript, Perl… und lesen Sie dann das Ergebnis des Befehls und diskutieren Sie es mit Nagios!
Nagios Remote Plugin Executor (NRPE) Es wird als Dienst oder Daemon auf den zu überwachenden Maschinen ausgeführt und lauscht so, dass von Nagios, mit dem Befehl 'check_nrpe', Wir stellen Wünsche an Sie. In anderen zukünftigen Dokumenten werden wir andere Arten von Agenten sehen, Heute ist es Zeit zu reden (Für mich) der Besten!
Installieren von check_nrpe,
Wir begannen mit dem Herunterladen und Kompilieren von 'check_nrpe', Wir haben die Anforderungen zuvor installiert, Hier sind die Schritte, die befolgt werden, Am Ende verschieben wir das Binary in den Pfad der Plugins und testen es!
[Quellcode]
Yum Install -y GCC GLIBC GLIB-Common OpenSSL-Devel Perl WGET Git
cd /usr/src/
git clone https://github.com/NagiosEnterprises/nrpe
CD NRPE/
./Garnitur
Alles machen
cp src/check_nrpe /usr/lib/nagios/plugins/
cd /usr/lib/nagios/plugins/
./check_nrpe[/Quellcode]
Installieren des Agenten,
Nicht schlecht, Dazu verwenden wir NSClient++, das von ihrer Website heruntergeladen, und grundsätzlich werden wir die aktuellste Version verwenden, In diesem Beispiel verwenden wir die Windows x64-Binärdatei.
Wir beginnen mit der Installation von NSClient, “Nächster”,
Wir wählen "Generisch", “Nächster”,
Schauen wir uns die Option an “Gewohnheit”,
Und wir wählen die Plugins aus, die uns interessieren, Ich markiere sie alle, Warum ich sie in anderen Beispielen verwenden werde, In diesem Fall würde es ausreichen, NRPE-Unterstützung zu markieren.
Es teilt uns die INI-Datei mit, die wir zum Anwenden der Konfiguration verwenden werden, “Nächster”,
Wir müssen die IP-Adresse des Nagios- oder Centreon-Rechners hinzufügen, der die Abfragen ausführt, sowie check_nt zu ermöglichen, wenn wir interessiert sind, was ich sicher tun werde, Sie werden sehen =), Wir wählen auch den NRPE-Sicherheitsmodus, In diesem Fall verwende ich kein Passwort, wenn ich den unsicheren Modus verwende, im Unternehmensumfeld, Zumindest werden wir einen abgesicherten Modus auswählen. “Nächster”,
Nicht schlecht, Gedrückt “Installieren” So installieren Sie diesen kleinen Agenten…
… Warten Sie einige Sekunden…
Und das ist es, “Beenden”.
Alles, was bleibt, ist, einen Befehl unseres Nagios-Teams auszuführen, um zu testen, ob eine Verbindung besteht, Ein sehr einfaches Beispiel wäre das folgende:
[Quellcode]
./check_nrpe -H IP_EQUIPO_REMOTO -C check_uptime
[/Quellcode]
Wenn wir sehen, dass es eine Verbindung herstellt und uns sagt, wie lange diese Maschine schon eingeschaltet ist, Wir können anfangen!! Jetzt müssen wir nur noch Windows- oder Linux-Rechner mit Skripten füttern und aus der Ferne ausführen, was wir wollen, In zukünftigen Dokumenten werde ich interessante Beispiele geben, Aber wir müssen zuerst diesem Dokument folgen.
Erstellen des Befehls in Centreon,
Es bleibt daher übrig, den Befehl zu registrieren, den wir verwenden werden, wenn wir die Dienste erstellen, an denen wir interessiert sind und die Remote-Computer überwachen. Wir werden “Konfiguration” > “Befehle” > “Hinzufügen” und erstellen Sie den folgenden Befehl:
- Name des Befehls: Wir geben dem Befehl einen Namen, Um es zuzuordnen, ist es am besten, es mit dem Namen des Skripts zu verknüpfen, das es ausführt., in diesem Fall "check_nrpe".
- Typ des Befehls: Wählen Sie "Prüfen".
- Befehlszeile: Wie gewöhnlich, Wir geben an, was Centreon oder Nagios tatsächlich ausführen wird, wenn Sie diesen Befehl aufrufen, Es würde in etwa so aussehen:: '/usr/lib/nagios/plugins/check_nrpe -H IP_EQUIPO_REMOTO -c $ARG 1$ -t 30'.
In diesem Fall, Wenn wir uns ansehen, Ich füge dem Befehl am Ende von eine Zeitüberschreitung hinzu 30 Nachschlag, da vielleicht einige Befehle, die wir aus der Ferne ausführen, eine Weile dauern werden,? Brunnen, jeder wie er will, Anklicken “Beschreiben von Argumenten” und wir haben das Argument definiert, das wir so eingerichtet haben, dass wir uns bei der Erstellung des Dienstes daran erinnern, was ausgefüllt werden muss; Dies ist die Prüfung/der Befehl, den wir im nsclient.ini. Beispiele werden wir in zukünftigen Dokumenten sehen.
Beispiel für ein Skript in nsclient.ini
Die Operation würde wie folgt aussehen, auf dem Remote-Rechner, auf dem wir den NSClient installiert haben, Wir werden die Konfigurationsdatei 'nsclient.ini' haben, Dass wir gehen müssen (Ich) Hinzufügen der Skripte, die ausgeführt werden, und (Ii) Hinzufügen der Aliase, die auf das Skript verweisen. Beispiel:
[Quellcode]
[/Einstellungen/Externe Skripte/Skripte]
comando_bat = Skripte\archivo.bat
[/Einstellungen/Externe Skripte/Alias]
alias_bat = comando_bat
[/Quellcode]
Letzte, Wir müssen das PowerShell-Skript kopieren, vbScript (Englisch), Java, Stapel… die wir im Ordner 'scripts' haben’ von NSClient. Jedes Mal, wenn wir die Konfigurationsdatei 'nsclient.ini’ Wir müssen den Windows-Dienst neu starten “NSClient++” um die Konfiguration neu zu laden, und wir können dieses Skript aus dem entfernten Nagios aufrufen., Im obigen Beispiel mit:
[Quellcode]
./check_nrpe -H IP_EQUIPO_REMOTO -C alias_bat
[/Quellcode]
Verwendung von Argumenten,
Stellen wir uns also vor, das, was wir ausführen werden, das Skript auf der Windows/Linux-Seite, Erfordert Argumente, und wir wollen sie von der Nagios-Maschine an Sie weitergeben. Als leicht verständliches Beispiel, Wir denken an ein Skript, das Backups überwacht, Okay? Entweder durch PowerShell oder was auch immer. Und an dieses Skript übergebe ich als Argument den Namen der Sicherungsaufgabe, Ja? Wenn ich möchte, Vermeiden Sie es, es zu definieren 5 Zeiten in der INI (Da ich 5 Backup-Aufgaben), Ich gebe Ihnen von Nagios/Centreon das Argument direkt von Hiob weiter. Hier ist ein Beispiel für die notwendige Konfiguration im 'nsclient.ini', Zuerst aktivieren wir die Übergabe lokaler und externer Argumente an ihn und definieren dann den Befehl, den er ausführen soll, gefolgt von den Argumenten, die er erwartet (im Beispiel ein PowerShell-Skript):
[Quellcode]
[/Einstellungen/NRPE/Server]
Argumente zulassen=wahr
[/Einstellungen/externe Skripte]
Argumente zulassen=wahr
[/Einstellungen/Externe Skripte/Skripte]
check_copias = cmd /c Echo-Skripte\check_copias_seguridad.ps1 $ARG 1 $ $ARG 2 $; Ausgang($LastExitCode) | powershell.exe -Befehl –
[/Einstellungen/Externe Skripte/Alias]
alias_copias = check_copias
[/Quellcode]
Und dann können wir von der Nagios-Maschine aus einen Befehl ausführen, indem wir ihm Argumente übergeben, die wir später von Centreon mit GUI auf komfortablere Weise definieren werden:
[Quellcode]
./check_nrpe -H IP_EQUIPO_REMOTO -c alias_copias -a "erstes Argument" "Zweites Argument"
[/Quellcode]
Was ich gesagt habe, Wir werden in zukünftigen Dokumenten praktische Beispiele für die Anwendung von NRPE sehen, Wie wir mit einigen Skripten das Beste aus all den Informationen herausholen können, die uns interessieren. Oft werden wir unsere eigenen Drehbücher erstellen müssen, Und warum nicht? Wenn wir all unsere Bedürfnisse auf Nagios übertragen, Wir werden sie kontrollieren und wir werden in der Lage sein, viel friedlicher zu ruhen, wenn unsere Organisation vollständig überwacht wird!