Monitoring: Unterschied zwischen den Versionen

[unmarkierte Version][gesichtete Version]
 
(15 dazwischenliegende Versionen von 4 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
 +
__NOTOC__
 
MailStore verfügt selber nur über eingeschränkte Benachrichtigungs- oder Monitoringfunktionalitäten. Mittels externer Komponenten kann jedoch zum Beispiel der Status der Archivierungsdurchläufe überwacht werden.
 
MailStore verfügt selber nur über eingeschränkte Benachrichtigungs- oder Monitoringfunktionalitäten. Mittels externer Komponenten kann jedoch zum Beispiel der Status der Archivierungsdurchläufe überwacht werden.
  
Zeile 4: Zeile 5:
  
 
=== MailStore Nagios/Icinga-Plugin ===
 
=== MailStore Nagios/Icinga-Plugin ===
Im [[Media:MailStoreScripts.zip‎|Scripting-Paket]] befindet sich das Plugin <tt>check_mailstore.py</tt>. Das Plugin prüft die Anzahl der Jobs oder die Anzahl der archivierten E-Mails in einem festgelegten Zeitraum. Es wird mindestens MailStore Server 8 benötigt.
+
Im [[Media:Scripts.zip|Python Skripting Paket]] befindet sich das Plugin <tt>check_mailstore.py</tt>. Das Plugin prüft die Anzahl der gelaufenen Profile oder die Anzahl der archivierten E-Mails in einem festgelegten Zeitraum. Es wird mindestens MailStore Server 8 benötigt. Sofern nicht anders angegeben, sind die Skripte unter der [[wikipedia:MIT_Licence|MIT Lizenz]] veröffentlicht.
  
 
==== Installation ====
 
==== Installation ====
Das Verzeichnis <tt>mailstoreapi</tt> aus dem Paket sollte unterhalb des <tt>site-packages</tt>-Verzeichnises Ihrer Python-Installation kopiert werden. Der Ort des <tt>site-packages</tt>-Verzeichnises kann mittels
+
Der [[Python API-Wrapper Tutorial|Python API-Wrapper]] muss installiert sein. Unter Umständen ist es notwendig, das Paket <tt>python-argparse</tt> zu installieren.
  
python -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())"
+
Das Plugin kommuniziert mit der [[MailStore Server Dienst-Konfiguration|MailStore Administrations API]]. Diese muss folglich in der [[MailStore Server Dienst-Konfiguration]] aktiviert sein.
 
 
ausgegeben werden. Unter Umständen ist es notwendig, das Paket <tt>python-argparse</tt> zu installieren.
 
 
 
Das Plugin kommuniziert mit der [[MailStore Server Dienst-Konfiguration|MailStore Administrations API]]. Diese muss folglich in der [[MailStore_Server_Dienst-Konfiguration]] aktiviert sein.
 
  
 
==== Verwendung ====
 
==== Verwendung ====
Zeile 20: Zeile 17:
 
  define command {
 
  define command {
 
         command_name check_mailstore
 
         command_name check_mailstore
         command_line /usr/local/lib/nagios/plugins/check_mailstore.py --host $ARG1$ --password $ARG2$ -s since:$ARG3$ --status $ARG4$ -c $ARG5$ -w $ARG6$ --search $ARG7$
+
         command_line /usr/local/lib/nagios/plugins/check_mailstore.py --host $ARG1$ --username $ARG2$ --password $ARG3$ -s since:$ARG4$ --status $ARG5$ -c $ARG6$ -w $ARG7$ --search $ARG8$
 
         }
 
         }
  
Zeile 27: Zeile 24:
 
  define service {
 
  define service {
 
         host_name                      mailstoreserver
 
         host_name                      mailstoreserver
         service_description            MailStore Succeeded Jobs
+
         service_description            MailStore Succeeded Profiles
         check_command                  check_mailstore!mailstoreserver!sUp3rs3CcR6ET3!1H!succeeded!8!10!jobs
+
         check_command                  check_mailstore!mailstoreserver!admin!sUp3rs3CcR6ET3!1H!succeeded!8!10!profiles
 
         use                            generic-service
 
         use                            generic-service
 
         }
 
         }
  
