Ответ
Spring Boot Actuator — это модуль, который добавляет в приложение готовые production-ready эндпоинты для мониторинга, аудита и управления.
Ключевые возможности:
- Мониторинг здоровья (Health):
GET /actuator/health– статус приложения и внешних систем (БД, очереди). - Сбор метрик (Metrics):
GET /actuator/metrics– JVM, системные метрики, кастомные метрики. - Информация о приложении (Info):
GET /actuator/info– произвольная статическая информация (версия, сборка). - Просмотр конфигурации (Env, Configprops): Отображение свойств окружения и бинов
@ConfigurationProperties.
Базовая настройка в application.properties:
# Включение конкретных эндпоинтов через HTTP
management.endpoints.web.exposure.include=health,info,metrics,prometheus
# Детализация health check'а
management.endpoint.health.show-details=always
# Кастомная информация
info.app.name=My Service
info.app.version=2.1.0
Пример кастомного HealthIndicator:
@Component
public class CustomHealthIndicator implements HealthIndicator {
@Override
public Health health() {
boolean isHealthy = checkExternalService();
return isHealthy ? Health.up().build() : Health.down().withDetail("Error", "Service unavailable").build();
}
}
Actuator также поддерживает JMX и позволяет создавать собственные эндпоинты через аннотацию @Endpoint.