Dieser Dienst ist für nachfolgende Aufgaben verantwortlich:
Bei korrekter Konfiguration benachrichtigt der Dienst die in der Konfiguration eingetragenen Nutzer per E-Mail und schreibt zudem alle Vorkommnisse in das Ereignisprotokoll des Servers. Dabei wird ein eigenes Ereignisprotokoll mit dem Namen IwanCardoLog angelegt und befüllt.
Der Dienst liest seine Konfiguration aus einer XML-Steuerdatei aus. Diese befindet sich, wie die Programmdateien des Dienstes selber, im Ordner:
Der Name der Datei lautet
Im gleichen Ordner befindet sich eine Vorlagendatei mit dem Namen
Diese Datei wird nicht vom Dienst verwendet, sondern enthält, kommentiert, die möglichen Einstellungen. Diese Vorlage wird bei Updates ebenfalls immer auf den neuesten Stand gebracht. Die eigentliche Steuerdatei wird bei Updates nicht modifiziert.
Das XML Format der Datei ist im XSD-Schema cardoIwanMonitorConfig.xsd beschrieben.
Für das Auswerten der Iwan-Logs wird eine von Iwan befüllte SQLite-Datenbank abgearbeitet. Wo diese sich befindet, kann über ITC mit dem Befehl 'show logdb' ermittelt werden.
Einige Aufgaben im cardo können für die unbeaufsichtigte Hintergrundausführung für den Batch Betrieb konfiguriert werden. Dazu zählen z. Z.
Vorgehensweise:
Die Aktivierung erfolgt über das Eintragen des folgenden Konfigurationsabschnitts in der Datei monitor.config.xml.
Konfigurationsabschnitt:
<TriggerBatchEvents enabled="true">
<WakeUpMinutes>30</WakeUpMinutes>
<cardo3RootUrlxsi:nil="true"/>
<cardo3UserName>Benutzername</cardo3UserName>
<cardo3UserPasswordisEncrypted="false">Kennwort</cardo3UserPassword>
</TriggerBatchEvents>
Nach der allgemeinen Aktivierung des Batchbetriebes muss nun noch definiert werden, welche konkreten Tasks im Batchbetrieb aktiviert werden sollen. Zum einen gibt es Tasks, welche hier konkret per Name aktiviert werden. Zum anderen gibt es auch Tasks, welche nicht einzeln sondern unter einem Sammeltask laufen.
Für diese Dienste gibt es jeweils einen zu aktivierenden Abschnitt unter TriggerBatchEvent.
Name und Position ersehen Sie durch Nachschauen in der Vorlagendatei monitor.template.config.xml oder Sie verwenden die Informationen aus der Schemadatei cardoIwanMonitorConfig.xsd.
Beispiele: ShadowCopiesBatch, OrfBatch, ExportToCswBatch
Der Abschnitt TaskSchedulerBatch definiert einen Sammeltask, unter welchem verschiedenste andere Tasks laufen können. Welche das sind, entscheidet der Programmierer der jeweiligen Anwendung.
Beachten Sie, dass der Wert für WakeUpMinutes hier den 'Grundtakt' für all diese Dienste vorgibt. Der Intervall sollten also so gering gewählt werden, dass alle Dienste die nötige Ausführungsfrequenz erreichen. Die Dienste bringen eine eigene Konfiguration für den Ausführungsintervall mit. Dieser kann länger aber nie kürzer als der hier eingestellte 'Grundtakt' sein!
Sie sollten nach Änderungen an dieser Datei das Windows-Ereignisprotokoll anschauen (Systemsteuerung/Verwaltung/Ereignisanzeige/IwanCardoLog). Dort finden Sie ein Protokoll mit den Namen IwanCardoLog. In dieses Protokoll schreibt der Monitordienst sämtliche Aktionen. Vor allem beim Start wird für jedes Modul des Dienstes eine detaillierte Meldung/Fehlermeldung ausgegeben. Dies sollte immer die erste Anlaufstelle bei Problemen sein.
Der Monitor startet nicht, wenn die Anmeldung nicht korrekt ist.
Im Wesentlichen ruft der BatchMonitor den Dienst BatchServices auf. Die dort vorhandenen Methoden werden für die eigentliche Ausführung verwendet. D. h. der Dienst übernimmt hier nur die Steuerfunktion, die Arbeit wird durch cardo ausgeführt. Dies bedeutet auch, dass diese Dienste direkt aufgerufen werden können. Dieser Dienst bietet auch zusätzliche Analysemethoden.
URL für BatchServices:
http://IhrCardo/net3/services/BatchServices.asmx
Die verfügbaren Methoden sind dort kommentiert aufgeführt.
Hilfreich ist unter anderem die Methode GetAllScheduledTaskInfos, welche zu jedem Task u.a. detailiert ausgibt:
E-Mail Konfigurationsabschnitt:
<GlobalEmailConfiguration>
<MailServerConfig>
<Adress>x.y.de</Adress>
<Port>25</Port>
<AllowSSL>true</AllowSSL>
<UserName>user</UserName>
<Password isEncrypted="false">pwd</Password>
</MailServerConfig>
<Recipients>Empfaenger1</Recipients>
<Recipients>Empfaenger2</Recipients>
<Sender>Absender</Sender>
<SecondsBetweenNextMail>60</SecondsBetweenNextMail>
</GlobalEmailConfiguration>
Beim Neustart des Monitors wird, wenn die Mailconfig definiert ist, eine Mail versendet, welche über den Neustart des Monitors informiert. Sollte diese Mail nicht zugestellt werden, ist in der Ereignisanzeige zu prüfen, ob es im CardoMonitorLog eine entsprechende Fehlermeldung über den gescheiterten Mailversand gibt. Ist dort das erfolgreiche Versenden der Mail vermerkt, sollten der Spamverdachtordner geprüft werden.
Sind im IwanCardoLog keine Fehler vorhanden, so können Sie per ITC mit dem Befehl show server, schauen, ob unter dem Eintrag LogRecords failed Einträge stehen.
Falls dies der Fall ist, rufen Sie den Befehl show logdb auf. Es wird Ihnen die Lage der LogDatei im Dateisystem angezeigt. Benennen Sie diese Logdatei im Dateisystem um.
Die Konfiguration der Mailserver Einstellungen im cardo Monitor wurde erweitert. Es kann nun Port, Login, SSL etc. mit eingestellt werden.
Statt dem Element MailServer kann nun MailServerConfig verwendet werden.
....
Der Ausführungsintervall eines Tasks ergibt sich aus dem Grundtakt definiert in der Konfigurationsdatei des CardoMonitorServices und, wenn vom Programmierer vorgesehen, einem Konfigurationsdialog für einen genauer einstellbaren Ausführungsintervall. Ist dieser Konfigurationsdialog nicht vorgesehen, gibt nur der Grundtakt den Ausführungsintervall vor.
Der Dialog für die Erweiterte Intervalldefinition bietet folgende Möglichkeiten:
Problem:
Ein Task wurde korrekt definiert, wird aber nicht im angegebenen Intervall sonder scheinbar sporadisch ausgeführt.
Mögliche Ursache(n):
Zwei cardo-Instanzen auf unterschiedlichen Servern nutzen die selbe cardo-Datenbank (z.B. wenn ein Server migriert wurde und die alte Instanz parallel noch läuft). Dann konkurrieren zwei Monitorinstanzen um die Tasks und jeweils nur eine führt den Task aus.
Lösung: Deaktivieren Sie eine der beiden Monitor-Instanzen