In order to monitor translate5 instances and its services there are multiple possibilities.
The MittagQI hosting is monitored by an uptime kuma instance, a public summary is available at https://status.translate5.net
Some badges showing the current hosting status:
Monitoring of a single translate5 instance
Just that the node/container containing translate5 is up and running says nothing about the health of the translate5 installation. Therefore the URL endpoint /index/monitoring is available.
The endpoint returns in general a HTTP status 200 if all is OK, and a status >400 if not.
The following checks are performed implicitly:
- Apache with translate5 installation is up and running
- Maintenance mode is disabled - see below separate section about maintenance backup exception
- translate5 system check - without services. So in general the checks "is db up to date" check, environment checks etc. Similar as the "t5 status" command
- The services (like termtagger, spellcheck etc) are explicitly excluded here, since they should be monitored separately.
- In the MittagQI hosting its checked additionally if the backup was performed once a day - by checking the modification time of the file INSTANCE/data/logs/backup.log
maintenance backup exception
If the installation is in maintenance, it returns a non 200 HTTP status 503. Since its recommended to set the instance in maintenance for backup and update a monitoring tool would complain a downtime while doing that.
To exclude that, the /index/monitoring endpoint is checking the maintenance message and the duration before it returns the 503 HTTP state.
The allowed maintenance message for that exclusion and the allowed duration is configurable in installation.ini only.
The defaults are defined in application.ini and overwritable in installation.ini:
; this is so seldom changed that we keep it in application.ini instead DB runtimeOptions.maintenance.monitoring.backupMessage = 'Daily backup and update' runtimeOptions.maintenance.monitoring.backupAllowedSeconds = 1800
Service Monitoring
To be completed...
See the healtheck URLs in the docker containers