Jahia DX Healthcheck probe
Jahia DX Healthcheck probe
The Healthcheck module provides insights about a platform's health and can help trigger alerts or pay attention to key components that might need close attention. Jahia's Healthcheck module provides a JSON output and it can be triggered at will with minimal impact on the platform load.
The healthcheck module is a core component that can be used in conjunction with extension modules in order to provide more information to the monitoring systems.
The healthcheck module returns a global status for the server, as well a status for all tested components. The status can be:
GREEN (Nominal status)
YELLOW (Non critical problem)
RED (Critical issue)
Usage
The healthcheck is available through the servlet /healthcheck
to all users who are granted the Jahia DX server role monitoring
It returns a JSON object with the following structure:
Prerequisite
The Healthcheck module works on any Jahia DX 7.2.0.2+ platform.
Extensions
While the core healthcheck provide basic capabilities such as database connectivity and server load checks, additional modules can extend its capabilities. When deploying a proper healthcheck module extension, the healthcheck servlet will automatically be added with the new information.
A typical Healthcheck extension is the healcheck-cluster module.
Custom extensions
Developping a custom extension is straightforward and can be done in two different ways:
Forking the healcheck-extensionexample module (https://github.com/Jahia/healcheck-extensionexample)
Manually declarating an OSGi service and implementing a Java interface (described bellow)
Steps to creating a Healthcheck extension:
1. Updating the pom.xml file
Add the following elements to the pom file:
2. Create a new Java Class
In the extensionexample module, we decided to create a org.jahia.modules.healthcheckexample.probes package and a ProbeExample.java file.
3. Create a Probe OSGi service
In the Java Class previously created, implement the Probe interface (org.jahia.modules.healthcheck.interfaces.Probe) and declare a new Probe service:
Then, implement all 3 methods: