---
title: Работоспособность и мониторинг
description: Пробы liveness и readiness, что они проверяют и чего не проверяют, формат логов и на какие сигналы настраивать оповещения.
canonical: https://developer.unico.io/ru/human-plugin/self-hosting/health-and-monitoring
locale: ru
generated_by: markdown-export
---

# Работоспособность и мониторинг

Что проверять, за чем следить и чего пробы сообщить не могут.

## Пробы

| Эндпоинт | Ответ | Назначение |
| --- | --- | --- |
| `GET /health/live` | `200 {"status":"ok"}`, пока процесс обслуживает запросы | Liveness |
| `GET /health/ready` | `200 {"status":"ok"}`, когда PostgreSQL отвечает, иначе `503 {"status":"unavailable"}` | Readiness: направляйте трафик только после готовности |

```yaml
livenessProbe:
  httpGet: { path: /health/live, port: 8080 }
readinessProbe:
  httpGet: { path: /health/ready, port: 8080 }
  timeoutSeconds: 5
```

Задайте `timeoutSeconds` для пробы readiness. Если PostgreSQL принимает соединения, но перестаёт отвечать, проверка может ждать гораздо дольше этого значения, а тайм-аут заставляет пробу завершиться ошибкой, а не зависнуть.

### Чего readiness не проверяет

Readiness проверяет только базу данных. Она **не** проверяет, что ключ доступа действителен или что Unico доступен. Неверный ключ доступа проявляется как ошибки при создании, а не как сбой пробы. Включите настоящий запрос на создание в проверки после развёртывания.

<a id="logs"></a>

## Логи

Логи представляют собой строки JSON в стандартном выводе с полями `timestamp`, `severity`, `service` и `message`. Сбои, связанные с сохранённым процессом, содержат его `id`. Ошибки вызывающей стороны (`400`, `404`, `409`, `422`) не логируются.

Успешный запуск записывает эти строки в таком порядке среди сообщений о подключении к PostgreSQL (`version` и `count` каталога меняются с каждым релизом каталога):

```json
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.482913407Z","message":"attribute catalog loaded","service":"human-plugin","version":"2026-10-29.1","count":53,"url":"https://human-token-assets.unico.app/attribute-catalog.json"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.731050212Z","message":"database schema ready","service":"human-plugin"}
{"severity":"INFO","timestamp":"2026-11-03T14:02:11.733418901Z","message":"human plugin listening","service":"human-plugin","addr":":8080"}
```

## На что настроить оповещения

- Сбой readiness: база данных недоступна.
- Повторяющиеся ответы `503 DATABASE_UNAVAILABLE` или `502 UPSTREAM_UNAVAILABLE` на вызовы вашего бэкенда.
- Перезапуски контейнера: цикл перезапусков обычно означает отсутствующую настройку, недоступный каталог или проблему с базой данных. Лог указывает, какую именно.
- Строки лога уровня ошибки, например `creating process` или `retrieving process`.

Human Plugin не экспортирует метрики. Для частоты запросов и задержек используйте ваш шлюз или service mesh.