Monitor any JSON API in Checkmk without writing a line of code.
Point it at a /health, /status, or metrics endpoint, pick the fields you care about, and get a Checkmk service for each โ thresholds, graphs, and alerts included. One rule. Any API. Done.
components.db.status, items[0].count, done.nodes[*].status becomes one
service per array element, and components[*].status one per object key
(e.g. a Spring Boot Actuator /health map), automatically.[*] fans out one service per element,
an aggregation collapses the whole collection into one service: the number
of elements (queue length, unhealthy nodes) or the sum / average / min /
max of the values (queues[*].depth). The result is a number, so units,
WARN/CRIT levels and a metric all apply.requests_total); mark it as a timestamp and monitor its age, so
upper levels alert on stale data (last_backup older than 26 h โ WARN).[*] field at a field holding a
host name and every element becomes a host of its own, not just another
service. An API describing a fleet gives you hosts with their own downtimes,
contact groups and availability, instead of one host with a hundred services.JSON API <*name*> service with the HTTP status, response time (thresholds
optional), response size and, for HTTPS, the TLS certificate's remaining
validity โ read from the connection it is already making, so no second check
against the same URL. Zero configuration; it comes with the rule.value / 1024 / 1024 (bytesโMiB) or (value - 32) * 5 / 9 (ยฐFโยฐC) before
levels and the metric; safely evaluated, no eval.ready / degraded
/ failed straight to OK / WARN / CRIT.GET /actuator/health โ {"status": "UP", "components": {"db": {"status": "UP"}}}
Tick status (expect UP) and components.db.status โ instant services
JSON Health and JSON Database. That's the whole setup.
mkp add / mkp enable, or Setup โ Extension packages.