Hier finden Sie eine kurze Anleitung zum Thema

Data Quality Server Monitoring mittels Nagios


Einleitung

In vielen Systemumgebungen ist NAGIOS bzw. ein Nagios Clone (Icinga o.ä.) als Monitoringsoftware im Einsatz. In der vorliegenden Kurzdokumentation wird die Einrichtung zur Überwachung des Omikron Data Quality Server (DQ Server) beschrieben.

Diese Anleitung richtet sich an erfahrene Systemadministratoren, die mit der grundlegenden Konfiguration und Arbeitsweise von NAGIOS vertraut sind.


Nagios Konfiguration

Internet Information Server (IIS)

Der DQ Server läuft unterhalb des Microsoft Internet Information Servers. Für den DQ Server wird typischerweise ein eigener Application Pool verwendet. Standardmäßig lautet der Poolname „Omikron“, dieser kann allerdings während der Installation geändert werden. Nagios kann den IIS oder einen einzelnen Pool überwachen.


DQ Server

Einzelner DQ Server

Der Omikron Data Quality Server kommuniziert ausschließlich über Webservices mit der Außenwelt. Zum Zweck der Systemüberwachung existiert ein spezieller Webservice „DQServerAvailable“.

Anfrage:

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

  <soap:Body>

    <DQServerAvailable xmlns="DQServer.asmx" />

  </soap:Body>

</soap:Envelope>

Antwort bei Verfügbarkeit:

<?xml version="1.0" encoding="utf-8"?>

<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">

  <soap:Body>

    <DQServerAvailableResponse xmlns="DQServer.asmx">

      <DQServerAvailableResult>boolean</DQServerAvailableResult>

    </DQServerAvailableResponse>

  </soap:Body>

</soap:Envelope>



Zum Monitoring eines Webservices und der Rückantwort wird das Nagios Plugin check_http verwendet.

Die relevanten Parameter sind:

-u, --url=PATH

    URL to GET or POST (default: /)


-T, --content-type=STRING

    specify Content-Type header media type when POSTing


-k, --header=STRING

    Any other tags to be sent in http header. Use multiple times for additional headers


-P, --post=STRING

    URL encoded http POST data


-H, --hostname=ADDRESS

    Host name argument for servers using host headers (virtual host)

    Append a port to include it in the header (eg: example.com:5000)


-r, --regex, --ereg=STRING

    Search page for regex STRING


Für das Monitoring des DQ Servers sind folgende Parameter einzusetzen:


check_http
-u '/DQServer/DQServer.asmx'
 -T 'text/xml' -k 'dqs:DQServerAvailable'
-P '<soapenv:Envelope xmlns:soapenv=
"http://schemas.xmlsoap.org/soap/envelope/" xmlns:dqs="DQServer.asmx"><soapenv:Header/><soapenv:Body><dqs:DQServerAvailable/></soapenv:Body></soapenv:Envelope>'
-H <HOSTNAME>
-r '<DQServerAvailableResult>true</DQServerAvailableResult>'


Logfiles

Der Data Quality Server schreibt Logfiles in sein eigenes Datenverzeichnis, die Logfiles sind im Verzeichnis „Logging“ zu finden. (typischerweise „x:\DQServerData\Logging“). Alle Lognachrichten erscheinen in der Datei „DQServer“, Fehler werden zusätzlich nochmal in die Datei „Error“ protokolliert, Debug Ausgaben in der Datei „Debug“.

Zur Überwachung dieser Files kann ein Nagios Plugin wie z. Bsp. check_logfiles oder check_log verwendet werden, mit Hilfe der Parameter criticalpatterns und warningpatterns kann ggf. noch differenziert werden.

Ein typischer Eintrag eines Fehlers sieht folgendermaßen aus:

2013-06-07 10:21:29,859              ERROR  [83]        admin   DQServerException         0ms       Type: Exception, Message: [Text der Fehlermeldung]

Oder

2013-06-27 14:46:30,130              ERROR  [58]        admin   DoWorkflow      0ms       [Text der Fehlermeldung]


Beispiel Info Eintrag:

2014-02-11 06:20:21,032              INFO      [8]          admin   UpdateRecordInDataDestination             1ms  [Text der Meldung]


Beispiel Debug Eintrag:

2014-02-11 06:32:27,728              DEBUG [24]        admin   AddMultipleRecordsToDataDestination 1ms        [Text der Meldung]


  • No labels