Перейти к основному содержимому
Работоспособность и мониторинг

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

Markdown

Пробы​

ЭндпоинтОтветНазначение
GET /health/live200 {"status":"ok"}, пока процесс обслуживает запросыLiveness
GET /health/ready200 {"status":"ok"}, когда PostgreSQL отвечает, иначе 503 {"status":"unavailable"}Readiness: направляйте трафик только после готовности
livenessProbe:
httpGet: { path: /health/live, port: 8080 }
readinessProbe:
httpGet: { path: /health/ready, port: 8080 }
timeoutSeconds: 5

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

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

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

Логи​

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

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

{"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.