In diesem Beispiel wird überprüft, ob in der letzten Stunde (-s since:1H) mehr als 10 Jobs erfolgreich (--status succeeded) ausgeführt wurden.
+
In diesem Beispiel wird überprüft, ob in der letzten Stunde (-s since:1H) mehr als 10 Profile erfolgreich (--status succeeded) ausgeführt wurden.
 +
 
 +
<p class="msnote">'''Hinweis:''' Bei der Überwachung von SPE Instanzen müssen die Zugangsdaten des Service Provider Administrators verwendet werden, die auch für den Login an der SPE Management Console benutzt werden.</p>
  
 
==== Parameterübersicht ====
 
==== Parameterübersicht ====
Zeile 43: Zeile 42:
 
  --host HOST
 
  --host HOST
  
Hostname oder IP-Adresse des MailStore Servers. Standardmäßig wird ''localhost'' verwendet.
+
Hostname oder IP-Adresse des MailStore Servers.
  
 
  --port PORT
 
  --port PORT
Zeile 49: Zeile 48:
 
TCP Port auf welchem die MailStore Administration API Verbindungen annimmt. Standardmäßig wird ''8463'' verwendet.
 
TCP Port auf welchem die MailStore Administration API Verbindungen annimmt. Standardmäßig wird ''8463'' verwendet.
  
  --username USERNAME
+
  --username USERNAME<nowiki>|</nowiki>--user USERNAME
  
Benutzernamen zur Anmeldung am MailStore Server. Dieser muss ein MailStore Administrator sein. Standardmäßig wird ''admin'' verwendet.
+
Benutzernamen zur Anmeldung am MailStore Server. Dieser muss ein MailStore Administrator sein.
  
  --password PASSWORD
+
  --password PASSWORD<nowiki>|</nowiki>--pass PASSWORD
  
 
Passwort des Benutzers, welcher bei ''username'' angegeben wurde.
 
Passwort des Benutzers, welcher bei ''username'' angegeben wurde.
Zeile 68: Zeile 67:
 
  --timezone TIMEZONE
 
  --timezone TIMEZONE
  
