DataCockpit

Das Modul DataCockpit ist der Nachfolger der Module Web Monitor und Portal. Die Funktionalitäten der alten Module sind im neuen enthalten. Zudem ist die neue Funktionalität "Workflows" verfügbar. Es ist eine Lizenz nötig für dieses Zusatzmodul.

Installation


Es gibt zwei Installationsmöglichkeiten für das Modul. Mit und ohne DMZ-Server.

images/download/attachments/155419760/WebInsight_1-version-2-modificationdate-1740043735078-api-v2.png

Installation ohne DMZ-Server


Die Konfigurationsdatei ./etc/startup.xml ist folgendermaßen einzurichten.


<Call name="addApplication">
<Arg>
<New class="de.lobster.webmon.apps.WebMonitor">
<Set name="forceSSL">false</Set>
<Set name="alias">hub</Set>
<Set name="remoteHost"/>
<Set name="remotePort">8020</Set>
<Set name="mailSender">someone@example.com</Set>
<Set name="mailSenderForPassword">noreply@example.com</Set>
<Set name="ldapAlias"/>
<Set name="retainHeaderLogs">90</Set>
<Set name="cleanUpTime">2</Set>
<Set name="serverName">Main Server</Set>
<Set name="retainDaysDraft">-1</Set>
<Set name="minPasswordSize">5</Set>
<Set name="enableWorkflowView">False</Set>
<Set name="enablePortalView">False</Set>
<Set name="forceRestartRemark">False</Set>
<Set name="forceErrorRemark">True</Set>
 
<!-- Optional password policy; define regex and error message -->
 
            <Call name="setPasswordPolicy">
<Arg>^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%!&amp;-+=()])(?=\S+$).{5,20}$</Arg>
<Arg>Password must be 5 to 20 chars long and contains at least one digit, upper, lower and special char!</Arg>
</Call>
 
            <!-- Lazy upload handling; define a local directory and a path for external access -->
            <Call name="setLazyUploadDir">
<Arg>./tmp/LazyUpload</Arg>
<Arg>/somewhere/else/tmp/LazyUpload</Arg>
</Call>
 
<!-- Activate two factor authentication - possible values are optional, mandatory or disabled -->
<!-- Further settings can be handled in auth.xml -->
 
<Set name="TFAHandling">disabled</Set>
 
<!-- To add only specific devices from the auth.xml for the DataCockpit users add devices here by the given name in auth.xml -->
<!-- If no device is added all devices from auth.xml are avaiable -->
 
<Call name="addTFADevice">
<Arg>GoogleAuthenticator</Arg>
</Call>
 
</New>
</Arg>
</Call>


Parameter

Beschreibung

remoteHost

Bleibt hier leer.

remotePort

Verwenden Sie den Default-Wert. Nur relevant, wenn ein DMZ-Server verwendet wird (siehe weiter unten).

ldapAlias

Der LDAP-Alias, wenn die Anmeldung über LDAP erfolgen soll.

retainHeaderLogs

Bestimmt die Vorhaltezeit der Logeinträge in Tagen. Detail-Logs werden so lange vorgehalten, wie es profilabhängig vorgegeben wird.

cleanUpTime

Bestimmt die Uhrzeit (24 Stunden, ganzzahlig), wann veraltete Log-Einträge gelöscht werden sollen.

retainDaysDraft

Veraltete Einstellung. Nicht mehr relevant.

enableWorkflowView

Entscheidet, ob der Tab Workflows angezeigt wird.

enablePortalView

Entscheidet, ob der Tab Formulare angezeigt wird.

forceRestartRemark

Entscheidet, ob bei einem Prozess-Neudurchlauf (Log-Suche) die Eingabe einer Bemerkung erzwungen wird.

forceErrorRemark

Entscheidet, ob beim Löschen eines Fehler-Prozesses (Log-Suche) die Eingabe einer Bemerkung erzwungen wird.

setLazyUploadDir

Um beim Upload sehr großer Dateien eine OutOfMemoryException zu vermeiden, kann man einen Lazy Upload konfigurieren. Siehe auch Abschnitt Formatierung über Eigenschaft "Portalsteuerung" (→ _fileUpload_).

TFAHandling

Siehe auch Abschnitt Zwei-Faktor-Authentisierung (Benutzer). Siehe auch Abschnitt Benutzer unten.


Zudem muss in der selben Datei ein Mail-Server konfiguriert sein (wenn das nicht bereits der Fall ist).


