다음을 통해 공유


Spring Boot Actuator를 사용하여 앱 관리 및 모니터링

참고 항목

기본, 표준엔터프라이즈 계획은 2025년 3월 중순부터 사용되지 않으며 3년의 은퇴 기간이 있습니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 사용 중지 공지 사항을 참조하세요.

표준 소비 및 전용 계획은 2024년 9월 30일부터 사용되지 않으며 6개월 후에 완전히 종료됩니다. Azure Container Apps로 전환하는 것이 좋습니다. 자세한 내용은 Azure Spring Apps 표준 사용량 및 전용 계획을 Azure Container Apps로 마이그레이션을 참조 하세요.

이 문서는 Java ❎ C에✅ 적용됩니다.#

이 문서는 기본/표준 ✅ 엔터프라이즈에✅ 적용됩니다.

Spring Boot Actuator는 앱에 프로덕션 준비 기능을 제공합니다. 이 도구를 사용하여 앱을 손쉽게 모니터링하고, 메트릭을 수집하고, 상태 또는 데이터베이스 활동을 이해할 수 있습니다. 처음부터 빌드할 필요 없이 전문가급 도구에 액세스할 수 있습니다.

액추에이터는 상태, 메트릭, 정보 등 실행 중인 애플리케이션에 대한 중요한 운영 데이터를 노출합니다. 액추에이터는 HTTP 엔드포인트 또는 JMX(Java Management Extensions)를 사용하여 쉽게 상호 작용할 수 있습니다. 통합한 후에는 몇 가지 기본 엔드포인트를 제공하며, 다른 Spring 모듈과 마찬가지로 쉽게 구성 가능하고 확장 가능합니다.

Azure Spring Apps는 JMX를 통해 메트릭을 보강하는 데 액추에이터를 사용합니다. 또한 Enterprise 계획의 애플리케이션 라이브 보기를 사용하여 앱에서 데이터를 가져와서 상호 작용하는 데 도움이 될 수 있습니다.

Spring Boot Actuator를 사용하여 데이터 흐름을 보여 주는 다이어그램.

Spring Boot Actuator 구성

다음 섹션에서는 액추에이터를 구성하는 방법을 설명합니다.

작동기 종속성 추가

Maven 기반 프로젝트에 액추에이터를 추가하려면 다음 종속성을 추가합니다.

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
</dependencies>

버전이 Spring Boot BOM(Bill of Materials)에 포함되어 있으므로 이 구성은 모든 Spring Boot 버전에서 작동합니다.

액추에이터 엔드포인트 구성

기본적으로 Spring Boot 애플리케이션은 health 엔드포인트만 노출합니다. 구성 및 구성 가능한 환경을 관찰하려면 다음 단계를 사용하여 envconfigprops 엔드포인트도 사용하도록 설정하세요.

  1. 개요 창으로 이동하고 설정 메뉴에서 구성을 선택한 다음 환경 변수 구성 페이지로 이동합니다.

  2. "key:value" 양식에서와 같이 다음 속성을 추가합니다. 이 환경에서는 health, envconfigprops Spring Actuator 엔드포인트가 열립니다.

    management.endpoints.web.exposure.include: health,env,configprops
    
  3. 저장을 선택합니다. 애플리케이션이 자동으로 다시 시작되고 새 환경 변수를 로드합니다.

이제 앱 개요 창으로 돌아가 프로비전 상태가 성공으로 변경될 때까지 기다릴 수 있습니다.

모든 엔드포인트 기본 제공 및 관련 구성을 보려면 Spring Boot 프로덕션 준비 기능엔드포인트 노출 섹션을 참조하세요.

액추에이터 엔드포인트 보안

앱을 공용으로 열면 이러한 액추에이터 엔드포인트도 공용으로 노출됩니다. exclude 속성이 include 속성보다 우선하므로, management.endpoints.web.exposure.exclude=*를 설정하여 모든 엔드포인트를 숨기는 것이 좋습니다. 이 작업은 Enterprise 계획 및 액추에이터 HTTP 엔드포인트에 의존하는 다른 앱 또는 도구에서 애플리케이션 라이브 보기를 차단합니다.

엔터프라이즈 계획에는 액세스를 보호하는 두 가지 방법이 있습니다.

  • 앱의 공용 엔드포인트를 사용하지 않도록 설정하고 VMware Spring Cloud Gateway에서 라우팅 규칙을 구성하여 공용에서 액추에이터 액세스를 사용하지 않도록 설정할 수 있습니다. 자세한 내용은 VMware Spring Cloud Gateway 구성을 참조하세요.

  • 기본 애플리케이션과 다른 HTTP 포트에서 수신 대기하도록 액추에이터를 구성할 수 있습니다. 독립 실행형 애플리케이션에서 액추에이터 HTTP 포트는 기본 HTTP 포트와 동일하게 기본 설정됩니다. 애플리케이션이 다른 포트에서 수신 대기하려면 management.server.port 속성을 설정합니다. 애플리케이션 라이브 뷰는 이 포트 변경을 자동으로 검색할 수 없으므로 Azure Spring Apps 배포에서도 속성을 구성해야 합니다. 그런 다음 액추에이터는 공개적으로 액세스할 수 없지만 애플리케이션 라이브 뷰는 다른 포트를 통해 액추에이터 엔드포인트에서 읽을 수 있습니다. 자세한 내용은 Azure Spring Apps 엔터프라이즈 플랜에서 애플리케이션 라이브 뷰 사용을 참조하세요.

다음 단계