Gymterview
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 может содержать пароли и секреты.