Для проверок живости Galleon предоставляет два эндпоинта без аутентификации:
| Эндпоинт | Назначение | Ответы |
|---|---|---|
GET /healthz | Процесс жив и отвечает | 200 |
GET /readyz | Доступна база данных | 200; 503 при недоступной базе |
healthz подходит для liveness-проб, readyz — для readiness-проб
и проверки готовности после развёртывания.
Ограничение доступа
Доступ к health-эндпоинтам ограничен списком адресов
server.monitoring_allowlist; по умолчанию — только loopback,
поэтому локальные проверки работают без настройки, а запросы из сети отклоняются.
Правила:
- проверяется адрес TCP-соединения; заголовки
X-Forwarded-*не учитываются — запрос через обратный прокси оценивается по адресу самого прокси; - отказ неотличим от несуществующего пути (
404); причина видна только в логе (deny_reason=monitoring_ip_denied); - явно заданный пустой список запрещает доступ всем, включая локальные проверки;
- значение
0.0.0.0/0открывает эндпоинты всем.
server:
monitoring_allowlist: ["127.0.0.0/8", "::1/128", "10.0.0.0/8"]Если проверки приходят не с loopback, в списке нужны их адреса:
для внешнего мониторинга через обратный прокси — адрес самого прокси.
Точный адрес источника виден в access-логе отклонённого запроса —
поле client_ip в записи с deny_reason=monitoring_ip_denied.
Наблюдение за инстансом
Наблюдение строится на логах и средствах PostgreSQL:
- Лог сервера — три поля, отсутствующие на здоровом трафике, дают готовые мониторы:
sqlstate(ошибки базы),deny_reason(отказы доступа),served_stale(деградация внешних реестров). Подробнее — в разделе Логирование. - Состояние соединений с внешними реестрами — колонка «Источник» на странице «Настройки» → «Репозитории» (Репозитории).
- PostgreSQL — стандартные средства: активность по именам приложений
galleonиgalleon-oci-meta(соединения, обслуживающие образы контейнеров, идут без метки), размер базы, медленные запросы. - Диск — заполнение каталога хранилища.