Skip to main content

Health Checks

Canary Checker defines and runs periodic health checks against services, infrastructure, and applications.

  1. Synthetic checks test services and applications by generating requests using HTTP, SQL, MongoDB, Redis, LDAP, and other protocols.
  2. Passive checks consolidate alerts from monitoring systems like Prometheus, Datadog, Dynatrace, CloudWatch, and Elasticsearch.
  3. Infrastructure checks verify Kubernetes resources, object storage, databases, and cloud APIs.
  4. Integration checks run automated test suites using tools like Playwright, JUnit, Newman, and k6 to validate end-to-end functionality across services and infrastructure.
info

Under the hood health checks are implemented using the open-source flanksource/canary-checker project

Metrics Exporter

In addition to returning a pass/fail status, health checks can export metrics to Prometheus, replacing the need for many custom Prometheus exporters.

Scripting

Evaluate the health of checks using scripts in CEL, JavaScript, or Go templates. Scripts can also filter and transform alerts from external systems.

Dashboard

The health checks page provides a high-level view of the overall health of all services, infrastructure, and applications. It surfaces recent failures and provides high-level latency and reliability metrics.

Prometheus

Prometheus metrics are exposed from health checks to provide high-level visibility into latency, error rates, and other metrics. This lets you monitor the health of services and applications using existing Prometheus alerts and Grafana dashboards.

Synthetic

Synthetic checks test services and applications by generating requests using HTTP, SQL, MongoDB, Redis, LDAP, and other protocols.