DataCockpit
The DataCockpit module is the successor of the Web Monitor and Portal modules. The functionalities of the old modules are included in the new one. In addition, the new functionality "Workflows" is available. A license is required for this add-on module .
Installation
There are two installation options for the module. With and without DMZ server.
Installation without DMZ server
The configuration file ./etc/startup.xml must have the following entry.
<
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 |
Description |
remoteHost |
Remains empty here. |
remotePort |
Use the default value. Only relevant if a DMZ server is used (see below). |
ldapAlias |
The LDAP alias if the login is to take place via LDAP. |
retainHeaderLogs |
Sets the retention time of the log entries in days. Detail logs are retained as long as specified in relevant profile.. |
cleanUpTime |
Specifies the time (24 hours, integer) when obsolete log entries are to be deleted. |
retainDaysDraft |
Obsolete setting. No longer relevant. |
enableWorkflowView |
Decides whether the "Workflows" tab is displayed. |
enablePortalView |
Decides whether the "Forms" tab is displayed. |
forceRestartRemark |
Decides whether the entry of a comment is forced during a process restart (tab "Log Search"). |
forceErrorRemark |
Decides whether the entry of a comment is forced when deleting an error process (tab "Log Search"). |
setLazyUploadDir |
To avoid an OutOfMemoryException when uploading very large files, you can configure a lazy upload . See also section Formatting via attribute "DataCockpit control" (→ _fileUpload_). |
TFAHandling |
See also section Two Factor Authentication (Users). See also section "Users" below. |
In addition, a mail server must be configured in the same file (if this is not already the case).
<!-- 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 with DMZ server
Logs are only kept on the inner Integration Server. Another database instance (schema) is installed on the DMZ server and filled with the necessary logs by the inner Integration Server (replication).
File contents, on the other hand, (i.e. input and output files, not configuration files) are not replicated, but delivered on demand from the inner Integration Server (via the DMZ server) to the DataCockpit client by the MessageService (default port 8020).
Setting up a database (on DMZ server)
This example assumes a MySQL database. Create a new database instance as database administrator (here "datacockpit") and a database user (here "myuser") on the DMZ server.
./etc/database.xml (on DMZ server)
Now enter the newly created schema in configuration file ./etc/database.xml on the DMZ server. This database instance must be accessible via TCP/IP from the inner Integration Server and the database user must have appropriate permissions.
Example:
<
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 (on DMZ server)
Now please enter the following section in configuration file ./etc/startup_dmz.xml.
<
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 |
Description |
remoteHost |
The IP/URL of the inner Integration Server must be entered here. |
remotePort |
See parameter "remoteHost". |
For an explanation of the other parameters, see the description of the installation without DMZ server.
In addition, a mail server must be configured in the same file (if this is not already the case).
<!-- 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 (on inner server)
This file must be adapted in the same way as on the DMZ server, but the IP/URL of the DMZ server must be used for the connection string (parameter database). See <Set name="dmzHost">DMZ_IP_Address</Set> in configuration file ./etc/startup.xml of the inner Integration Server.
./etc/startup.xml (on inner server)
This file must be adapted as on the DMZ server (./etc/startup_dmz.xml), but the "remoteHost" parameter must remain empty!
In addition, the following line must be commented in for the replication of the logs and the on-demand delivery of file contents.
<
Set
name
=
"webMonitorAlias"
>datacockpit</
Set
>
Login
Users
DataCockpit has a default user "admin" with password "admin". Please change the password or create a new DataCockpit user.
Address
http(s)://<IP_or_URL_of_Integration_Server_or_DMZ>:9000/DataCockpit http(s)://<IP_or_URL_of_Integration_Server_or_DMZ>:9000/DataCockpit/?user=<user>&password=<password>&language=de Note: See section Adding an HTTPS listener . |
Language codes
Language |
Code |
German |
de |
English |
en |
Spanish |
es |
French |
fr |
Italian |
it |
Danish |
da |
Dutch |
nl |
Login with token
http(s)://<IP_or_URL_of_Integration_Server_or_DMZ>:9000/webmonitor/Interceptor?user=<user>&password=<password>&language=de |
In response, you will receive a token string of the following type. The validity period is 15 minutes.
1661755355467005731743:33703602516:533663474105103177626
In a further call, which uses the token string, the actual login takes place.
http(s)://<IP_or_URL_of_Integration_Server_or_DMZ>:9000/DataCockpit?token=<token_string>&user=<user> |
So for example: http://localhost:9000/DataCockpit?token=1661755355467005731743:33703602516:533663474105103177626&user=myuser
Important note: Please note that some characters are reserved in a URL. One solution would be to not use these characters in the user or password. However, special characters do of course have their purpose in passwords for security. Alternatively, you can then URL-encode your password before entering it in the URL. See function URL-encode(), for example.
Direct links to active Workflow jobs
In open forms of active workflow jobs (and in the Input Agent of the form profile), you get a link to this form here (arrow icon on bottom). The structure of the link is as follows, e.g. to send it by email within profiles or workflows. Note: See system workflow variable VAR_SYS_WF_ID .
Lobster Integration |
http://<IP or URL of Integration Server>:9000/_data/cc.jobs.workflow/form:<Workflow ID> |
DataCockpit |
http://<IP or URL of Integration Server>:9000/DataCockpit/workflows?id=<Workflow ID> |
Direct links to forms
See section DataCockpit/Portal (Input Agent).