f8d3cbdd59
Add the FastAPI app, PostgreSQL migrations, Docker/Helm packaging, API contracts, docs, client examples, and the unit/integration/compatibility test suite for local client and tooling labs without a real vCenter.
46 lines
1.4 KiB
Markdown
46 lines
1.4 KiB
Markdown
**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).
|