다음을 통해 공유


Spring Boot Admin으로 애플리케이션 라이브 보기 마이그레이션

참고 항목

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

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

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

이 문서에서는 Application Live View에서 Spring Boot Admin으로의 마이그레이션 경로를 설명합니다.

Spring Boot Admin은 Spring Boot 애플리케이션을 관리하고 모니터링하기 위한 강력한 도구입니다. Spring Boot Actuators를 기반으로 하여 액세스 가능한 HTTP 엔드포인트를 통해 애플리케이션을 실행하는 내부 작업에 대한 인사이트를 제공합니다. Spring Boot 관리자는 이러한 엔드포인트를 사용하여 데이터를 수집하고 애플리케이션과의 상호 작용을 용이하게 합니다.

Spring Boot 관리 서버 설정

Azure Spring Apps는 이전에 애플리케이션을 관리하는 데 도움이 되도록 Tanzu 애플리케이션 라이브 뷰와 기본 제공 통합을 제공했습니다. 그러나 제품 기능의 변경으로 인해 이 기능은 더 이상 사용할 수 없습니다. 애플리케이션을 쉽게 관리할 수 있도록 다음 단계에서는 Spring Boot Admin Server를 구성하고 대체 솔루션으로 사용하는 방법을 안내합니다.

  1. 새 앱 만들기.

    Spring Boot Admin Server 앱을 만들려면 다음 단계를 사용합니다.

    1. Azure Portal에서 Azure Spring Apps 엔터프라이즈 인스턴스로 이동합니다.
    2. 탐색 창에서 창을 열어 서비스 인스턴스에 대한 앱을 봅니다.
    3. 앱 만들기를 선택하여 만들기 창을 엽니다.
    4. 애플리케이션 이름을 spring-boot-admin로 지정합니다.
    5. 배포 유형을아티팩트(Java/Polyglot)로 변경하지 않고 그대로 둡니다.
    6. 바인딩 드롭다운을 열고 서비스 레지스트리를 선택합니다.
    7. 만들기를 선택하여 앱을 만듭니다.

    앱 만들기 페이지를 보여 주는 Azure Portal의 스크린샷.

  2. Spring Boot 관리 서비스를 빌드합니다.

    앱을 만든 후 다음 단계는 Spring Boot 관리 서비스 앱을 빌드하는 것입니다. Spring Boot 관리자 시작 설명서지침을 따릅니다.

    다음 예제 코드를 참조할 수 있습니다.

    SpringBootAdminApplication.java

    @SpringBootApplication
    @Configuration
    @EnableAutoConfiguration // Use a discovery service instead of Spring Boot Admin Clinet. The rest is done by our AutoConfiguration.
    @EnableDiscoveryClient  // Enables the service to register with a discovery service
    @EnableAdminServer
    public class SpringBootAdminApplication {
      public static void main(String[] args) {
         SpringApplication.run(SpringBootAdminApplication.class, args);
      }
    }
    

    pom.xml

    다음 Spring Boot 관리자 종속성을 추가합니다.

    <!-- Spring Boot Admin -->
    <dependency>
      <groupId>de.codecentric</groupId>
      <artifactId>spring-boot-admin-starter-server</artifactId>
      <version>${spring-boot-admin.version}</version>
    </dependency>
    <dependency>
      <groupId>de.codecentric</groupId>
      <artifactId>spring-boot-admin-server-ui</artifactId>
      <version>${spring-boot-admin.version}</version>
    </dependency>
    
  3. 앱을 배포합니다.

    Spring Boot 관리 서비스를 빌드한 후 Azure CLI를 사용하여 배포합니다.

    cd <path-to-maven-or-gradle-source-root>
    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-service-instance-name> \
        --name spring-boot-admin \
        --source-path
    
  4. 퍼블릭 엔드포인트를 할당합니다.

    Azure Spring Apps를 통해 퍼블릭 엔드포인트를 할당하여 Spring Boot Admin 서버에 액세스할 수 있도록 합니다.

Spring Boot Admin은 기본적으로 권한 부여를 포함하지 않습니다. Spring Boot Admin은 일반적인 Spring Boot 애플리케이션이므로 스프링 보안으로 보호할 수 있습니다. Spring Boot 관리 서버 보안도 참조하세요.

Spring Boot Admin에 앱 등록

검색 서비스 사용

Spring Boot 관리자는 검색 서비스를 사용하여 애플리케이션을 검색할 수 있습니다. 앱이 Tanzu 서비스 레지스트리에 등록되면 Spring Boot Admin 서버가 자동으로 인식합니다.

Tanzu 서비스 레지스트리에 앱을 등록하는 방법에 대한 자세한 내용은 Tanzu 서비스 레지스트리 사용을 참조 하세요.

Spring Boot Admin은 사용자 지정 액추에이터 설정이 있는 Spring Boot 애플리케이션에 원활하게 연결하고 모니터링합니다.

Spring Boot Admin Client 사용

앱을 Spring Boot Admin Clients로 등록할 수도 있습니다. 이 방법은 검색 서비스에 종속되지 않지만 Spring Boot Admin Client 종속성을 포함하도록 앱을 수정해야 합니다. 자세한 내용은 Spring Boot 관리자 설명서의 시작을 참조하세요.

Spring Boot Admin을 사용하여 앱 모니터링

Spring Boot Admin을 사용하면 Spring Boot 애플리케이션에 대한 라이브 메트릭을 볼 수 있습니다. Spring Boot Admin은 Spring Boot Actuators의 개념을 기반으로 합니다.

Spring Boot Admin에서 앱을 배포하고 모니터링하려면 다음 단계를 수행합니다.

  1. 액추에이터 종속성을 추가합니다. 애플리케이션의 pom.xml 파일에 다음 종속성을 추가합니다.

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
     </dependency>
    
  2. 액추에이터 엔드포인트를 사용하도록 설정합니다. 애플리케이션의 application.properties 파일에서 다음 구성을 추가하여 필요한 엔드포인트를 표시합니다.

    management.endpoints.web.exposure.include=info,health
    
  3. 애플리케이션을 빌드합니다. 다음 명령을 사용하여 로컬로 앱을 빌드합니다.

    mvn clean package -DskipTests
    
  4. 애플리케이션을 배포합니다. 다음 명령을 사용하여 Azure Spring Apps에 앱을 배포합니다.

    az spring app create \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-service-instance-name> \
        --name <app-name>
    cd <path-to-maven-or-gradle-source-root>
    az spring app deploy \
        --resource-group <resource-group-name> \
        --service <Azure-Spring-Apps-service-instance-name> \
        --name <app-name> \
        --source-path
    

애플리케이션 라이브 보기 사용 안 함

Spring Boot Admin에 모든 Spring Boot 애플리케이션이 등록되면 다음 단계에 따라 Azure Spring Apps에서 애플리케이션 라이브 보기 기능을 사용하지 않도록 설정할 수 있습니다.

  1. Azure Spring Apps 서비스 인스턴스로 이동한 다음 개발자 도구를 선택합니다.
  2. 도구 관리를 선택합니다.
  3. 앱 라이브 보기 사용 확인란의 선택을 취소한 다음 저장을 선택합니다.
  4. 그런 다음 개발자 도구에서 애플리케이션 라이브 뷰의 상태를 볼 수 있습니다.

알려진 제한 사항

  • Service Registry에 앱을 등록하는 경우 EUREKA-SERVER 애플리케이션이 오프라인 상태의 Spring Boot Admin 대시보드에 표시되며 숨기거나 제거할 수 없습니다.
  • 기본적으로 SSO(Single Sign-On)는 지원되지 않습니다.