Health Check deprecated

Introduction

With v7.10.1 the Open-Xchange middleware offers health-checks to verify the middleware is running fine or get information which component is in trouble. This information can be retrieved via a REST interface.

Installation

The health-check feature is included in open-xchange-core package. Thus, no additional packages need to be installed. The REST interface will be available via

GET hostname:8009/health

Configuration

Enable authentication to access REST interface

By default, there is no authentication for accessing the REST interface. To enable authentication, the properties com.openexchange.health.username and com.openexchange.health.password must be set.

Skip health-checks

To disable too expensive or invasive health-checks based on their names, the comma-separated list com.openexchange.health.skip can be set. Health-checks listed here will not be executed at all.

Ignore health-check results

To ignore health-check results based on their names when evaluating the overall status, the comma-separated list com.openexchange.health.ignore can be set. Health-checks listed here will be executed and their results will be included in the response, but their status will not affect the overall status.

Response

Available health-checks

With open-xchange-core the following health-checks are available

allPluginsLoaded

Checks if all bundles are ACTIVE.

{
    "name": "allPluginsLoaded",
    "status": "UP"
}

jvmHeap

JVM heap metrics based on MemoryMXBean-data. The field lastOOM is only available in DOWN case.

{
    "name": "jvmHeap",
    "status": "UP",
    "data": {
        "init": "260046848",
        "max": "523501568",
        "used": "234073864",
        "commited": "345624576",
        "lastOOM": "2018-08-30T12:43:50,319+0200"
    }
}

configDB

Check the round-trip-time for read/write connections to the configDB.

{
    "name": "configDB",
    "status": "UP",
    "data": {
        "writeConnectionRoundTripTime": "230.573ms",
        "readConnectionRoundTripTime": "241.344ms"
    }
}

hazelcast

If available, check for hazelcast cluster state.

{
    "name": "hazelcast",
    "status": "UP",
    "data": {
        "clusterState": "ACTIVE",
        "clusterVersion": "3.10",
        "memberVersion": "3.10.5",
        "memberCount": "1",
        "isLiteMember": "false"
    }
}

Service data

Some information about the installed middleware.

"service":
    {
        "name": "appsuite-middleware",
        "version": "7.10.1-Rev0",
        "buildDate": "release-7.10.0",
        "date": "2018-09-29T16:23:58,524+0200",
        "timeZone": "Europe/Berlin",
        "locale": "de_DE",
        "charset": "UTF-8"
    }

Response codes

If all health-checks are running fine (or ignored), the HTTP status will be 200 OK and the health-check data will be included in the response body.

If any health-check is not running fine and not ignored, the HTTP status will be 503 Service unavailable and the health-check data will be included in the response body.

In case of severe middleware problems and the health-checks can not be executed, the HTTP status will be 500 Internal Server Error. In this case no data can be included in the response body.