Jeder Icinga-Admin kennt das: Ein Gerät, eine Applikation oder eine Datenbank soll überwacht werden, es gibt auch eine extra Monitoring-Kennung dafür, aber das zugehörige Passwort ist einfach nur grauenhaft. Sei es aufgrund einer Vorschrift oder weil der DBA ein Sadist ist, häufig enthält das Passwort Zeichen, welche bei der Ausführung des Plugins durch eine Shell Probleme bereiten können. Dazu zählen alle Arten von Anführungszeichen, Strichpunkt, Kaufmanns-Und oder gar nicht druckbare Zeichen.
So eine Command-Definition

<br />
define command {<br />
  command_name check_mssql_health<br />
  command_line $USER1$/check_mssql_health --hostname $ARG1$ --username ‘$ARG2$’ --password ‘$ARG3$’ …<br />
}<br />

schließt zwar den ganzen Dreck in einfache Hochkommas ein, aber was, wenn das Passwort selber ein Hochkomma enthält?

Current Status:WARNING (for 0d 0h 6m 3s)
Status Information:[sh: -c: line 0: unexpected EOF while looking for matching `''
sh: -c: line 1: syntax error: unexpected end of file]


Damit das nicht passiert und auch die Icinga-Konfigurationsdateien von Sonder- und Schmierzeichen aller Art verschont bleiben, können die Plugins aus der check_*_health-Familie sowie check_hpasm seit den letzten Releases mit encodierten Passwörtern versorgt werden. Man hantiert also nur noch mit [A-Za-z0-9].

more...

Author:Gerhard Laußer
Tags:Nagios, check_oracle_health, check_mssql_health, check_hpasm, coshsh
Categories:nagios, omd

check_oracle_health, check_mysql_health, check_mssql_health und check_db2_health bringen von Haus aus schon eine Menge Funktionalität mit. Allerdings wurden sie speziell für die Belange von Datenbankadministratoren entwickelt. Um auch den Betreibern von datenbankgestützten Applikationen die Möglichkeit zu geben, bestimmte Werte per SQL abzufragen, gibt es den Parameter "--mode sql". Damit lässt sich das numerische Ergebnis eines SQL-Aufrufs mit Schwellwerten vergleichen und in einen Nagios-Exitcode verwandeln. Üblicherweise sind die Anforderungen der Applikation an das Monitoring jedoch etwas komplexer. Am Beispiel von check_mysql_health und Wordpress wird gezeigt, wie man so etwas einfach umsetzen kann.

more...

Überwacht man mit check_oracle_health den Füllgrad von Tablespaces einer Oracle-Datenbank, so werden in der Ausgabe des Plugins grundsätzlich alle Tablespaces aufgeführt. Dabei spielt es keine Rolle, ob ein Tablespace genügend freien Speicherplatz hat oder bereits zu voll ist. Dies hatte in der Vergangenheit zur Folge, daß die Ausgabe bei großen Datenbanken mit vielen Tablespaces sehr, sehr lang war und somit in der Web-Oberfläche von Nagios etwas unübersichtlich erschien. Mit den neuesten Releases von check_oracle_health, check_db2_health, check_mysql_health und check_mssql_health ist es nun möglich, nur noch diejenigen Tablespaces/Datenbanken anzeigen zu lassen, die voller sind als es die Schwellwerte erlauben.

more...

Die Plugins check_oracle_health und check_mssql_health haben mit den Versionen 1.6.6 bzw. 1.5.6 ein neues Feature bekommen. Critical- und Warning-Schwellwerte können jetzt auch direkt in der Datenbank hinterlegt werden. Bei Änderungswünschen muss der DBA nun nicht mehr den Nagios-Administrator belästigen, damit dieser die entsprechenden Servicedefinitionen anpasst.

more...

Author:Gerhard Laußer
Tags:check_mssql_health, check_oracle_health
Categories:nagios
check_mssql_health 1.5.3

Eine neue Version von check_mssql_health ist soeben erschienen. In erster Linie wurde ein Bug im Mode database-free beseitigt, der zu ungenauen bzw. falschen Ergebnissen führte, wenn der freie Plattenplatz knapp wurde.
Daneben wurde der neue Mode database-backup-age eingeführt, mit dem sich überwachen lässt, wie lange der Zeitpunkt des letzten Backups zurückliegt.

more...

Author:Gerhard Laußer
Tags:check_mssql_health, Nagios, Plugins
Categories:nagios

Die check_[datenbank]_health-Plugins lassen sich leicht in ihrem Funktionsumfang erweitern, indem sie zur Laufzeit Zusatzmodule einlesen. Dieses Feature wurde eingebaut, damit für vorhandenen, u.U. firmenspezifischen Code kein eigenes Plugin geschrieben werden muss. Man steckt ihn einfach in Dateien, die einer bestimmten Namenskonvention folgen.
Als Beispiel soll hier gezeigt werden, wie man das Alter des letzten Backups einer Datenbank überwacht.

more...

Author:Gerhard Laußer
Tags:Backup, check_mssql_health, Nagios, SQL Server
Categories:nagios