Skip to content
Last updated July 2, 2026

Discovery Health

Discovery Health answers a question you rarely think to ask: “is auto-discovery actually working on every host?” When a parser silently fails — nginx running but no vhosts detected, MySQL up but no databases returned — the result looks like an empty page rather than an error. This view surfaces those silent gaps.

Open it under Monitoring → Insights → Discovery Health, or at /insights/discovery-health.

Hosts are bucketed by discovery status:

  • Error — the last discovery run failed outright, or a mandatory scan came back empty on a host where it should not.
  • Warning — one or more discovery sources partially failed (e.g. cron parsed but services empty).
  • Unknown — the agent has not reported a discovery result recently. Usually means the host is offline.
  • Healthy — every discovery source returned data.

Each bucket is a collapsible section with the affected servers, the hostname, when discovery last ran, and a summary of what came back empty.

Header shows the total server count and how many fell into each bucket.

  • Open the server — jumps to the host detail so you can inspect logs and re-run discovery from the header.
  • Force a discovery run — from the server detail page. Useful after fixing a config on the host.

Every heartbeat the agent runs the parsers it can — nginx / Apache vhosts, systemd services, Docker, cron, SSL certs, network interfaces, plugin data. Each parser reports one of three things:

  • OK, with results — parsed cleanly, returned data.
  • OK, empty — parsed cleanly, nothing to find (a host with no cron entries genuinely has none).
  • Error — the parser failed. Missing binary, permission denied, malformed config.

Discovery Health looks at the mix of these across a host and decides which bucket it belongs in. The catch — and the reason this page exists — is that “OK, empty” is sometimes wrong: if a host is definitely running nginx and reports zero vhosts, that is a silent parser miss, not the truth. The heuristics on this page flag those cases so you don’t chase a phantom “no domains” bug downstream.

  • Servers — per-host detail, including the last discovery timestamp.
  • Activity — the running log of discovery events.
  • Analytics — sibling insight page for metric deviations.
Was this page helpful?