Nagios Fernüberwachung: NRPE Vs. SSH

8

Wir verwenden Nagios, um einige (~ 130) Server zu überwachen. Wir überwachen CPU, Festplatte, RAM und einige andere Dinge auf jedem Server. Ich habe immer SSH verwendet, um die Remote-Befehle auszuführen, nur weil es wenig bis gar keine zusätzliche Konfiguration auf dem Remote-Server erfordert. Installieren Sie einfach Nagios-Plugins, erstellen Sie den Nagios-Benutzer und fügen Sie den SSH-Schlüssel hinzu, in den ich alles automatisiert habe ein Shell-Skript. Ich habe nie über die Auswirkungen der Verwendung von SSH über NRPE auf die Leistung nachgedacht.

Ich bin nicht sonderlich besorgt über die Belastung des Nagios-Servers (es ist wahrscheinlich zu spezifiziert, was es tut, es war nie über 10% CPU), aber wir führen jede Fernprüfung alle 30 Sekunden durch und jeder Server hat 5 verschiedene Prüfungen durchgeführt. Ich gehe davon aus, dass SSH für jede Prüfung mehr Ressourcen benötigt, aber gibt es einen großen Unterschied? (IE genug Unterschied, um die Umstellung auf NRPE zu rechtfertigen).

Wenn dies hilfreich ist, überwachen wir eine Mischung aus physischen Servern (normalerweise mit 8, 12 oder 16 physischen Kernen) und mittleren / großen Amazon EC2-Instanzen.

Verschmieren
quelle

Antworten:

6

Ich habe immer geglaubt, dass der Verwaltungsvorteil von SSH (ich verwende push_check ) jede zusätzliche Last überwiegt. Moderne CPUs sind so schnell, dass die Kosten für die Verschlüsselung einer Handvoll Bytes sehr gering sind. Daher müssen zwei Prozesse (SSH und das Überprüfungsskript) gegen einen (von NRPE ausgelöstes Überprüfungsskript) ausgeführt werden.

Bei Überprüfungsskripten, die in einer interpretierten Sprache geschrieben sind, würde ich erwarten, dass der Aufwand für das Starten des Interpreters (Perl, Python, Bash) die CPU-Kosten für das Starten einer SSH-Sitzung übersteigt. Angesichts moderner CPUs ist es wahrscheinlicher, dass Ihre Maschinen eher auf Festplatten oder Speicher als auf CPU beschränkt sind.

Vorausgesetzt, Ihr Nagios-Computer kommt zurecht - er muss jede Sekunde 20 SSH-Verbindungen einrichten -, würde ich mich aus Bequemlichkeitsgründen irren.

Keine wirkliche Antwort auf deine Frage, eher ein Argument, dass das Leben zu kurz ist, um sich darüber Sorgen zu machen :)

Dan
quelle
6

NRPE ist ein Nagios-Plugin, einfach zu installieren und verwaltet die Prüfanfrage in der Sondenkonfigurationsdatei. Es gibt nur eine schlechte Sache bei nrpe: Sie müssen es auf jedem Server installieren, den Sie überwachen möchten. Unter Linux ist es wirklich einfach, nur yum / apt-get install nrpe, aber unter Windows Server müssen Sie es über .exe installieren und irgendwann müssen Sie Ihren Server neu starten.

Ich denke, SSH ist nicht die optimierteste Art, Nagios zu verwenden. NRPE könnte viel effizienter sein.

Hier in der Nagios-Dokumentation steht dieser Satz:

"Die Verwendung von SSH ist sicherer als das NRPE-Addon, verursacht jedoch auch einen größeren (CPU-) Overhead sowohl für die Überwachungs- als auch für die Remote-Computer. Dies kann zu einem Problem werden, wenn Sie mit der Überwachung von Hunderten oder Tausenden von Computern beginnen. Viele Nagios-Administratoren entscheiden sich für die Verwendung Verwenden des NRPE-Addons aufgrund der geringeren Belastung. "

da ist die Dokumentation. Ich bin ein PDF

Ich verwende das einfach zu verwendende snmp-Protokoll und muss keine Drittanbieter auf den Servern installieren.

Anarko_Bizounours
quelle
Ich habe mich mit SNMP befasst, aber wir überwachen Dinge wie Datenbank- / App-Statistiken, von denen ich glaube, dass sie nicht für die Verwendung von SNMP eingerichtet werden können. Ich mache mir keine allzu großen Sorgen um die Sicherheit bei der Überwachung. SSH wurde nur ausgewählt, um zusätzliche Konfigurationen zu vermeiden. Wenn wir einen Befehl mit SSH hinzufügen / ändern möchten, ändern wir nur die NAGIOS-Konfiguration, aber mit NRPE müssten wir ihn auch der nrpe.conf auf dem Remote-Server hinzufügen.
Smudge
das stimmt, nrpe ist ein wenig lästig, weil Sie .conf zum Remote-Server hinzufügen müssen. Was SNMP betrifft, können Sie tun, was Sie wollen (wenn ich mich nicht irre), Sie können Ihr eigenes Prob mit Perl erstellen und über snmp Ihre Sonde verwenden, es ist einfacher als nrpe, da Sie .conf nicht ändern müssen auf Remote-Server und weniger gierig als SSH. Nun, nachdem es nur eine Sichtweise ist und wofür Sie Nagios verwenden werden. Nrpe ist zumindest für mich ein guter Kompromiss zwischen ssh und snmp. Haben Sie einen guten Tag.
Anarko_Bizounours
3

Haben Sie neben den Vorschlägen in anderen Antworten ControlMasterin Betracht gezogen, die .ssh / config-Datei von nagios zu aktivieren, um das ssh-Multiplexing voll auszunutzen ?

Mit anderen Worten, Ihre SSH-Verbindung bleibt "eingeschaltet", sodass der Aufwand für die Einrichtung minimal ist, da dies nur einmal vorkommen würde. Dies würde weiterhin die Privatsphäre durch Verschlüsselung garantieren und Sie davor schützen, offene TCP-Ports auf den Servern zu belassen (wenn auch mit einer Firewall). Außerdem können Sie die Aktivitäten eines Benutzers über ssh einschränken, indem Sie die Befehle einschränken, die er ausführen kann

Lorenzog
quelle
0

Ich hatte nur Probleme beim Versuch, NRPE auf verschiedenen Betriebssystemen zu kompilieren. SSH hat reibungslos und effizient gearbeitet und ist viel einfacher zu skripten.

Heybails
quelle
4
Dies scheint eher ein Problem mit den Systemen zu sein, mit denen Sie arbeiten, als mit NRPE. Ich bin kein Fan von Nagios, aber NRPE ist ein ziemlich einfacher Code, und ich hatte noch nie ein Problem beim Kompilieren ...
voretaq7