Monitoring the health of your system

  Written by The Jahia Team
   Estimated reading time:

Jahia 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)


The healthcheck is available through the servlet /healthcheck to all users who are granted the Jahia server role monitoring It returns a JSON object with the following structure:



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 (
Manually declarating an OSGi service and implementing a Java interface (described bellow)
Steps to creating a Healthcheck extension:

Updating the pom.xml file

Add the following elements to the pom file:



                    <Jahia-Depends>default, healthcheck</Jahia-Depends>

Creating a new Java class

In the extensionexample module, we decided to create a org.jahia.modules.healthcheckexample.probes package and a file.

Creating 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:

import org.osgi.service.component.annotations.Component;
import org.jahia.modules.healthcheck.interfaces.Probe;

@Component(service = Probe.class, immediate = true)
public class ProbeExampleService implements Probe {

Then, implement all 3 methods:

public String getStatus() {
    return "GREEN";

public JSONObject getData() {
    // Contains potential error messages. Return null if no message is necessary
    return jsonObject;

public String getName() {
    return "ProbeExample";