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.
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])(?=.*[@#$%!&-+=()])(?=\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])(?=.*[@#$%!&-+=()])(?=\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).