QStatus für MOM

Alle Skripte sind Muster ohne jede Gewährleistung oder Funktionsgarantie. für Schäden bin ich nicht verantwortlich. Achten Sie auf Zeilenumbrüche bei der Übernahme.

VBScript und 64Bit !
Viele 32bit COM-Objekte lassen sich auf einem 64bit System nur instanziieren, wenn die 32bit Version von CSCRIPT/WSCRIPT genutzt wird, welcher unter C:\Windows\SysWOW64\cscript.exe liegt.

Ohne MOM2005 kann das Programm QStatus eine Momentaufnahme ihrer Warteschlangen aller Server anfertigen.

Diese Skript funktioniert aktuell nur mit Exchange 2000/2003 und nicht mit Exchange 5.5 oder 2007, da es per WMI eine Verbindung zum Server aufbaut.

f�r jeden Administrator sind die Warteschlangen einer Exchange Umgebung kritische Punkte, die einer Überwachung bedürfen. Wann immer irgendwo der Nachrichtenfluss stoppt, sollten Sie als Administrator am schnellsten Bescheid wissen, wenn ein Knoten in der Leitung ist. Leider sind die Hilfsmittel von Exchange selbst hier nicht besonders berauschend. Zwar hat der Exchange 2003 System Manager die Warteschlangen aus dem virtuellen SMTP-Server heraus auf die Ebene des Servers hoch geholt, aber wenn Sie einen schnellen Überblick über mehrere Server benötigen, dann heißt es wieder viel herum klicken.

Zwar können Sie mittels MOM und Perfmon die Länge einer Warteschlange auslesen aber die Länge ist kein besonders gutes Kriterium für die Überwachung einer Warteschlangen. Besser ist daher die Verweildauer. Diese kann aber nicht einfach über einen Performance Counter ausgewertet werden.

VBScript, WMI und MOM2005

Zuerst gab es das Skript QStatus, welches erst alle Exchange Server der Organisation ermittelt und dann nacheinander von allen die Warteschlange die Daten eingesammelt hat. Das Problem hierbei ist, dass das Skript nicht regelmäßig laufen kann, je größer die Umgebung wird. Die Abfrage eines Servers dauert im Schnitt vielleicht 20 Sekunden (Einige Server stehen ja weit weg). Damit scheitert eine zeitnahe Kontrolle bei größeren Umgebungen. Aber MOM2005 kann über einen Agent auch Skripte starten.

Das war der Grund, aus dem Code von QStatus eine Variante abzuleiten, welche durch MOM ausgeführt werden kann. Mithilfe meiner MOM2005 Unterstützungsklasse für VBScript kann das Skript sowohl mit CSCRIPT als auch durch den MOM Scripting Host ausgeführt werden. Ein Start aus der Kommandozeile ergibt dann etwa folgendes Bild:

In der Warteschlange "Entwicklung" liegt wohl genau eine Mail mit 8767 Bytes seit 250 Sekunden in der Warteschlange. Die Ausgabe aus dem Bildschirm erfolgt stellvertretend, da das Skript erkannt hat, dass es nicht unter MOM gestartet wurde.

Wird nun das Skript durch den MOM-Agent auf dem Server ausgeführt, dann kann es auf jedem Server unabhängig voneinander gestartet werden. MOM sorgt für die Verteilung des Skripts auf die Exchange Server. Nun ist es auch kein Problem mehr, z.B. alle 10 Minuten die Warteschlange durch MOM überprüfen zu lassen. Das Skript meldet überalterte Mails einfach als MOM Alert und zudem kann es das Alter als Performancewert in die MOM-Datenbank ablegen. So erhalten Sie dann auch langfristig Aussagen über "Sitzenbleiber".

MOM 2005 Integration

für die Einbindung in MOM sollten Sie MOM2005 schon etwas können. Eine ausführlichere Beschreibung finden Sie z.B. auf der Seite CheckRUS mit MOM. Das Skript QStatusMOM wird analog eingerichtet.

Ich fange bei dem Import des Skriptes an, welches �ber die MOM Administratorkonsole angelegt wird. Wählen Sie dabei in der linken Baumstruktur einfach "Scripts" aus und fügen Sie ein neues Skript hinzu

Überlegen Sie sich ein passendes Namensmodell, damit Sie ihre Skripte auch immer wieder finden. Das Script ist natürlich VBScript