<!-- mail server settings -->
<Call name="addApplication">
<Arg>
<New class="com.ebd.util.net.mail.HubStartupConfiguration">
<Call name="setMailSettings">
<!--SMTP via TLS should be used
<Arg>smtps</Arg>
-->
<Arg>localhost</Arg>
<Arg type="int">25</Arg>
<Arg>info@example.com</Arg>
<Arg>my_password_obfuscated</Arg>
</Call>
<!-- Uncomment the next line and set with fitting values to change the list of mechanisms to be used for authentication -->
<!--
<Set name="sMTPAuthMechanisms">LOGIN PLAIN MD5-DIGEST NTLM</Set>
-->
</New>
</Arg>
</Call>

Installation mit DMZ-Server

Logs werden auf dem inneren Integration Server vorgehalten. Auf dem DMZ-Server wird eine weitere Datenbank-Instanz (Schema) installiert und vom inneren Integration Server mit den notwendigen Logs gefüllt (Replikation).

Datei-Inhalte dagegen (Eingangs- und Ausgangsdateien, nicht Konfigurationsdateien) werden nicht repliziert, sondern mittels MessageServices (Defaultport 8020) on demand (über den DMZ-Server) vom inneren Integration Server an den DataCockpit-Client geliefert.

Datenbank aufsetzen (auf DMZ-Server)

In diesem Beispiel wird von einer MySQL-Datenbank ausgegangen. Legen Sie als Datenbank-Administrator eine neue Datenbank-Instanz (hier datacockpit) und einen Datenbank-Benutzer (hier myuser) auf dem DMZ-Server an.

./etc/database.xml (auf DMZ-Server)

Tragen Sie nun das neu erzeugte Schema in der Konfigurationsdatei ./etc/database.xml auf dem DMZ-Server ein. Diese Datenbank-Instanz muss mittels TCP/IP vom inneren Integration Server aus erreichbar sein und der Datenbank-Benutzer muss entsprechende Rechte haben.

Beispiel:

<Call name="initPool">
<Arg>
<New class="com.ebd.hub.services.database.DatabaseSettings">
<Set name="alias">datacockpit</Set>
<Set name="allowGrowing">true</Set>
<Set name="database">jdbc:mysql://localhost:3306/datacockpit?useSSL=false&characterEncoding=UTF8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=Europe/Berlin&allowPublicKeyRetrieval=true</Set>
<Set name="driver">com.mysql.cj.jdbc.Driver</Set>
<Set name="user">myuser</Set>
<Set name="password">OBF:1wtm1xtz1w8v1xtj1wus</Set>
<Set name="minSize">2</Set>
<Set name="maxSize">30</Set>
<Set name="idleTime">300000</Set>
<Set name="sqlCommand">select 1 from dual</Set>
<Set name="rollback">true</Set>
<Set name="caching">true</Set>
<Set name="catalogName">datacockpit</Set>
</New>
</Arg>
</Call>

./etc/startup_dmz.xml (auf DMZ-Server)

Tragen Sie nun bitte folgenden Abschnitt in die Konfigurationsdatei ./etc/startup_dmz.xml ein.


<Call name="addApplication">
<Arg>
<New class="de.lobster.webmon.apps.WebMonitor">
<Set name="forceSSL">false</Set>
<Set name="alias">datacockpit</Set>
           <Set name="remoteHost">192.168.0.99</Set>
<Set name="remotePort">8020</Set>
<Set name="mailSender">someone@example.com</Set>
<Set name="mailSenderForPassword">noreply@example.com</Set>
<Set name="ldapAlias"/>
<Set name="retainHeaderLogs">90</Set>
<Set name="cleanUpTime">2</Set>
<Set name="serverName">Main Server</Set>
<Set name="retainDaysDraft">-1</Set>
<Set name="minPasswordSize">5</Set>
<Set name="enableWorkflowView">False</Set>
<Set name="enablePortalView">False</Set>
<Set name="forceRestartRemark">False</Set>
<Set name="forceErrorRemark">True</Set>
 
<!-- Optional password policy; define regex and error message -->
 
<Call name="setPasswordPolicy">
<Arg>^(?=.*[0-9])(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%!&amp;-+=()])(?=\S+$).{5,20}$</Arg>
<Arg>Password must be 5 to 20 chars long and contains at least one digit, upper, lower and special char!</Arg>
</Call>
 
            <!-- Lazy upload handling; define a local directory and a path for external access -->
<Call name="setLazyUploadDir">
<Arg>./tmp/LazyUpload</Arg>
<Arg>/somewhere/else/tmp/LazyUpload</Arg>
</Call>
 
<!-- Activate two factor authentication - possible values are optional, mandatory or disabled -->
<!-- Further settings can be handled in auth.xml -->
 
<Set name="TFAHandling">disabled</Set>
 
<!-- To add only specific devices from the auth.xml for the DataCockpit users add devices here by the given name in auth.xml -->
<!-- If no device is added all devices from auth.xml are avaiable -->
 
<Call name="addTFADevice">
<Arg>GoogleAuthenticator</Arg>
</Call>
 
