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.onlyRunningBy default, this method returns the health check results the Cluster Manager last saved for every process in the cluster. A module that is stopped is listed as failing, with the message
Module is stopped. A stopped module does not set allHealthy to false.
To run the checks now instead, add onlyRunning=true:
GET http://localhost:9000/runtime-status/node-statuses/health-checks?onlyRunning=true
The checks then run in the process that receives the request, for its running modules only. Stopped modules and other processes are not included. While that process is still starting, the response lists no checks and reports "allHealthy": false.
You are about to leave the Smile Digital Health documentation and navigate to the Open Source HAPI-FHIR Documentation.