MailStore Server speichert die Daten in UTC Zeit. Hiermit kann die Ausgabe angepasst werden. Standardmäßig wird ''$Local'' verwendet. Dies entspricht der Zeitzonen-Einstellung des Betriebssystems des MailStore Servers. Mittels des API Befehls [[MailStore_Server_Administration_API_Commands#GetTimeZones|GetTimeZones]] können sich die möglichen Werte ausgegeben werden lassen. In den meisten Fällen wird dieser Parameter nicht benötigt.
+
MailStore Server speichert die Daten in UTC Zeit. Hiermit kann die Ausgabe angepasst werden. Standardmäßig wird ''$Local'' verwendet. Dies entspricht der Zeitzonen-Einstellung des Betriebssystems des MailStore Servers. Mittels des API Befehls [[Administration API - Function Reference#GetTimeZones|GetTimeZones]] können sich die möglichen Werte ausgegeben werden lassen. In den meisten Fällen wird dieser Parameter nicht benötigt.
  
  --machinename MACHINENAME<nowiki>|</nowiki>--m MACHINENAME
+
  --machinename MACHINENAME
  
Filtert die Ergebnisse nach ''MACHINENAME''. Dies kann sinnvoll sein, wenn die Ergebnisse lokaler Jobs verschiedener Rechner überwacht werden sollen.
+
Filtert die Ergebnisse nach ''MACHINENAME''. Dies kann sinnvoll sein, wenn die Ergebnisse lokaler Profile verschiedener Rechner überwacht werden sollen.
  
  --profile PROFILE<nowiki>|</nowiki>--p PROFILE
+
  --filteruser USERNAME
  
Filtert die Ergebnisse nach Archivierungsprofil. Es kann die ID oder der Name des Archivierungsprofil verwendet werden.
+
Filtert die Ergebnisse nach ''USERNAME''. Dies kann sinnvoll sein, wenn die Ergebnisse verschiedener Benutzer überwacht werden sollen.
 +
 
 +
--profile PROFILE
 +
 
 +
Filtert die Ergebnisse nach Archivierungsprofil. Die ID des Archivierungsprofil muss übergeben werden. Die ID eines Profiles kann über die API-Method [[Administration API - Function Reference#GetProfiles|GetProfiles]] herausgefunden. Alternativ kann man sich im MailStore die Details eines markierten Archivierungsprofils durch drücken von Strg+Shift+P angezeigt werden.
  
 
  --status STATUS
 
  --status STATUS
  
Filtert die Ergebnisse nach STATUS. Mögliche Werte sind ''succeeded'', ''failed'', ''cancelled'', ''disconnected'', ''threadAbort'' und ''completedWithErrors''. Der Status kann durch ein vorangestelltes ''#'' negiert werden. Standard ist ''succeeded''.
+
Filtert die Ergebnisse nach STATUS. Mögliche Werte sind ''succeeded'', ''failed'', ''cancelled'', ''disconnected'', ''threadAbort'', ''completedWithWarnings'' und ''completedWithErrors''. Der Status kann durch ein vorangestelltes ''#'' negiert werden. Standard ist ''succeeded''. Geben Sie ''#all'' an, wenn Sie alle ausgeführten Profile erhalten möchten.
  
  --search [jobs<nowiki>|</nowiki>emails]
+
  --search [profiles<nowiki>|</nowiki>emails]
  
Gibt an, ob auf die Anzahl der zurückgelieferten Jobs oder auf die Anzahl der archivierten Mails geprüft werden soll. Standard ist ''jobs''.
+
Gibt an, ob auf die Anzahl der zurückgelieferten Profile oder auf die Anzahl der archivierten Mails geprüft werden soll. Standard ist ''profiles''.
  
 
  --warning WARNING<nowiki>|</nowiki>--w WARNING
 
  --warning WARNING<nowiki>|</nowiki>--w WARNING
Zeile 100: Zeile 103:
 
  --DEBUG
 
  --DEBUG
  
Gibt die Liste der zutreffenden Jobs auf der Standardausgabe aus. Ist nur beim Testen sinnvoll, um zu prüfen, welche Ergebnisse tatsächlich beachtet werden.
+
Gibt die Liste der zutreffenden Profile auf der Standardausgabe aus. Ist nur beim Testen sinnvoll, um zu prüfen, welche Ergebnisse tatsächlich beachtet werden.
  
 
==== Weitere Beispiele ====
 
==== Weitere Beispiele ====
 +
check_mailstore.py --host 192.168.0.1 --username admin --password sUp3rs3CcR6ET3 -s "since:1d" -c 20 -w 22 --search profiles --status="succeeded" --compare lt
  
check_mailstore.py --host 192.168.0.1 --password sUp3rs3CcR6ET3 -s "since:1d"  -c 5 -w 2 --search jobs --status="#succeeded" --compare gt
+
Status ist Critical, wenn weniger (--compare lt) als 20 (-c 20) Profile (--search profiles) mit dem Status erfolgreich (--status="succeeded") innerhalb eines Tages beendet wurden. Eine Warnung wird bei weniger als 22 erfolgreichen Profilen ausgegeben.
  
Status ist Critical, wenn mehr (--compare gt) als 5 (-c 5) Jobs (--search jobs) NICHT mit dem Status erfolgreich (--status="#succeeded") innerhalb eines Tages beendet wurden. Eine Warnung wird bei mehr als 2 nicht erfolgreichen Jobs ausgegeben.
+
check_mailstore.py --host 192.168.0.1 --password sUp3rs3CcR6ET3 -s "since:1d"  -c 5 -w 2 --search profiles --status="#succeeded" --compare gt
  
check_mailstore.py --host 192.168.0.1 --password sUp3rs3CcR6ET3 -s "since:1d"  -c 5 -w 20 --search emails --profile "MailStore Proxy"
+
Status ist Critical, wenn mehr (--compare gt) als 5 (-c 5) Profile (--search profiles) NICHT mit dem Status erfolgreich (--status="#succeeded") innerhalb eines Tages beendet wurden. Eine Warnung wird bei mehr als 2 nicht erfolgreichen Profilen ausgegeben.
  
Status ist Critical, wenn weniger als 5 (-c 5) E-Mails (--search emails) vom Profil "MailStore Proxy" (--profile "MailStore Proxy) innerhalb eines Tages archiviert wurden. Eine Warnung wird bei weniger als 20 archivierten E-Mails ausgegeben.
+
check_mailstore.py --host 192.168.0.1 --password sUp3rs3CcR6ET3 -s "since:1d"  -c 5 -w 20 --search emails --profile 7
 +
 
 +
Status ist Critical, wenn weniger als 5 (-c 5) E-Mails (--search emails) vom Profil mit der ID 7 (--profile 7) innerhalb eines Tages archiviert wurden. Eine Warnung wird bei weniger als 20 archivierten E-Mails ausgegeben.
  
 
=== Überwachung der lizenzierten Benutzer ===
 
=== Überwachung der lizenzierten Benutzer ===
Das ''check_mailstorelicence''-Skript aus dem [[Media:MailStoreScripts.zip‎|Scripting-Paket]], dient der Überwachung der lizenzierten Benutzer mittels Nagios/Icinga. Es wird nicht über externe Argumente gesteuert, alle Parameter müssen innerhalb der Datei angepasst werden. Sollten Sie Ihre Benutzer über eine externe Quelle synchronisieren, und es sollen über diesen Weg in einem Schritt mehr Benutzer angelegt werden als Lizenzen verfügbar sind, wird diese Überwachung nicht "Alarm" schlagen, da nur die existierenden Benutzer überwacht werden, und nicht die, die angelegt werden sollen.
+
Das ''check_mailstorelicence''-Skript aus dem [[Media:Scripts.zip|Skripting Paket]], dient der Überwachung der lizenzierten Benutzer mittels Nagios/Icinga. Sollten Sie Ihre Benutzer über eine externe Quelle synchronisieren, und es sollen über diesen Weg in einem Schritt mehr Benutzer angelegt werden als Lizenzen verfügbar sind, wird diese Überwachung nicht "Alarm" schlagen, da nur die existierenden Benutzer überwacht werden, und nicht die, die angelegt werden sollen.
  
 
Command-Definition:
 
Command-Definition:
Zeile 119: Zeile 125:
 
  define command {
 
  define command {
 
         command_name check_mailstorelicence
 
         command_name check_mailstorelicence
         command_line /usr/local/lib/nagios/plugins/check_mailstorelicence.py
+
         command_line /usr/local/lib/nagios/plugins/check_mailstorelicence.py --host $ARG1$ --password $ARG2$ --licensed $ARG3$ --warning $ARG4$ --critical $ARG5$
 
         }
 
         }
 
  
 
=== Nagios/Icinga mit NSClient++ überwacht die geplanten Tasks ===
 
=== Nagios/Icinga mit NSClient++ überwacht die geplanten Tasks ===
Zeile 139: Zeile 144:
  
 
Der Service-Check gibt eine Liste alle zeitgesteuerten Aufgaben im Windows Task-Planer aus, deren Exit-Code ungleich Null ist. Bei mehr als einem Ergebnis wird der Check-Status ''Critical'' gesetzt. Die Rückgabe beinhaltet eine Liste aller Aufgaben mit Exit-Code ungleich Null und der Exit-Codes.
 
Der Service-Check gibt eine Liste alle zeitgesteuerten Aufgaben im Windows Task-Planer aus, deren Exit-Code ungleich Null ist. Bei mehr als einem Ergebnis wird der Check-Status ''Critical'' gesetzt. Die Rückgabe beinhaltet eine Liste aller Aufgaben mit Exit-Code ungleich Null und der Exit-Codes.
 
== Monitoring von Audit-Ereignissen ==
 
 
Die in MailStore Server enthaltene E-Mail-Benachrichtigungsfunktion versendet derzeit nur dann eine E-Mail, wenn das automatische Erstellen eines neuen Standard-Archivspeichers fehlschlägt.
 
 
Administratoren die darüber hinaus Benachrichtigung über Vorfälle auf Ihrem MailStore Server erhalten wollen, finden in diesem Artikel nützliche Hinweise zum Monitoring des MailStore Servers.
 
 
=== Benachrichtigungen aufgrund von Audit-Ereignissen ===
 
 
Eine Möglichkeit des Monitorings besteht darin, die in MailStore enthaltene Auditing-Funktion in Kombination mit der Windows Aufgabenplanung zu verwenden.
 
 
Bitte beachten Sie, dass dieses Vorgehen den eigentlich Zweck des Auditing-Features von MailStore zweckentfremdet. Pruefen Sie daher nach einer Aktualisierung des MailStore Servers ob die Trigger-Parameter weiterhin korrekt konfiguriert sind.
 
 
<p class="msnote">Um die Aktivierungstrigger in Windows konfigurieren zu können, wird mindestens Windows Vista/7/8/2008/2008 R2/2012 benötigt. Unter Windows 2000/XP/2003 stehen diese nicht zur Verfügung.</p>
 
 
==== Aktivierung des Auditing Features ====
 
* Öffnen Sie den MailStore Client als Administrator.
 
* Klicken Sie auf ''Verwaltung'' > ''Compliance'' > ''Auditing''.
 
* Aktivieren Sie die Benutzeraktivität ''ProfileRunArc''.
 
 
Es werden nun nach der Ausführung von Archivierungsprofilen, entsprechende Einträge in das Windows-Eventlog geschrieben.
 
 
==== Manuelles Überprüfen der Windows-Eventlogs ====
 
* Öffnen Sie die ''Ereignisanzeige'' Ihres Windows-Systems.
 
* Klicken sie auf ''Ereignisanzeige (lokal)'' > ''Windows-Protokolle'' > ''Anwendungen''.
 
* Suchen Sie dort nach Ereignissen der Quelle ''MailStore Server Auditing''.
 
 
Sind Fehler bei der Ausführung des Profils aufgetreten, so ist die Ebene ''Fehler'', war Ausführung erfolgreich, ist die Ebene ''Information''.
 
 
==== Erstellung der Benachrichtigungen ====
 
Der Windows Aufgabenplaner kann Aufgaben an ein Ereignis binden. Wir nutzen dies, um eine E-Mail beim Event ''Archivierung fehlgeschlagen'' zu verschicken.
 
 
* Öffnen Sie die ''Aufgabenplanung'' Ihres Windows-Systems.
 
* Erstellen Sie einen neuen Ordner, z.B. ''MailStore Auditing'' in der ''Aufgabenplanungsbibliothek''.
 
* Erstellen Sie eine Aufgabe über ''Aktion'' > ''Aufgabe erstellen''. Beachten Sie bitte, dass Sie keine ''Einfache Aufgabe erstellen''.
 
*: [[File:Monitoring_notify_00.png|450px|center]]
 
* Geben Sie einen aussagekräftigen Namen.
 
*  Wählen Sie diese Option ''Unabhängig von der Benutzeranmeldung ausführen'' aus.
 
* Wählen Sie unter ''Konfigurieren für'' mindestens ''Windows Vista oder Windows Server 2008'', da sonst der Trigger ''Bei einem Ereignis'' nicht zur Verfügung steht.
 
* Klicken Sie auf die Registerkarte ''Trigger''
 
* Klicken Sie auf ''Neu..''
 
* Wählen Sie unter ''Aufgabe starten'' den Wert ''Bei einem Ereignis'' aus.
 
* Aktivieren Sie unter ''Einstellungen'' die Option ''Benutzerdefiniert'' und klicken Sie anschließend auf ''Neuer Ereignisfilter''.
 
*: [[File:Monitoring_notify_01.png|450px|center]]
 
* Setzen Sie unter ''Ereignisebene'' das Häkchen bei ''Fehler''.
 
* Wählen ''Per Quelle'' aus und setzten Sie unter ''Quellen'' ein Häkchen bei ''MailStore Server Auditing''.
 
* Klicken Sie auf ''OK'' um die Einstellungen zu speichern.
 
*:'''Hinweis:''' Die Kriterien von Benutzerdefinierten Einstellungen werden als XML-Daten gespeichert. Leider vermag es der ''Trigger bearbeiten''-Dialog nicht, diese XML-Daten zurück in GUI-Elemente umzuwandeln. Ein nachträgliches Manipulieren des Triggers ist leider nur in XML möglich. Sollte das unerwünscht sein, muss der Trigger gelöscht und neu erstellt werden
 
* Wechseln Sie zur Registerkarte ''Aktionen''.
 
* Klicken Sie auf ''Neu...''.
 
 
==== Option 1: E-Mail Benachrichtigung via Powershell Skript ====
 
*Legen Sie eine Datei mit der Endung .ps1 mit folgendem beispielhaftem Inhalt an. Passen Sie die Werte Ihren Bedürfnissen an
 
 
$EmailFrom = “[email protected]
 
$EmailTo = “[email protected]
 
$Subject = “MailStore Fehler”
 
$Body = “MailStore Server Task muss überprüft werden”
 
$SMTPServer = “smtp.domain.eu”
 
$SMTPPort = 25
 
$SMTPClient = New-Object Net.Mail.SmtpClient($SMTPServer, $SMTPPort)
 
$SMTPClient.EnableSsl = $false
 
$SMTPClient.Credentials = New-Object System.Net.NetworkCredential(“username”, “password”);
 
$SMTPClient.Send($EmailFrom, $EmailTo, $Subject, $Body)
 
 
* Wählen Sie ''Programm starten'' im Feld ''Aktion'' aus.
 
* Geben Sie als Programm/Skript ''powershell.exe'' an. Als Argument geben Sie den Pfad zum zuvor erstellten Skript an.
 
* die Ausführung von Powershell-Skripten muss auf dem Computer erlaubt sein, dies kann mittels ''Set-ExecutionPolicy RemoteSigned'' erreicht werden
 
* Sollte das Skript nicht wie gewünscht arbeiten, lässt sich mittels zusätzlichem Argument ''-noexit'' der Fehler anzeigen.
 
 
==== Option 2: Netzwerk Benachrichtigung ====
 
 
* steht kein SMTP Server zur Verfügung, kann alternativ ein Programm gestartet werden, das eine Nachricht über das Netzwerk versendet.
 
* Wählen Sie ''Programm starten'' im Feld ''Aktion'' aus.
 
* Geben Sie als Programm/Skript ''msg'' an. Als Argument geben Sie ''/server:ip-addresse Benutzername Nachricht'' an, Beispiel: ''/server:192.168.2.100 administrator "Eine Archivierung ist fehlgeschlagen oder wurde mit Fehlern beendet"''
 
* alle Optionen von ''msg'' sind hier http://technet.microsoft.com/en-us/library/cc755358.aspx dokumentiert
 
* Bei nicht erfolgreich beendeten Archivierungsläufen erscheint beim Benutzer administrator auf der Machine 192.168.2.100 ein Fenster mit der Benachrichtigung
 
* Auf der empfangenen Machine muss der Registrierungsschlüssel ''HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\AllowRemoteRPC'' (REG_DWORD) auf ''1'' gesetzt sein.
 
  
 
[[de:Monitoring]]
 
[[de:Monitoring]]
 
[[en:Monitoring]]
 
[[en:Monitoring]]

Aktuelle Version vom 29. Januar 2018, 11:05 Uhr

MailStore verfügt selber nur über eingeschränkte Benachrichtigungs- oder Monitoringfunktionalitäten. Mittels externer Komponenten kann jedoch zum Beispiel der Status der Archivierungsdurchläufe überwacht werden.

Einsatz einer externen Monitoring-Software

MailStore Nagios/Icinga-Plugin

Im Python Skripting Paket befindet sich das Plugin check_mailstore.py. Das Plugin prüft die Anzahl der gelaufenen Profile oder die Anzahl der archivierten E-Mails in einem festgelegten Zeitraum. Es wird mindestens MailStore Server 8 benötigt. Sofern nicht anders angegeben, sind die Skripte unter der MIT Lizenz veröffentlicht.

Installation

Der Python API-Wrapper muss installiert sein. Unter Umständen ist es notwendig, das Paket python-argparse zu installieren.

Das Plugin kommuniziert mit der MailStore Administrations API. Diese muss folglich in der MailStore Server Dienst-Konfiguration aktiviert sein.

Verwendung

Ein Check, der die erfolgreiche Ausführung von Profilen überwacht, könnte folgendermaßen in Nagios/Icinga definiert sein:

define command {
       command_name check_mailstore
       command_line /usr/local/lib/nagios/plugins/check_mailstore.py --host $ARG1$ --username $ARG2$ --password $ARG3$ -s since:$ARG4$ --status $ARG5$ -c $ARG6$ -w $ARG7$ --search $ARG8$
       }

Die passende Service-Definition könnte so aussehen:

define service {
       host_name                       mailstoreserver
       service_description             MailStore Succeeded Profiles
       check_command                   check_mailstore!mailstoreserver!admin!sUp3rs3CcR6ET3!1H!succeeded!8!10!profiles
       use                             generic-service
       }

In diesem Beispiel wird überprüft, ob in der letzten Stunde (-s since:1H) mehr als 10 Profile erfolgreich (--status succeeded) ausgeführt wurden.

Hinweis: Bei der Überwachung von SPE Instanzen müssen die Zugangsdaten des Service Provider Administrators verwendet werden, die auch für den Login an der SPE Management Console benutzt werden.

Parameterübersicht

Das Plugin unterstützt folgende Parameter.

--help|--h

Zeigt die Hilfeseite.

--host HOST

Hostname oder IP-Adresse des MailStore Servers.

--port PORT

TCP Port auf welchem die MailStore Administration API Verbindungen annimmt. Standardmäßig wird 8463 verwendet.

--username USERNAME|--user USERNAME

Benutzernamen zur Anmeldung am MailStore Server. Dieser muss ein MailStore Administrator sein.

--password PASSWORD|--pass PASSWORD

Passwort des Benutzers, welcher bei username angegeben wurde.

--start STARTTIME|--s STARTTIME

Gibt die Startzeit des Betrachtungszeitraums an. Die Startzeit im Format YYYY-mm-ddTHH:MM:SS (z.B. 2013-01-01T00:00:00) gibt die Anfangszeit des zu betrachtenden Zeitraums an. Es muss zusätzlich der --end Parameter verwendet werden. Alternativ kann ein Zeitraum in der Form since:XY angegeben werden, wobei X eine Zahl und Y einer der folgenden Buchstaben ist: Y (Jahr), m (Monat), d (Tag), H (Stunde), M (Minute) und S (Sekunde). Beispiel --s since:90M (die letzten 90 Minuten).

--end ENDTIME|--e ENDTIME

Gibt die Endzeit des Betrachtungszeitraums an. Das Format ist ebenfalls YYYY-mm-ddTHH:MM:SS (z.B. 2013-02-28T23:59:59). Bei der Verwendung von since: wird dieser Parameter nicht benötigt.

--timezone TIMEZONE

MailStore Server speichert die Daten in UTC Zeit. Hiermit kann die Ausgabe angepasst werden. Standardmäßig wird $Local verwendet. Dies entspricht der Zeitzonen-Einstellung des Betriebssystems des MailStore Servers. Mittels des API Befehls GetTimeZones können sich die möglichen Werte ausgegeben werden lassen. In den meisten Fällen wird dieser Parameter nicht benötigt.

--machinename MACHINENAME

Filtert die Ergebnisse nach MACHINENAME. Dies kann sinnvoll sein, wenn die Ergebnisse lokaler Profile verschiedener Rechner überwacht werden sollen.

--filteruser USERNAME

Filtert die Ergebnisse nach USERNAME. Dies kann sinnvoll sein, wenn die Ergebnisse verschiedener Benutzer überwacht werden sollen.

--profile PROFILE

Filtert die Ergebnisse nach Archivierungsprofil. Die ID des Archivierungsprofil muss übergeben werden. Die ID eines Profiles kann über die API-Method GetProfiles herausgefunden. Alternativ kann man sich im MailStore die Details eines markierten Archivierungsprofils durch drücken von Strg+Shift+P angezeigt werden.

--status STATUS

Filtert die Ergebnisse nach STATUS. Mögliche Werte sind succeeded, failed, cancelled, disconnected, threadAbort, completedWithWarnings und completedWithErrors. Der Status kann durch ein vorangestelltes # negiert werden. Standard ist succeeded. Geben Sie #all an, wenn Sie alle ausgeführten Profile erhalten möchten.

--search [profiles|emails]

Gibt an, ob auf die Anzahl der zurückgelieferten Profile oder auf die Anzahl der archivierten Mails geprüft werden soll. Standard ist profiles.

--warning WARNING|--w WARNING

Der Schwellenwert, ab dem gewarnt wird.

--critical CRITICAL|--c CRITICAL

Der Schwellenwert, ab dem alarmiert wird.

--compare COMPARE

Gibt an, wie die Werte WARNING und CRITICAL mit dem zurückgeliefertem Ergebnis verglichen werden. Mögliche Werte sind lt, le, eq, ge, gt (lt, lesser than = kleiner als; le, lesser or equal = kleiner oder gleich; eq, equal = gleich; ge, greater or equal = größer oder gleich; gt, greater than = größer als). Standard ist le (kleiner oder gleich).

--DEBUG

Gibt die Liste der zutreffenden Profile auf der Standardausgabe aus. Ist nur beim Testen sinnvoll, um zu prüfen, welche Ergebnisse tatsächlich beachtet werden.

Weitere Beispiele

check_mailstore.py --host 192.168.0.1 --username admin --password sUp3rs3CcR6ET3 -s "since:1d" -c 20 -w 22 --search profiles --status="succeeded" --compare lt

Status ist Critical, wenn weniger (--compare lt) als 20 (-c 20) Profile (--search profiles) mit dem Status erfolgreich (--status="succeeded") innerhalb eines Tages beendet wurden. Eine Warnung wird bei weniger als 22 erfolgreichen Profilen ausgegeben.

check_mailstore.py --host 192.168.0.1 --password sUp3rs3CcR6ET3 -s "since:1d"   -c 5 -w 2 --search profiles --status="#succeeded" --compare gt

Status ist Critical, wenn mehr (--compare gt) als 5 (-c 5) Profile (--search profiles) NICHT mit dem Status erfolgreich (--status="#succeeded") innerhalb eines Tages beendet wurden. Eine Warnung wird bei mehr als 2 nicht erfolgreichen Profilen ausgegeben.

check_mailstore.py --host 192.168.0.1 --password sUp3rs3CcR6ET3 -s "since:1d"   -c 5 -w 20 --search emails --profile 7

Status ist Critical, wenn weniger als 5 (-c 5) E-Mails (--search emails) vom Profil mit der ID 7 (--profile 7) innerhalb eines Tages archiviert wurden. Eine Warnung wird bei weniger als 20 archivierten E-Mails ausgegeben.

Überwachung der lizenzierten Benutzer

Das check_mailstorelicence-Skript aus dem Skripting Paket, dient der Überwachung der lizenzierten Benutzer mittels Nagios/Icinga. Sollten Sie Ihre Benutzer über eine externe Quelle synchronisieren, und es sollen über diesen Weg in einem Schritt mehr Benutzer angelegt werden als Lizenzen verfügbar sind, wird diese Überwachung nicht "Alarm" schlagen, da nur die existierenden Benutzer überwacht werden, und nicht die, die angelegt werden sollen.

Command-Definition:

define command {
       command_name check_mailstorelicence
       command_line /usr/local/lib/nagios/plugins/check_mailstorelicence.py --host $ARG1$ --password $ARG2$ --licensed $ARG3$ --warning $ARG4$ --critical $ARG5$
       }

Nagios/Icinga mit NSClient++ überwacht die geplanten Tasks

Dieses Beispiel setzt voraus, dass im Abschnitt [NRPE] der Datei NSC.ini der Parameter allow_arguments=1 gesetzt ist. Alternativ und in öffentlichen Umgebungen sicherer, können Sie auch im Abschnitt [External Alias] einen Alias definieren.

Die entsprechende Service Check sieht unter Nagios/Icinga wie folgt aus:

define service {
        use                             generic-service
        host_name                       mailstore.mydomain.tld
        service_description             Scheduled Tasks
        check_command                   check_nrpe!CheckTaskSched!filter="exit_code ne 0" "syntax=%title%: %exit_code%" "crit=>0"
}

Der Service-Check gibt eine Liste alle zeitgesteuerten Aufgaben im Windows Task-Planer aus, deren Exit-Code ungleich Null ist. Bei mehr als einem Ergebnis wird der Check-Status Critical gesetzt. Die Rückgabe beinhaltet eine Liste aller Aufgaben mit Exit-Code ungleich Null und der Exit-Codes.