Im zweiten Fenster müssen Sie das Skript nun über die Zwischenablage einbinden.

Im nächsten Fenster können Sie die optional zu übergebenden Parameter mit ihren Default-Werten hinterlegen. für die Konfiguration können aber bis zu drei Parameter übergeben werden:

  • MaxAge (Default = 60 Minuten)
    Definieren Sie hier das maximale Alter einer Mail in der Warteschlange in Minuten. Wird in einer Warteschlange mindestens eine Mail gefunden werden, dann generiert das Script einen MOM-Alert.
  • TargetServer (Default = localhost)
    Per Default überwacht das das Skript den lokalen Server. Sie können aber hierüber auch abweichend einen anderen Server überwachen lassen
  • DebugLevel (Default = 1)
    Über Werte von 1 bis 6 können Sie eine genauere Ausgabe von Informationen zum Debugging erreichen. Diese werden am Ende in einem Informationsevent von MOM protokolliert.

Dieser Werte werden im Skript selbst auch mit Defaults vorbelegt, so dass Sie nicht zwingend diese als Parameter übergeben oder definieren müssen. Sie können So aber später in der Regelgruppe die Parameter abweichend ausführen.

Als nächstes müssen Sie dann eine entsprechende "Eventregel" anlegen. Auch hier sollten Sie sich ein Konzept überlegen, ob Sie für ihre eigenen Skripte eine eigene "Rulegroup" anlegen oder die Regel einfach in das bestehende Exchange Management Pack einbauen.

Unterstützung durch Net at Work:
Sie sehen schon, dass MOM zwar einfach ist, aber ohne etwas Konzept auch sehr schnell unübersichtlich wird. Nutzen Sie unsere Erfahrung beim Einrichten von MOM.

Ich habe eine eigene Rulegroup angelegt, die auf die Gruppe der Exchange Server angewendet wird.

In dieser Gruppe lege ich nun einfach eine Eventrule an, die das vorab angelegte Skript �ber einen Zeitplan regelmäßig ausführt

Auf dem Folgebild wurde angegeben, dass Daten rund um die uhr verarbeitet und doppelte Events unterdrückt werden. Auf dem nächsten Bild wurde dann das Script eingetragen, welches als "Response" auf den Event ausgeführt wird:

Hier müssen Sie etwas "MOM" verstehen, dass der 15Minuten-Timer quasi einen Event auslöst, welcher dann das Skript startet. Es wird also nicht das Skript gestartet, um dann einen Event oder Alarm zu erhalten. übersetzen Sie Event einfach mit "Vorgang", dann erscheint es logischer, das hier einfach nur ein Taskplaner aktiv ist.

Zuletzt können Sie einen Text in der "Company Knowledgebase" pflegen und müssen einen Namen für diese Regel vergeben.

Da die Regel per Default aktiv ist, heißt es nun einfach nur warten, bis die Agenten die neue Regel erkennen und anwenden. Das sehen Sie am besten in der MOM Operator Console. Sie können diese Erkennung der Regeländerung natürlich auch antriggern.

Damit wird der ausgewählte Server angewiesen, sofort die neuen Regeln zu erkennen und zu laden.

Anzeige in MOM

Das Skript ist so ausgelegt, dass es für jeden Durchlauf zwei "Events" generiert. Daran erkennen Sie, dass das Skript gestartet wurde und ein zweiter Event liefert am Ende erneut eine Meldung samt Debug-Ausgabe. Wenn das Skript zufriedenstellend läuft, können Sie diese Meldungen natürlich im Skript auch auskommentieren.

Die Ausgabe des Skript selbst sind natürlich die generierten Alerts, wenn eine Warteschlange Mails über der vorgegebenen Maximalwartezeit enthält. für jede Warteschlange wird eine entsprechende Meldung (ERROR) erzeugt, Sie sie bei den Alerts als auch im StateView sehen.

Die Meldung selbst enthält die erforderliche Information zur Name der Warteschlange und das Alter der ältesten Mail in Minuten. Sie sollten auf jeden Fall dafür sorgen, dass die Alarme konsolidiert werden, um den Überblick zu behalten.

Skript

Sie haben MOM und möchten die Warteschlange anhand dem Alter der "ältesten Mail" überwachen ?.

Dieses Skript ist kein öffentlicher Download
Informationen, warum, einige Skripte nicht öffentlich sind, finden Sie auf nicht public.

Weitere Links