junior
Что такое Spring Boot Actuator?
Spring Boot Actuator – модуль, предоставляющий набор HTTP-эндпоинтов для мониторинга и управления приложением в production.
Основные эндпоинты
| Эндпоинт | Описание |
|---|---|
/actuator/health |
Состояние здоровья приложения |
/actuator/info |
Информация о приложении |
/actuator/metrics |
Метрики (память, CPU, HTTP-запросы) |
/actuator/env |
Свойства окружения |
/actuator/beans |
Все бины в контейнере |
/actuator/mappings |
Все URL-маппинги |
/actuator/loggers |
Уровни логирования (можно менять на лету) |
/actuator/prometheus |
Метрики в формате Prometheus |
Настройка
Пример
# Включить все эндпоинты (по умолчанию открыт только health и info)
management.endpoints.web.exposure.include=health,info,metrics,prometheus
# Отдельный порт для actuator
management.server.port=9090
# Детальная информация о health
management.endpoint.health.show-details=always
Создание собственного health-индикатора
Пример
@Component
public class ExternalApiHealthIndicator implements HealthIndicator {
@Override
public Health health() {
boolean isAvailable = checkExternalApi();
if (isAvailable) {
return Health.up().withDetail("api", "доступен").build();
}
return Health.down().withDetail("api", "недоступен").build();
}
}
На собеседовании: покажите понимание безопасности actuator-эндпоинтов. Частая ошибка – открыть все эндпоинты в production без защиты:
/actuator/envможет содержать пароли и секреты.