Skip to content

Monitoring & health checks

Admin

Monitor the application’s state in web/server operation: via HTTP health endpoints, OpenTelemetry telemetry and the audit logs visible in the app.

EndpointPurposeContent
/healthOverall statusall checks must be green
/aliveLivenessonly checks marked “live” (is the app responding?)
/readyReadinessonly checks marked “ready” (can traffic be accepted?)

Registered in the ServiceDefaults (MapDefaultEndpoints). The Docker HEALTHCHECK probes /alive every 30 s (15 s start grace period). In Kubernetes, /alive works well as a liveness probe and /ready as a readiness probe.

Additional checks depending on configuration: SMTP (start probe), Qdrant, Presidio.

Health endpoints and telemetry export at a glance. Health endpoints and telemetry export at a glance.

Exports metrics (ASP.NET Core, HTTP client and runtime instrumentation), traces (requests/HTTP calls; health paths excluded) and logs. Export is active as soon as OTEL_EXPORTER_OTLP_ENDPOINT is set (OTLP, e.g. to a collector/the Aspire dashboard). A Sentry integration is optional (DSN-driven).

Desktop: no health endpoints; observe via the app tabs (Usage, Audit, Service status) and local logs.

  • curl http://<host>:8080/alive → HTTP 200; /ready → 200 once dependencies are ready.
  • Telemetry appears in the collector/dashboard (when the OTLP endpoint is set).
  • /ready stays 503 – a “ready” check (e.g. database) is failing; check the logs.
  • No telemetry – OTEL_EXPORTER_OTLP_ENDPOINT missing/wrong or collector unreachable.
  • Presidio “unreachable” – PII pseudonymization degraded; see Set up Presidio.