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 구성
다음 섹션에서는 액추에이터를 구성하는 방법을 설명합니다.
작동기 종속성 추가
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
엔드포인트만 노출합니다. 구성 및 구성 가능한 환경을 관찰하려면 다음 단계를 사용하여 env
및 configprops
엔드포인트도 사용하도록 설정하세요.
앱 개요 창으로 이동하고 설정 메뉴에서 구성을 선택한 다음 환경 변수 구성 페이지로 이동합니다.
"key:value" 양식에서와 같이 다음 속성을 추가합니다. 이 환경에서는
health
,env
및configprops
Spring Actuator 엔드포인트가 열립니다.management.endpoints.web.exposure.include: health,env,configprops
저장을 선택합니다. 애플리케이션이 자동으로 다시 시작되고 새 환경 변수를 로드합니다.
이제 앱 개요 창으로 돌아가 프로비전 상태가 성공으로 변경될 때까지 기다릴 수 있습니다.
모든 엔드포인트 기본 제공 및 관련 구성을 보려면 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 엔터프라이즈 플랜에서 애플리케이션 라이브 뷰 사용을 참조하세요.