Runtime Status Endpoint
The Runtime Status endpoint is used to query the cluster manager for information about the running system. This includes details about the operating status of nodes as well as the current state of the system health checks.
This method will return the status and health of all nodes and modules across the cluster.
To invoke:
GET http://localhost:9000/runtime-status/node-statuses/complete
The server will produce a response resembling the following:
{
"nodeStatuses": [
{
"nodeId": "Xolo",
"status": "STARTED",
"statusTimestamp": "2016-12-06T06:39:10.902-05:00",
"moduleStatuses": [
{
"moduleId": "admin_json",
"moduleType": "ADMIN_JSON",
"shortName": "JSON Admin API",
"pid": 811,
"port": 9000,
"status": "STARTED",
"stoppable": true,
"healthChecks": [
{
"healthy": true,
"message": "Listening: 91 transactions since started",
"name": "HTTP Pipeline"
}
]
}
]
}
]
}
For brevity only 1 node and 1 module are shown above but a real response might contain many more.
Note the following details:
"status": "STARTED"
– this shows the actual status of the node/module. See Module Status Types for possible codes.This method returns all runtime health checks across the entire cluster.
To invoke:
GET http://localhost:9000/runtime-status/node-statuses/health-checks
The server will respond with an HTTP 200 OK
if all health checks are currently passing, or an HTTP 420
if any health checks are failing.
The server will produce a response resembling the following:
{
"allHealthy": true,
"healthChecks": [
{
"healthy": true,
"message": "Listening: No transactions since started",
"name": "HTTP Pipeline",
"moduleId": "fhir_endpoint",
"nodeId": "Xolo"
}
]
}
For brevity only 1 health check is shown above but a real response might contain many more.
Note the following details:
"allHealthy": true
– This will be shown as false
if any of the health checks are failing. This is useful for feeding into an external monitoring system.