Generisches Nagios-Plugin, um zu überprüfen, ob ein bestimmter Prozess / Dienst ausgeführt wird?

12

Ich sehe auf http://exchange.nagios.org, dass es keine Plugins gibt, mit denen überprüft werden kann, ob sendmail, xinetd, automount, ypserv, ypbind, Mailscanner, mcafee, clamav, samba server und openvpn ausgeführt werden.

Natürlich sollten alle diese Programme stabile Programme sein, aber sie sind kritisch, daher möchte ich überprüfen, ob sie ausgeführt werden.

Frage

Gibt es ein generisches Plugin, um nach bestimmten Prozessen zu suchen?

Sandra
quelle

Antworten:

25

Ich verwende das Standard-NAGIOS- check_procsPlugin, wobei das -Chier gezeigte Flag nrpe.cfgüber NRPE aufgerufen wird :

command[check_spamd]=/usr/lib/nagios/plugins/check_procs -c 1: -w 3: -C spamd

Dies wird WARN, wenn nicht mindestens drei Prozesse mit dem Namen der ausführbaren Datei gefunden werden (Pfad wird nicht gezählt) spamd, und CRIT, wenn mindestens einer nicht gefunden wird.

MadHatter
quelle
2

Ich verwende dieses Skript , um verschiedene laufende Prozesse zu überprüfen. Sie können diese beiden Zeilen bearbeiten:

PROCLIST_RED="sshd"
PROCLIST_YELLOW="syslogd"

um die roten (kritischen) Prozesse und die gelben (Warn-) Prozesse zu ändern.

Außerdem sucht dieses Skript nach offenen Ports (Abhörstatus). Sie können die Zeile bearbeiten:

PORTLIST="22"

Ich habe das Skript sogar selbst geändert, indem ich neue Variablen definiert habe UDP_PORTLIST, um nach UDP-Sockets zu suchen.

Khaled
quelle
Skript-Link ist tot
Phansen
Ich bin mir nicht sicher, ob dies das richtige Skript ist, aber zumindest der Name ist der gleiche. Vielleicht hilft das.
gf_
1

Alle Dienste, die einen TCP-Port überwachen sollten, können überprüft werden check_tcp. Indem Sie die Verbindungsprüfung extern durchführen, überprüfen Sie, ob die Firewall Verbindungen über diesen Port zulässt. Außerdem überprüfen Sie, ob der Prozess ausgeführt wird, und überwachen den richtigen Port.

Die check_tcpÜberprüfung sagt Ihnen nicht, ob jemand Postfix anstelle von sendmail gestartet oder nginx so konfiguriert hat, dass es Port 80 anstelle von Apache überwacht, aber check_procs(dass die anderen bereits erwähnt haben) dies tut.

Ladadadada
quelle
Das ist interessant! Ich sehe, dass das Plugin eine Sende- / Erwartungszeichenfolge erfordert. Wie finde ich diese zB für sendmail und openvpn?
Sandra
2
Ist es erforderlich , die Sende- / erwarten String? Sie können herausfinden, was Sie an sendmail senden möchten, indem Sie entweder die SMTP-Spezifikation überprüfen oder eine Verbindung zu sendmail herstellen telnet localhost 25und diese selbst ausprobieren. OpenVPN ist möglicherweise etwas kniffliger, da es verschlüsselt werden soll. Das Senden von Unsinn und das Empfangen einer Fehlermeldung sind jedoch möglicherweise für Ihre Anforderungen geeignet.
Ladadadada
UPS. Ich habe check_udp anstelle von check_tcp ausprobiert. Die Verwendung von Telnet zum Abrufen des Send / Expect wird sicherlich nützlich sein.
Sandra
1

Im Allgemeinen ist es besser, eine Verbindung zu einem Netzwerkdienst herzustellen und zu prüfen, ob dieser wie erwartet reagiert, anstatt nur check_tcp zu verwenden oder zu überprüfen, ob der Dienst ausgeführt wird.

Im Fall von Samba, ClamAV, Sendmail usw. gibt es dienstspezifische Plugins, um diese zu überprüfen (auch wenn sie über NRPE auf "localhost" aktiviert sind), die genauer sind als nur zu überprüfen, ob der Port offen ist. Offensichtlich ist es besser als nichts , den TCP-Port zu überprüfen und / oder check_procs zu verwenden .

Keith
quelle