Configure health checks
Validation via Control Tower
Control Tower as a central component provides validation of it's own configuration and gather configuration checks from connected components by default from out of the box configuration.
Trigger validation
- Validation is going during startup tomcat by default. The result of that can be accessible in catalina.out and configuration.log files. To turn it off, in the workfusion.properties, set health.check.startup.enabled=false.
- Validation status can be fetched with REST /v1/health-check (no authentication needed). The result is in response and in the configuration.log file. For more informationn, see swagger-ui.
Validation checks
| Component | Validation |
|---|---|
| Control Tower Database | db connection, changelog version |
| Secret Management Service | Check required fields for SMS (serverApi, platformId, safe, etc); check client certificate and keypass for it. |
| LDAP Authentication | url, bind DN, bind password, users and groups base dirs, user and groups filters |
| Single Sign On Authentication | Service Provider identifier, username attribute, SP metadata file, additionally check SignOn and LogOut service locations in metadata file |
| Crowd Licenses | Configured licenses are available. |
| S3 Storage | Check access with default keys, access with additional keys |
| Nexus Repository | url, password, ping, try to get artifact list |
| Mail Server | url, port, validate and ping |
| OCR | url, jwt issuer and secret. Internal OCR Monitoring |
| RPA Bot Manager | url, ping, access. |
| AutoML | url, ping. |
| SQC | url, ping, get project info |
| Tableau | url, username, password, site, workbook, new workbook, try sign in |
| ImageMagick | version if it is installed |
| Ghostscript | version if it is installed |
Health check status example
Health check status in the JSON format...
{
"name": "Control Tower",
"status": "OK",
"projectInfo": {
"version": "10.0.0-SNAPSHOT",
"path": "develop",
"revision": "eb21349b8ee31d36fb535dd2d97f4f01a32a3bab",
"shortRevision": "eb21349b"
},
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
],
"components": [
{
"name": "Secret Management Service",
"status": "OK",
"projectInfo": {
"version": "1.1.0.1",
"path": "release/1.1.0.1",
"revision": "8b2cabc9836ed7bba3b8bc0d4a927b8660a46f77",
"shortRevision": "8b2cabc9"
},
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
],
"components": [
]
},
{
"name": "Control Tower Database",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
],
"components": [
]
},
{
"name": "OCR",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
],
"components": [
]
},
{
"name": "ImageMagick",
"status": "WARN",
"projectInfo": null,
"errorCount": 0,
"warningCount": 1,
"errors": [
],
"warnings": [
"The ImageMagick image conversion library is not found. The OCR pre-processing step cannot be executed correctly. Please, setup the ImageMagick library"
],
"infos": [
],
"components": [
]
},
{
"name": "Ghostscript",
"status": "OK",
"projectInfo": {
"version": "GPL Ghostscript 9.07 (2013-02-14)",
"path": null,
"revision": null,
"shortRevision": null
},
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
],
"components": [
]
},
{
"name": "Tableau",
"status": "ERROR",
"projectInfo": null,
"errorCount": 1,
"warningCount": 1,
"errors": [
"Host velcom2-bi1.workfusion.com:443 is NOT reachable"
],
"warnings": [
"Tableau:Automation is not configured. You should specify following parameter(s): tableau.automation.host,tableau.automation.username,tableau.automation.password"
],
"infos": [
],
"components": [
]
},
{
"name": "AUTOML-SERVICES",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
],
"components": [
]
},
{
"name": "RPA Bot Manager",
"status": "ERROR",
"projectInfo": null,
"errorCount": 1,
"warningCount": 0,
"errors": [
"Error during check RPA Bot Manager. java.lang.IllegalStateException: Expected BEGIN_OBJECT but was STRING at line 1 column 1 path $"
],
"warnings": [
],
"infos": [
],
"components": [
]
},
{
"name": "SQC",
"status": "OK",
"projectInfo": {
"version": "10.0.0.2-SNAPSHOT",
"path": "develop",
"revision": "a82efe4065ef9b05fdb22b3304c1503418687c45",
"shortRevision": null
},
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
],
"components": [
]
},
{
"name": "Crowd Licenses",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
],
"components": [
]
},
{
"name": "Mail Server",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
],
"components": [
]
},
{
"name": "S3 Storage",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
],
"components": [
]
},
{
"name": "Single Sign On Authentication",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
"Single Sign On Authentication is not enabled. Use following parameter for enabling: wf.sso.saml.enable"
],
"components": [
]
},
{
"name": "Nexus repository",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
"Found 0 artifact(s) in the Nexus repository. https://velcom2-int1.workfusion.com:443/nexus/"
],
"components": [
]
},
{
"name": "LDAP Authentication",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [
],
"warnings": [
],
"infos": [
"LDAP Authentication is not enabled. Use following parameter for enabling: ldap.enabled"
],
"components": [
]
}
]
}
Health check messages
The section lists health check messages received via API.
Control Tower
| Component name | Message type | Message text |
|---|---|---|
| AUTOML-SERVICES | Error | Base automation URL is empty, define the secure automl.services.endpoint properties. |
| General | Error | %component_name does not respond. Check if it is accessible via the URL. |
| Database connection | Error | Database validation failed. Error: %s. Use 'liquibase validate' to see details. |
| Database connection | Error | Database validation failed. %s change sets have not been applied. Use 'liquibase status' to see details. |
| Database connection | Error | Impossible to call the stored procedure. Make sure that the "ct.datasource.username" ControlTower user has appropriate permissions |
| Database connection | Error | Failed to connect to database. Reason: %s (an error from the MS SQL driver) |
| Nexus | Error | The Nexus repository username or/and password is empty. Please define the secure nexus.user and nexus.password properties. |
| Nexus | Info | Found %number artifact(s) in the Nexus repository. "nexus.url" |
| OCR | Error | The OCR URL is empty. Please define the ocr.api.base_url property. |
| OCR | Warning | The JWT issuer or/and secret are not set. Please define the secure jwt.issuer, jwt.secret properties to enable correct operation of the ocr-plugin. |
| S3 | Warning | The secure s3.access-key or/and s3.secret-key properties are not set. The S3 file storage might be not accessible. Please define the secure s3.access-key or/and s3.secret-key property. |
| Tableau | Warning | Tableau secure properties for Dashboard and Automation do not match. Dashboard reports might not be displayed. Please check that secure properties match as follows:
|
| Tableau | Warning | Tableau:Automation is not configured. You should specify following parameter(s): tableau.automation.host,tableau.automation.username,tableau.automation.password" |
| SSO | Error | Error parsing the identity provider’s (IdP) metadata file %wf.sso.SSO.idp.file.metadata for Single Sign On Authentication. %Error message% |
| SSO | Error | The Service Provider ID property is not set for Single Sign On. Please define the secure wf.sso.SSO.sp.metadata property. |
| SSO | Error | The secure username attribute property is not defined for Single Sign On. Please define the secure wf.sso.SSO.username.attribute=username property. If you do not have the username attribute, contact your Security Administrator. |
| SSO | Error | Identity Provider (IdP) metadata file does not exist for Single Sign On. Please request the IdP metadata file from your Security Administrator and copy the file to configured path: %wf.sso.SSO.idp.file.metadata. |
| LDAP | Error | Users and groups base directories for LDAP server are not set. Please, define the ldap.group.base and ldap.user.base properties for searching the users and groups. |
| LDAP | Error | User or/and groups filters for LDAP server are not set. Please, define the ldap.user.filter, ldap.group.filter filters for searching the users and groups. |
| LDAP | Error | User filter for LDAP server is not set. Please, define the "ldap.user.filter" property for searching the users. |
| LDAP | Warning | User groups are not found at LDAP server. Users can not log in. Please, setup the ldap.group.base or/and ldap.group.filter properties correctly. |
| LDAP | Info | Credentials for the LDAP server system user are not set. Please define the secure ldap.bind.password or/and ldap.bind.dn properties. |
| LDAP | Error | Error loading the user groups from LDAP server. Please check the ldap.server.url, ldap.bind.dn, ldap.bind.password secure connection properties. |
| LDAP | Error | The URL property for LDAP server is not set. Please define the secure ldap.server.url property. |
| LDAP | Error | LDAP Server URL %URL is invalid. Please define the secure ldap.server.url property correctly. |
| LDAP | Info | LDAP Integration without groups\roles is enabled. |
| LDAP | Info | LDAP Integration with groups is enabled |
| ImageMagick | Warning | The ImageMagick image conversion library is not found. The OCR pre-processing step cannot be executed correctly. Please, setup the ImageMagick library. |
| GhostScript | Warning | The GhostScript image conversion library is not found. The OCR pre-processing step cannot be executed correctly. Please, setup the GhostScript library. GhostScript is a secondary tool used for OCR. This warning can be ignored in case either OCR or GhostScript capabilites are not used by the designed Business Process. |
| License | Warning | The %s license is inactive. Manual tasks are not possible to publish with this license. |
| License | Error | The problem with the '%s' license (%s) occurred. Error: %s |
| RPA | Warning | RPA Bot Manager host is empty, please define the property rpa.bot.manager.base.url. |
WorkSpace
| Component name | Message type | Message text |
|---|---|---|
| LDAP authentication | Error | Users and groups base directories for LDAP server are not set. Please define ldap.group.base and ldap.user.base for searching the users and groups. |
| SSO | Error | Identity Provider (IdP) metadata file does not exist for Single Sign On. Please request the IdP metadata file from your Security Administrator and copy the file to configured path: %ws.sso.SSO.idp.file.metadata. |
| SSO | Error | Service Provider ID property not defined for Single Sign On. Please define the secure ws.sso.SSO.sp.metadata property. |
| SSO | Error | Secure username attribute property is not defined for Single Sign On. Please define the secure ws.sso.SSO.username=mail attribute property. If you do not have the username attribute, contact your Security Administrator. |
| SSO | Error | Identity Provider (IdP) metadata file does not exist for Single Sign On. Please request IdP metadata file from your Security Administrator and copy file to configured path: %ws.sso.SSO.idp.file.metadata. |
| SSO | Error | Error during parsing identity provider's metadata file. |
| LDAP | Error | Users and groups base directories for LDAP server are not set. Please define ldap.group.base and ldap.user.base properties for searching users and groups. |
| LDAP | Error | Error loading the user groups from LDAP server. Please check the ws.secure.ldap.server.url, ws.secure.ldap.bind.dn, ws.secure.ldap.bind.password secure connection properties. |
| LDAP | Error | Users and groups base directories for LDAP server are not set. Please define ldap.group.base and ldap.user.base properties for searching users and groups. |
| LDAP | TBD Info | Credentials for the LDAP server system user are not set. Please define the ws.secure.ldap.bind.password or/and ws.secure.ldap.bind.dn secure properties. |
| LDAP | Warn | One or more groups are not found at LDAP server. Please, setup the ldap.group.base or/and ldap.group.filter properties correctly. |
| LDAP | Error | User groups defined in the application properties are not found at LDAP server. Users cannot log in. Please setup the ldap.group.base or/and ldap.group.filter properties correctly. |
| LDAP | Error | User or/and groups filters for LDAP server are not set. Please, define the ldap.user.filter, ldap.group.filter filters for searching the users and groups properties. |
| LDAP | Error | User filter for LDAP server are not set. Please, define the ldap.user.filter filter for searching the users. |
| Database connection | Error | Database validation failed. Error: %s. Use 'liquibase validate' to see details. |
| Database connection | Error | Database validation failed. %s change sets have not been applied. Use 'liquibase status' to see details. |
| Database connection | Error | Database connection error occurred. Please, check the database endpoint, security settings and connections number limits. |
| Database connection | Error | Database access error occurred. Please, check that the ws.datasource.username and/or ws.datasource.password secure database credentials are correct. |
| Database connection | Error | Database access error occurred. Connection to database does not exist. |
OCR
| Component name | Type of issue | Message Text |
|---|---|---|
| Microsoft SQL Server | Error | MS SQL check failed: + e.getMessage() Possible causes:
Remedy: Make sure:
|
| S3 | Error | Failed loading a file: + e.getMessage() Possible causes:
Remedy: Make sure S3 is up. |
| S3 | Error | Save operation failed during a storage test: + e.getMessage() Possible causes:
Remedy: Make sure:
|
| RabbitMQ | Error | Receive operation failed with an error during MQ test: ", e Possible causes:
Remedy: Make sure:
|
| RabbitMQ | Error | A bad message payload was received, expected='" + expectedPayload + "' actual='" + actual + "'" Possible causes:
Remedy: Make sure:
|
| RabbitMQ | Error | A message was not received during MQ testing, expected='" + expectedPayload + "', workers supposedly are not handling messages in MQ". Possible causes:
Remedy: Make sure:
|
| RabbitMQ | Error | Failed sending a message to RabbitMQ. Please, check that RabbitMQ is up and running. Refer to Installation Guide. |
| ocr-worker | Error | No reports from OCR-workers are found or the reports have expired. Please check number of the OCR-workers operating on the server and of the OCR-workers number is less then required start required OCR-worker number. Refer to WorkFusion OCR Guide. |
| ocr-worker | Error | Number of workers without errors is below the error threshold: " + counts[3]) Possible causes:
|
| ocr-worker | Warning | Number of well operational OCR-workers is below warning threshold: " + okCount |
| ocr-worker | Info | Number of well operational OCR-workers: " + okCount |
| ocr-worker | Error | OCR-worker where reports exceeded expiration threshold (" + errorTtl + " seconds): " Make sure these ocr-workers are up and can access MS SQL. |
| License | Info | Remaining number of pages to be processed under the current OCR license: + volumeRemaining |
| License | Warning | Remaining number of pages to be processed under the current license is below warning treshold: + volumeRemaining. Contact Workfusion support team to obtain a new license. |
| License | Warning | Your OCR license is about to expire. Less than 10% of pages left. You will need to purchase a new license in order to continue using OCR. |
| License | Error | Your OCR license has expired. You have to purchase a new license in order to continue using OCR. |
| License | Error | OCR license is not found. Please, check that the OCR license is activated. |
| License | Error | Failed to load the OCR license. Please, check the access permissions for it. |