check_sqlbase_health ist ein Plugin, mit dem unterschiedliche Parameter eines SQLBase-Datenbankservers (auch unter dem Namen Gupta bekannt) überprüft werden können.
Um dem Plugin mitzuteilen, welche Werte es ermitteln und prüfen soll, benutzt man die Option –mode mit verschiedenen Schlüsselwörtern.
Schlüsselwort | Bedeutung | Wertebereich |
---|---|---|
connection-time | Misst, wie lange Verbindungsaufbau und Login dauern | 0..n Sekunden (1, 5) |
sql | Ergebnis eines beliebigen SQL-Befehls, der eine Zahl zurückliefert. Der Befehl selbst wird mit dem Parameter –name übergeben. Ein Label für Performncedaten kann mit dem Parameter –name2 übergeben werden. Mit dem Parameter –units kann die Ausgabe um Einheiten ergänzt werden (%, c, s, MB, GB,.. Wenn der SQL-Befehl Sonder- und Leerzeichen enthält, kann er mit dem mode encode zuerst encodiert werden. | 0..n |
sql-runtime | Laufzeit eines beliebigen SQL-Befehls in Sekunden. Der Befehl selbst wird mit dem Parameter –name übergeben. | 0..n (1, 5) |
Es ist zu beachten, daß Schwellwerte entsprechend den Nagios Developer Guidelines anzugeben sind.
Damit sich das Plugin die benötigten Informationen aus der Datenbank holen kann, muss ein Benutzer angelegt werden, der mindestens über Connect-Privilegien verfügt.
GRANT CONNECT TO NAGIOS IDENTIFIED BY SECRET;
Zur korrekten Funktion des Plugins benötigt der Monitoring-User Leserechte für die Tabelle SYSSQL.SYSTABLES. Diese sollten per Default vorhanden sein. Falls nicht:
GRANT SELECT ON SYSSQL.SYSTABLES TO PUBLIC
Auf dem Monitoring-Sevrer muß die Client-Software installiert sein, z.b. in Form folgender Pakete:
yum install SQLBase-common-12.0.1-10862.el7.x86_64.rpm \
SQLBase-client-12.0.1-10862.el7.x86_64.rpm \
SQLBase-docs-12.0.1-10862.el7.x86_64.rpm
Anschließend befinden sich im Verzeichnis /opt/Gupta/SQLBase das Kommandozeilen-Tool sqllxtlk und die von diesem benötigte Shared Library libsqlbapl.so.
Damit diese beiden vom Plugin gefunden werden können, muß die Environmentvariable SQLBASE gesetzt werden. (Kunden von OMD-Addon-Paketen müssen sich darum nicht kümmern. Hier befindet sich die Client-Software im bin- bzw. lib-Verzeichnis einer Site und das Environment wird automatisch gesetzt.)
Das Programm sqllxtlk ist wichtig, es wird von check_sqlbase_health zur Kommunikation mit dem Datenbankserver benutzt.
$ SQLBASE=/opt/Gupta/SQLBase check_sqlbase_health --server Server1 --hostname 10.0.2.15 --username NAGIOS --password SECRET --mode connection-time --database ISLAND
OK - 0.05 seconds to connect as NAGIOS | 'connection_time'=0.05;1;5;;
$ check_sqlbase_health --server Server1 --hostname 10.0.2.15 --username NAGIOS --password SECRET --mode connection-time --database ISLAND --environment SQLBASE=/opt/Gupta/SQLBase
OK - 0.05 seconds to connect as NAGIOS | 'connection_time'=0.05;1;5;;
$ SQLBASE=/opt/Gupta/SQLBase check_sqlbase_health --server Server1 --hostname 10.0.2.15 --username NAGIOS --password SECRET --mode sql --name "select 'humpftata' from SYSSQL.SYSTABLES" --name2 'umpf' --regexp --database ISLAND
OK - output umpf matches pattern humpftata
Dieses Plugin setzt das Vorhandensein eines funktionierenden sqllxtlk-Kommandos voraus.
Nach dem Auspacken des Archivs wird ./configure; make aufgerufen. Das fertige Plugin liegt dann im Verzeichnis plugins-scripts.
check_sqlbase_health-2.0.tar.gz
2016-3000 Gerhard Laußer
check_sqlbase_health wird unter der GNU General Public License zur Verfügung gestellt. GPL
Gerhard Laußer (gerhard.lausser@consol.de) stellt dieses Plugin kostenlos zur Verfügung. Gratis Consulting hingegen gibt’s nur im Märchen, in der realen Welt hält der Laußer die Hand auf. Es gibt Leute, die finden das unverschämt, weil das ist doch Open Source und Open Source ist gratis. Solchen Leuten schenkt man ein Auto und die wollen noch den Führerschein spendiert bekommen. Tut man sowas? Nein!