**Language / Язык:** [English](../observability.md) | [Русский](observability.md)

# Наблюдаемость

## Health

| Path | Значение |
|---|---|
| `GET /health/live` | Liveness процесса — без проверки зависимостей |
| `GET /health/ready` | База данных доступна через `database.is_ready()`; HTTP 503, если нет |

Пример:

```bash
curl -sk https://localhost/health/live
curl -sk https://localhost/health/ready
```

Реализация: [`app/observability/health.py`](../../app/observability/health.py).

## Корреляция запросов

Входящие запросы принимают или генерируют ID через `REQUEST_ID_HEADER`
(по умолчанию `X-Request-ID`). Структурированные логи содержат поля
корреляции и маскируют известные шаблоны секретов (session id, пароли,
токены в стиле ticket).

## Метрики / трейсинг

В текущем приложении **нет** endpoint для scrape `/metrics` Prometheus и
**нет** встроенного экспортера OpenTelemetry. Заметки в архитектурной
документации, где они упоминаются, описывают целевой дизайн, а не
реально поставляемую телеметрию.

Не путайте пути vSphere REST под `/api/vcenter/activity-history` или
seeded-эндпоинты health/timesync appliance с телеметрией самого процесса
симулятора — эти обработчики симулируют состояние appliance vCenter внутри
PostgreSQL, а не собственные метрики этого процесса.

## Evidence совместимости

Отчёты о совместимости в эксплуатации:

- `/ui/api/compatibility?major=N`

Также доступны через панель совместимости Web UI. См.
[Совместимость](compatibility.md).
