Configuration and health check
Health check via Platform Monitor
You can use Platform Monitor to check the status of the platform and its components. Platform Monitor uses the Health Check Messages to report the status to help identify what issues one or another component has got.
For more information about Platform Monitor Health Check Messages refer to the Health check messages topic.
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.
How to trigger the validation?
- Validation is going during startup tomcat by default. The result of
that can be accessible in catalina.out and configuration.log
files
It can be turned off **health.check.startup.enabled=false **in **workfusion.properties **file - Validation status can be fetched with REST /v1/health-check(no authentication needed). The result is in response and in configuration.log file. More details on swagger-ui.
What does the validation check?
| Component | Validation |
|---|---|
| MySQL | driver version, db connection, changelog version, privileges to exectute stored procedures |
| PosgreSQL | driver version, db connection |
| 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 Manager | url, ping, access. |
| AutoML | url, ping. |
| WFBI | url, username, password, ping, get project info |
| 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 |
Additional options
If WorkSpace is deployed to the same tomcat server with Control Tower and it is no active yet during validation, you can skip Crowd Licenses validation on start up with health.check.crowd.license.startup.enabled=true in **workfusion.properties **file.
Connection timeout during check external components is 10000 milliseconds by default, to change this value use **health.check.connect.timeout **property in workfusion.properties file.
Health check status example
See health check status in JSON format
{
"name": "Control Tower",
"status": "OK",
"projectInfo": {
"version": "8.5.0-SNAPSHOT",
"path": "bugfix/CC-23913-improve-health-check-procedure-for",
"revision": "d116d9ebf4166d62bb273ade844f0aa49df83473"
},
"errorCount": 0,
"warningCount": 0,
"errors": [],
"warnings": [],
"infos": [],
"components": [
{
"name": "Secret Management Service",
"status": "OK",
"projectInfo": {
"version": "1.0.13",
"path": "develop",
"revision": "db04304e"
},
"errorCount": 0,
"warningCount": 0,
"errors": [],
"warnings": [],
"infos": [],
"components": []
},
{
"name": "MySQL",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [],
"warnings": [],
"infos": [
"MySQL driver version is 5.1.40."
],
"components": []
},
{
"name": "PostgreSQL",
"status": "WARN",
"projectInfo": null,
"errorCount": 0,
"warningCount": 1,
"errors": [],
"warnings": [
"PostgreSQL driver version is newer than expected. Expected version: 9.4.1208.jre6, current version: 9.4.1212. Please, use the recommended PostgreSQL connector version in TOMCAT_HOME/lib."
],
"infos": [],
"components": []
},
{
"name": "OCR",
"status": "WARN",
"projectInfo": null,
"errorCount": 0,
"warningCount": 2,
"errors": [],
"warnings": [
"OCR URL is empty. Please define the ocr.api.base_url property. Refer to \"Manage Configuration Properties Guide\".",
"Jwt issuer or/and secret are not set. Please define the secure jwt.issuer, jwt.secret properties to enable correct operation of ocr-plugin. Refer to \"Manage Configuration Properties Guide\"."
],
"infos": [],
"components": []
},
{
"name": "Crowd Licenses",
"status": "WARN",
"projectInfo": null,
"errorCount": 0,
"warningCount": 3,
"errors": [],
"warnings": [
"The License #1 license is inactive. Manual tasks are not possible to publish with this license.",
"The mTurk license license is inactive. Manual tasks are not possible to publish with this license.",
"The mTurk license asidorova license has zero account balance. Manual tasks can not be published to production environment under this license."
],
"infos": [],
"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": []
},
{
"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": "Mail Server",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [],
"warnings": [],
"infos": [],
"components": []
},
{
"name": "S3 Storage",
"status": "WARN",
"projectInfo": null,
"errorCount": 0,
"warningCount": 1,
"errors": [],
"warnings": [
"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 properties. Refer to \"Manage Configuration Properties Guide\"."
],
"infos": [],
"components": []
},
{
"name": "Nexus repository",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [],
"warnings": [],
"infos": [
"Nexus repository is not enabled. Use following parameter for enabling: nexus.url"
],
"components": []
},
{
"name": "Ghostscript",
"status": "OK",
"projectInfo": {
"version": "GPL Ghostscript 9.07 (2013-02-14)",
"path": null,
"revision": 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": "VDS",
"status": "ERROR",
"projectInfo": null,
"errorCount": 1,
"warningCount": 0,
"errors": [
"Host vfml.crowdcomputingsystems.com:443 is NOT reachable"
],
"warnings": [],
"infos": [],
"components": []
},
{
"name": "SQC",
"status": "OK",
"projectInfo": {
"version": "2.2.1-SNAPSHOT",
"path": "trunk",
"revision": "176"
},
"errorCount": 0,
"warningCount": 0,
"errors": [],
"warnings": [],
"infos": [],
"components": []
},
{
"name": "WFBI",
"status": "ERROR",
"projectInfo": null,
"errorCount": 1,
"warningCount": 0,
"errors": [
"WFBI does not respond. Check, if it is accessible via the URL."
],
"warnings": [],
"infos": [],
"components": []
},
{
"name": "RPA Manager",
"status": "ERROR",
"projectInfo": null,
"errorCount": 1,
"warningCount": 0,
"errors": [
"Host 127.0.0.1:5555 is NOT reachable"
],
"warnings": [],
"infos": [],
"components": []
},
{
"name": "Tableau",
"status": "OK",
"projectInfo": null,
"errorCount": 0,
"warningCount": 0,
"errors": [],
"warnings": [],
"infos": [
"Tableau:Automation is not enabled. Use following parameter for enabling: tableau.automation.enabled",
"Tableau:Dashboard is not enabled. Use following parameter for enabling: tableau.dashboard.enabled"
],
"components": []
}
]
}