Monitoring Basics
This page outlines methods for monitoring Smile CDR.
Smile CDR provides several hooks that are suitable for integration with an external monitoring system.
All HTTP Servers supply an HTTP listener at the path /endpoint-health
that can be used to query for the current availability of the endpoint. This endpoint will return an HTTP 200 with a simple JSON response payload as long at the endpoint is enabled and operational.
This is useful for systems requiring a simple way to test whether an endpoint is available, such as load balancers that perform automated failover based on a status test. The Endpoint Health Check is very lightweight and may be called frequently without causing extra load on the server.
The Endpoint Healh Check is available on any endpoint modules that supply an HTTP server (e.g. FHIR REST Endpoint or Web Admin Console. It will typically be served at /endpoint-health
, but note that it will respect the context path if one is set. So for example if the context path is set to /admin
, the Endpoint Health Check will be served at /admin/endpoint-health
.
The following example shows a simple HTTP query against the Endpoint Health Check.
GET /endpoint-health
The server will respond with the following response:
200 OK
Content-type: application/json
{"status":"OPERATIONAL"}
As it is running, Smile CDR maintains a number of "health checks", which are simple status monitors that monitor whether a particular component of the system is operational.
For example, health checks exist to test database availability and health, HTTP server availability, scheduled job status, etc.
These health checks may be queried by a monitoring tool using the Runtime Status Health Checks operation on the JSON Admin API.