**Language / Язык:** [English](observability.md) | [Русский](ru/observability.md) # Observability ## Health | Path | Meaning | |---|---| | `GET /health/live` | Process liveness — no dependency checks | | `GET /health/ready` | Database reachable via `database.is_ready()`; HTTP 503 when not | Example: ```bash curl -sk https://localhost/health/live curl -sk https://localhost/health/ready ``` Implementation: [`app/observability/health.py`](../app/observability/health.py). ## Request correlation Incoming requests accept or generate an ID via `REQUEST_ID_HEADER` (default `X-Request-ID`). Structured logs include correlation fields and redact known secret patterns (session ids, passwords, ticket-like tokens). ## Metrics / tracing There is **no** Prometheus `/metrics` scrape endpoint and **no** bundled OpenTelemetry exporter in the current application. Architecture notes that mention them describe target design, not shipping telemetry. Do not confuse vSphere REST paths under `/api/vcenter/activity-history` or the seeded appliance health/timesync endpoints with simulator process telemetry — those handlers simulate vCenter appliance state inside PostgreSQL, not this process's own metrics. ## Compatibility evidence Operational compatibility reports: - `/ui/api/compatibility?major=N` Also available through the Web UI compatibility panel. See [Compatibility](compatibility.md).