</New>
</Arg>
</Call>


Parameter

Beschreibung

remoteHost

Hier muss die IP/URL des inneren Integration Servers eingetragen werden.

remotePort

Siehe Parameter remoteHost.


Zur Erklärung der anderen Parameter siehe Beschreibung zur Installation ohne DMZ-Server.

Zudem muss in der selben Datei ein Mail-Server konfiguriert sein (wenn das nicht bereits der Fall ist).


<!-- mail server settings -->
<Call name="addApplication">
<Arg>
<New class="com.ebd.util.net.mail.HubStartupConfiguration">
<Call name="setMailSettings">
<!--SMTP via TLS should be used
<Arg>smtps</Arg>
-->
<Arg>localhost</Arg>
<Arg type="int">25</Arg>
<Arg>info@example.com</Arg>
<Arg>my_password_obfuscated</Arg>
</Call>
<!-- Uncomment the next line and set with fitting values to change the list of mechanisms to be used for authentication -->
<!--
<Set name="sMTPAuthMechanisms">LOGIN PLAIN MD5-DIGEST NTLM</Set>
-->
</New>
</Arg>
</Call>

./etc/database.xml (auf innerem Server)

Diese Datei muss wie auf dem DMZ-Server angepasst werden, allerdings muss beim Connection-String (Parameter database) die IP/URL des DMZ-Servers verwendet werden (siehe <Set name="dmzHost">DMZ_IP_Address</Set> in Konfigurationsdatei ./etc/startup.xml des inneren Integration Servers).

./etc/startup.xml (auf innerem Server)

Diese Datei muss wie auf dem DMZ-Server (./etc/startup_dmz.xml) angepasst werden, allerdings muss der Parameter remoteHost leer bleiben!

Zudem muss folgende Zeile einkommentiert werden, für die Replikation der Logs und die On-Demand-Lieferung von Datei-Inhalten.


<Set name="webMonitorAlias">datacockpit</Set>

Login


Benutzer


Das DataCockpit hat beim ersten Start automatisch einen Benutzer admin mit Kennwort admin angelegt. Ändern Sie danach bitte das Passwort oder legen Sie einen neuen DataCockpit-Benutzer an.

Adresse


http(s)://<IP/URL Integration Server/DMZ>:9000/DataCockpit

http(s)://<IP/URL Integration Server/DMZ>:9000/DataCockpit/?user=<user>&password=<password>&language=de

Hinweis: Siehe Abschnitt Hinzufügen eines HTTPS-Listeners.

Sprachcodes

Sprache

Code

Deutsch

de

Englisch

en

Spanisch

es

Französisch

fr

Italienisch

it

Dänisch

da

Niederländisch

nl

Anmeldung mit Token

http(s)://<IP/URL Integration Server/DMZ>:9000/webmonitor/Interceptor?user=<user>&password=<password>&language=de


Als Antwort erhalten Sie einen Token-String folgender Art. Die Gültigkeitsdauer ist 15 Minuten.

1661755355467005731743:33703602516:533663474105103177626

In einem weiteren Aufruf, der den Token-String verwendet, erfolgt dann die eigentliche Anmeldung.


http(s)://<IP/URL Integration Server/DMZ>:9000/DataCockpit?token=<Token-String>&user=<user>


Also zum Beispiel: http://localhost:9000/DataCockpit?token=1661755355467005731743:33703602516:533663474105103177626&user=myuser

Wichtiger Hinweis: Beachten Sie bitte, dass manche Zeichen in einer URL reserviert sind. Eine Lösung wäre, diese Zeichen nicht im Benutzer oder im Passwort zu verwenden. Allerdings haben Sonderzeichen natürlich zur Sicherheit auch ihren Sinn in Passwörtern. Alternativ können Sie Ihr Passwort dann davor URL-kodieren, bevor Sie es in der URL eintragen. Siehe z. B. Funktion URL-encode(text a, encoding b, space-handling c).

Direkte Links zu aktiven Workflow-Jobs


In offenen Formularen aktiver Workflow-Jobs (und im Eingangsagenten des Formular-Profils) bekommen Sie einen Link zu diesem Formular (Pfeil-Icon unten). Der Aufbau des Links ist folgendermaßen, um diesen z. B. innerhalb von Profilen oder Workflows per E-Mail zu versenden. Hinweis: Siehe System-Workflow-Variable VAR_SYS_WF_ID.

Lobster Integration

http://<IP oder URL des Integration Servers>:9000/_data/cc.jobs.workflow/form:<Workflow-ID>

DataCockpit

http://<IP oder URL des Integration Servers>:9000/DataCockpit/workflows?id=<Workflow-ID>

Direkte Links zu Formularen

Siehe Abschnitt Portal (Eingangsagent).