Hier sind div. Plugins für Nagios aufgeführt.
check_mk erfasst Daten von Remote-Hosts. Die methode wie das Plugin dies macht, ist jedoch
effizienter und besser als andere Remote-Check Plugins (z.B. NRPE).
Folgende Plugins können durch check_mk ersetzt werden:
Zunächst einmal das tarball herunterladen und entpacken.
mkdir -p <PFAD>/checkMK cd <PFAD>/checkMK wget http://mathias-kettner.de/download/check_mk-<VERSION>.tar.gz tar xfz check_mk-<VERSION>.tar.gz
Nun check_mk kompilieren und installieren
cd check_mk-<VERSION> ./setup.sh
Hier wird nun ein Installationsdialog gestartet, welchen man nun ein wenig unterstützen muss, damit die Richtigen
Pfade und Anweisungen zur Installation verwendet werden.
Nach erfolgreicher Installation prüft man ob check_mk installiert ist.
check_mk --version
Danach installiert man noch folgendes Apache Modul und startet den Webserver sowie Nagios neu.
apt-get install libapache2-mod-python service apache2 restart service nagios restart
Für Windows und Linux gibt es, bei mathias-kettner.de bereits fertige Installationsdateien.
Diese müssen nicht weiter konfiguriert werden (ausser bei Windows, wenn LogWatch benutzt wird).
Die eigene Firewall sollte natürlich angepasst werden (Port: 6556).
Den Zugang zum Client kann vom Server per Telnet geprüft werden
telnet <HOST> 6556
check_mk muss angewiesen werden seine Clients abzufragen.
Dies geschieht in der Datei main.mk
. Hier trägt man die Clients als Hostname oder IP in die „all_hosts“ Direktive ein (mehrere Hosts durch Komma trennen).
Danach folgende Befehle ausführen.
check_mk -I check_mk -U
Um die autom. erstellte Nagios Konfiguration übernehmen zu können, müssen noch die Templates von check_mk übernommen werden.
Die Templates liegen unter /usr/share/check_mk/check_mk_templates.cfg
.
Nach jedem weiteren neuen Client müssen die o.g. Schritte angewandt werden.
Fujitsu Server können ebenfalls über Nagios abgefragt werden.
Somit wird gesamte Hardwareumbegung geprüft.
Auf dem jew. Server muß der Fujitsu ServerView Agent installiert sein Fujitsu-Downloadpage.
Bevor dieser Installiert werden kann müssen unter Windows die SNMP-Dienste installiert werden.
Für das check_fujitsu_primergy.pl
Plugin benötigt man die Snmp-Unterstützung vür Nagios.
Das Plugin kann man hier downloaden und danach einfach in das libexec
Verzeichnis von Nagios verschieben.
HP Proliant Server können mit Nagios überwacht werden.
Die Überwachung kann über die HP-Agents (Insight Manager SNMP Agents), ober über die iLO2 (Integrated Lights-Out 2) Erweiterung, wenn vorhanden, erfolgen.
Hier wird die zweite Methode beschrieben.
Das check_ilo2_health.pl
Plugin hier herunterladen und in das libexec
Verzeichnis von Nagios verschieben.
Folgende Perl-Erweiterungen mit MCPAN installieren:
Nagios::Plugin IO::Socket::SSL XML::Simple
apt-get install libxml-simple-perl libio-socket-ssl-perl libnagios-plugin-perl
Damit man das Passwort in den jew. Services ersichtlich ist, legt man sich eine $USER#$
Variable in der resource.cfg
an und nutzt diese stattdessen.
Danach einfach einen Befehl und die Services in Nagios anlegen und nutzen.
Man kann mit der VMWare-SDK for Perl CLI direkt mit den ESX-Servern kommunizieren.
Dafür lädt man sich das jew. SDK von hier herunter und installiert dieses wie in den Installationsanleitungen (weiter unten auf der Seite) angegeben.
Danach muß die Kommunikation zwischen der SDK-CLI, auf dem Nagios-Host, und der vSphere-Umgebung hergestellt werden.
Dafür öffnen man sich den vSphere-Client und loggt sich direkt auf einen ESX-Host ein.
Hier legt hier einen neuen Benutzer für das Monitoring an (Reiter „Lokale Benutzer und Gruppen“).
Dieser hat keinen Shell-Zugriff und gehört der Rolle „Nur-lesen“ an (Kontextmenü: „Berechtigung hinzufügen“).
Testen kann man das SDK z.B. so:
esxcli --server <SERVER> --username <USER> --password <PASSWORD> network ip interface list
Die Ausgabe sollte ungefähr so aussehen:
vmk0 Name: vmk0 MAC Address: 78:e7:d1:e1:8b:f4 Enabled: true Portset: vSwitch0 Portgroup: Management Network VDS Name: N/A VDS Port: N/A VDS Connection: -1 MTU: 1500 TSO MSS: 65535 Port ID: 16777220
Nach der Installation und dem erfolgreichen Test kann in Nagios das Plugin installiert werden.
cd /usr/local/nagios/libexec
Hier dann die Datei „check_esx3.pl“ erstellen und den Code von hier hinein pasten.
chown nagios.nagios check_esx3.pl chmod a+x check_esx3.pl
Wenn die VMWare Umgebung Verschlüsselt über https
abgefragt wird, dann kann es vorkommen dass Nagios die Checks nicht abfragen kann.
Im nagios.log kommem dann solche Meldungen:
Server version unavailable at 'https://<HOSTADDRESS>:443/sdk/vimService.wsdl' at /usr/local/share/perl/5.14.2/VMware/VICommon.pm line 545.
Hier kann nun eine Environment-Variable gesetzt werden, damit die VMWare Hosts unverschlüsselt per http
abgefragt werden:
export PERL_LWP_SSL_VERIFY_HOSTNAME=0
Diese Variable ist allerdings nur in der aktuellen Shell-Session verfügbar. Wenn der Server rebootet wird dann ist die Einstellung weg.
Man könnte die Variable auch in die /etc/environments„“ setzen, dies hätte aber zur Folge dass Perl generell keine Verschlüsselung anwendet.
check_esx3.pl
Wir möchten dass nur in der diese Verschlüsselungs Environment-Variable gesetzt wird.
check_esx3.pl'' einfügen (einfach vor die ersten „use…“ Zeilen):
Hierfür einfach folgendes in die
$ENV{PERL_LWP_SSL_VERIFY_HOSTNAME} = 0;
Mit check_linux_stats lassen sich div. Informationen beauskunften (alle Infos sind perfdata Kompatibel).
Damit man diesen Check nutzen kann, muss noch eine Perl-Anwendung installiert werden.
apt-get install libsys-statistics-linux-perl
Danach lassen sich folgende Informationen, mit folgender Syntax, beauskunften:
Usage: ./check_linux_stats.pl -C|-P|-M|-N|-D|-I|-L|-F|-S|-W|-U -p <pattern> -w <warning> -c <critical> [-s <sleep>] [-u <unit>] [-V] [-h] -h, --help print this help message -C, --cpu=CPU USAGE -P, --procs -M, --memory=MEMORY USAGE -N, --network=NETWORK USAGE -D, --disk=DISK USAGE -I, --io=DISK IO USAGE -L, --load=LOAD AVERAGE -F, --file=FILE STATS -S, --socket=SOCKET STATS -W, --paging=PAGING AND SWAPPING STATS -U, --uptime -p, --pattern eth0,eth1...sda1,sda2.../usr,/tmp -w, --warning -c, --critical -s, --sleep -u, --unit %, KB, MB or GB left on disk usage, default : MB REQS OR BYTES on disk io statistics, default : REQS -V, --version version number ex : Memory usage : perl check_linux_stats.pl -M -w 90 -c 95 Cpu usage : perl check_linux_stats.pl -C -w 90 -c 95 -s 5 Disk usage : perl check_linux_stats.pl -D -w 95 -c 100 -u % -p /tmp,/usr,/var Load average : perl check_linux_stats.pl -L -w 10,8,5 -c 20,18,15 Paging statistics : perl check_linux_stats.pl -W -w 10,1000 -c 20,2000 -s 3 Process statistics : perl check_linux_stats.pl -P -w 100 -c 200 I/O statistics on disk device : perl check_linux_stats.pl -I -w 10 -c 5 -p sda1,sda4,sda5,sda6 Network usage : perl check_linux_stats.pl -N -w 10000 -c 100000000 -p eth0 Processes virtual memory : perl check_linux_stats.pl -T -w 9551820 -c 9551890 -p /var/run/sendmail.pid Uptime : perl check_linux_stats.pl -U -w 5
Hier noch ein Beispiel für die nrpe.cfg:
# Check disk usage on /, /home, /var command[check_disk]=/usr/local/nagios/libexec/check_linux_stats.pl -D -w 10 -c 5 -p /,/home,/var -u % # Check load average command[check_load]=/usr/local/nagios/libexec/check_linux_stats.pl -L -w 10,8,5 -c 20,18,15 # Check memory & swap usage command[check_mem]=/usr/local/nagios/libexec/check_linux_stats.pl -M -w 100,25 -c 100,50 # Check cpu usage command[check_cpu]=/usr/local/nagios/libexec/check_linux_stats.pl -C -w 99 -c 100 -s 5 # Check open files command[check_open_file]=/usr/local/nagios/libexec/check_linux_stats.pl -F -w 10000,250000 -c 15000,350000 # Check io disk on device sda1, sda3 and sda4 command[check_io]=/usr/local/nagios/libexec/check_linux_stats.pl -I -w 2000,600 -c 3000,800 -p sda1,sda3,sda4 -s 5 # Check processes command[check_procs]=/usr/local/nagios/libexec/check_linux_stats.pl -P -w 1000 -c 2000 # Check network usage on eth0 command[check_net]=/usr/local/nagios/libexec/check_linux_stats.pl -N -w 1000000 -c 1500000 -p eth0 -s 5 # Check socket usage command[check_socket]=/usr/local/nagios/libexec/check_linux_stats.pl -S -w 500 -c 1000 # Check uptime command[check_uptime]=/usr/local/nagios/libexec/check_linux_stats.pl -U -w 5
Quellen: http://exchange.nagios.org/