Actuator
Actuator — готовые эндпоинты для мониторинга состояния приложения, подключаются одним стартером, без написания кода вручную.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
GET /actuator/health # жив ли сервис: {"status":"UP"}
GET /actuator/info # информация о приложении
GET /actuator/metrics # метрики: память, потоки, запросы
Копнуть глубже
/health — главный эндпоинт для проверки готовности (health check). В Kubernetes/Docker (см. тему «Pod, Deployment») балансировщик нагрузки или оркестратор регулярно опрашивает этот эндпоинт — если сервис отвечает DOWN, трафик перестают на него направлять, а оркестратор может перезапустить контейнер. Без такой проверки система не узнает, что сервис “завис” или потерял соединение с базой.
/health может проверять зависимости. Если у приложения есть подключение к базе данных, Redis, очереди сообщений — Actuator автоматически включает их в общую проверку: если база недоступна, /health тоже вернёт DOWN, даже если само приложение технически работает.
По умолчанию большинство эндпоинтов отключены в проде из соображений безопасности — /metrics и особенно /env (показывает переменные окружения!) могут раскрыть чувствительную информацию. Включают только нужные явно через конфигурацию и часто закрывают доступ через Spring Security.
• зачем оркестратор регулярно опрашивает /health и почему эндпоинты закрывают в проде (если дошёл до 2-го слоя).