Azure Container Apps에서 Admin for Spring 구성 요소 구성
Admin for Spring 관리 구성 요소는 Actuator 엔드포인트를 노출하는 Spring Boot 웹 애플리케이션에 대한 관리 인터페이스를 제공합니다. 이 문서에서는 Spring 구성 요소를 구성하고 관리하는 방법을 보여 줍니다.
표시
show
명령을 사용하여 이름으로 개별 구성 요소의 세부 정보를 볼 수 있습니다.
다음 명령을 실행하기 전에 <>
로 묶인 자리 표시자를 원하는 값으로 바꿉니다.
az containerapp env java-component admin-for-spring show \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--name <JAVA_COMPONENT_NAME>
엽데이트
update
명령을 사용하여 Spring용 Admin 구성 요소의 복제본 수 및 구성을 업데이트할 수 있습니다.
다음 명령을 실행하기 전에 <>
로 묶인 자리 표시자를 원하는 값으로 바꿉니다. 지원되는 구성은 속성 목록 표에 나열되어 있습니다.
az containerapp env java-component admin-for-spring update \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP> \
--name <JAVA_COMPONENT_NAME> \
--min-replicas <REPLICA_COUNT> \
--max-replicas <REPLICA_COUNT> \
--configuration <CONFIGURATION_KEY>="<CONFIGURATION_VALUE>"
List
list
명령을 사용하여 등록된 모든 Java 구성 요소를 나열할 수 있습니다.
다음 명령을 실행하기 전에 <>
로 묶인 자리 표시자를 원하는 값으로 바꿉니다.
az containerapp env java-component list \
--environment <ENVIRONMENT_NAME> \
--resource-group <RESOURCE_GROUP>
바인딩 해제
컨테이너 앱에서 바인딩을 제거하려면 --unbind
옵션을 사용합니다.
다음 명령을 실행하기 전에 <>
로 묶인 자리 표시자를 원하는 값으로 바꿉니다.
az containerapp update \
--name <APP_NAME> \
--unbind <JAVA_COMPONENT_NAME> \
--resource-group <RESOURCE_GROUP>
Dependency
컨테이너 앱에서 관리 구성 요소를 사용하는 경우 pom.xml
파일에 다음 종속성을 추가해야 합니다. 버전 번호를 Maven 리포지토리에서 사용 가능한 최신 버전으로 바꿉니다.
<dependency>
<groupId>de.codecentric</groupId>
<version>3.3.2</version>
<artifactId>spring-boot-admin-starter-client</artifactId>
</dependency>
구성 가능한 속성
Spring Boot 2부터 상태 및 정보 이외의 엔드포인트는 기본적으로 노출되지 않습니다. application.properties
파일에 다음 구성을 추가하여 노출할 수 있습니다.
management.endpoints.web.exposure.include=*
management.endpoint.health.show-details=always
Spring용 관리자에게 허용되는 구성 목록
다음 목록에는 앱에 대해 구성할 수 있는 관리 구성 요소 속성이 자세히 설명되어 있습니다. 자세한 내용은 Spring Boot 관리 문서를 참조하세요.
Property name | 설명 | 기본값 |
---|---|---|
spring.boot.admin.server.enabled |
Spring Boot 관리 서버를 사용하도록 설정합니다. | true |
spring.boot.admin.context-path |
관리 서버의 정적 자산 및 API가 제공되는 경로 접두사입니다. Dispatcher-Servlet과 관련됩니다. | |
spring.boot.admin.monitor.status-interval |
인스턴스 상태를 확인하는 시간 간격(밀리초)입니다. | 10,000ms |
spring.boot.admin.monitor.status-lifetime |
상태의 수명(밀리초)입니다. 마지막 상태가 만료되지 않는 한 상태는 업데이트되지 않습니다. | 10,000ms |
spring.boot.admin.monitor.info-interval |
인스턴스 정보를 확인하는 시간 간격(밀리초)입니다. | 1m |
spring.boot.admin.monitor.info-lifetime |
정보의 수명(분)입니다. 정보는 마지막 정보가 만료되지 않은 한 오래되지 않습니다. | 1m |
spring.boot.admin.monitor.default-timeout |
요청 시 기본 시간 제한. 특정 엔드포인트의 개별 값은 spring.boot.admin.monitor.timeout.* 을 사용하여 재정의될 수 있습니다. |
10,000 |
spring.boot.admin.monitor.timeout.* |
endpointId 당 시간 제한이 있는 키-값 쌍입니다. |
default-timeout 값을 기본값으로 설정 |
spring.boot.admin.monitor.default-retries |
실패한 요청에 대한 기본 다시 시도 횟수입니다. 데이터(PUT , POST , PATCH , DELETE )를 수정하는 요청은 다시 시도되지 않습니다. 특정 엔드포인트의 개별 값은 spring.boot.admin.monitor.retries.* 을 사용하여 재정의될 수 있습니다. |
0 |
spring.boot.admin.monitor.retries.* |
endpointId 당 다시 시도 횟수가 포함된 키-값 쌍입니다. 데이터(PUT , POST , PATCH , DELETE )를 수정하는 요청은 다시 시도되지 않습니다. |
default-retries 값을 기본값으로 설정 |
spring.boot.admin.metadata-keys-to-sanitize |
모든 JSON 출력을 삭제하는 데 사용되는 정규식 패턴과 일치하는 키의 메타데이터 값입니다. Spring Boot 3부터 모든 액추에이터 값은 기본적으로 마스킹됩니다. 정리 취소 프로세스를 구성하는 방법에 대한 자세한 내용은(중요한 값 정리)를 참조하세요. | ".**password$", ".\*secret$", ".\*key$", ".\*token$", ".\*credentials.**", ".*vcap_services$" |
spring.boot.admin.probed-endpoints |
Spring Boot 1.x 클라이언트 애플리케이션의 경우 Spring Boot 관리는 OPTIONS 요청을 사용하여 지정된 엔드포인트를 검색합니다. 경로가 ID와 다른 경우 이 값을 id:path (예: health:ping )로 지정할 수 있습니다. |
"health", "env", "metrics", "httptrace:trace", "threaddump:dump", "jolokia", "info", "logfile", "refresh", "flyway", "liquibase", "heapdump", "loggers", "auditevents" |
spring.boot.admin.instance-proxy.ignored-headers |
클라이언트에 요청할 때 전달되지 않는 헤더입니다. | "Cookie", "Set-Cookie", "Authorization" |
spring.boot.admin.ui.title |
표시된 페이지 제목입니다. | "Spring Boot Admin" |
spring.boot.admin.ui.poll-timer.cache |
새 캐시 데이터를 페치하기 위한 폴링 기간(밀리초)입니다. | 2500 |
spring.boot.admin.ui.poll-timer.datasource |
새 데이터 원본 데이터를 페치하기 위한 폴링 기간(밀리초)입니다. | 2500 |
spring.boot.admin.ui.poll-timer.gc |
새 gc 데이터를 페치하기 위한 폴링 기간(밀리초)입니다. | 2500 |
spring.boot.admin.ui.poll-timer.process |
새 프로세스 데이터를 페치하기 위한 폴링 기간(밀리초)입니다. | 2500 |
spring.boot.admin.ui.poll-timer.memory |
새 메모리 데이터를 페치하기 위한 폴링 기간(밀리초)입니다. | 2500 |
spring.boot.admin.ui.poll-timer.threads |
새 스레드 데이터를 페치하기 위한 폴링 기간(밀리초)입니다. | 2500 |
spring.boot.admin.ui.poll-timer.logfile |
새 로그 파일 데이터를 페치하기 위한 폴링 기간(밀리초)입니다. | 1000 |
spring.boot.admin.ui.enable-toasts |
알림 메시지를 사용하거나 사용하지 않도록 설정합니다. | false |
spring.boot.admin.ui.title |
브라우저의 창 제목 값입니다. | "" |
spring.boot.admin.ui.brand |
탐색 헤더에 렌더링된 HTML 코드이며 기본값은 Spring Boot 관리 레이블입니다. 기본적으로 Spring Boot 관리 로고 뒤에는 이름이 옵니다. | "" |
management.scheme |
Actuator 엔드포인트에 액세스하는 데 사용되는 서비스 URL에서 대체되는 값입니다. | |
management.address |
Actuator 엔드포인트에 액세스하는 데 사용되는 서비스 URL에서 대체되는 값입니다. | |
management.port |
Actuator 엔드포인트에 액세스하는 데 사용되는 서비스 URL에서 대체되는 값입니다. | |
management.context-path |
액추에이터 엔드포인트에 액세스하는 데 사용되는 서비스 URL에 추가되는 값입니다. | ${spring.boot.admin.discovery.converter.management-context-path} |
health.path |
상태 검사에 사용되는 서비스 URL에 추가되는 값입니다. EurekaServiceInstanceConverter 에 의해 무시됩니다. |
${spring.boot.admin.discovery.converter.health-endpoint} |
spring.boot.admin.discovery.enabled |
관리 서버에 대한 DiscoveryClient 지원을 사용하도록 설정합니다. |
true |
spring.boot.admin.discovery.converter.management-context-path |
management-url 값이 DefaultServiceInstanceConverter 에 의해 변환될 때 발견된 서비스의 service-url 에 추가되는 값입니다. |
/actuator |
spring.boot.admin.discovery.converter.health-endpoint-path |
health-url 값이 DefaultServiceInstanceConverter 에 의해 변환될 때 발견된 서비스의 management-url 에 추가되는 값입니다. |
"health" |
spring.boot.admin.discovery.ignored-services |
검색 사용 시 무시되고 애플리케이션으로 등록되지 않은 서비스입니다. "foo*" , "*bar" , "foo*bar*" 와 같은 단순한 패턴을 지원합니다. |
|
spring.boot.admin.discovery.services |
검색 사용 시 포함되고 애플리케이션으로 등록되는 서비스입니다. "foo*" , "*bar" , "foo*bar*" 와 같은 단순한 패턴을 지원합니다. |
"*" |
spring.boot.admin.discovery.ignored-instances-metadata |
이 목록의 패턴과 일치하는 메타데이터 항목이 하나 이상 포함된 경우 서비스가 무시됩니다. "discoverable=false" 와 같은 패턴을 지원합니다. |
|
spring.boot.admin.discovery.instances-metadata |
목록의 패턴과 일치하는 메타데이터 항목이 하나 이상 포함된 경우 서비스가 포함됩니다. "discoverable=true" 와 같은 패턴을 지원합니다. |
일반 구성
- 관련 구성 로깅
- logging.level.*
- logging.group.*
logging.*
네임스페이스의 다른 모든 구성은 금지되어야 합니다. 예를 들어,logging.file
을 사용하여 로그 파일을 작성하는 것은 금지되어야 합니다.