Поделиться через


Перенос динамического представления приложения в Spring Boot Admin

Примечание.

Планы "Базовый", "Стандартный" и "Корпоративный" будут устарели начиная с середины марта 2025 г. с 3-летнего периода выхода на пенсию. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.

Стандартный план потребления и выделенного плана будет устарел с 30 сентября 2024 г. с полным завершением работы после шести месяцев. Рекомендуется перейти в приложения контейнеров Azure. Дополнительные сведения см. в статье "Миграция потребления Azure Spring Apps Standard" и выделенного плана в приложения контейнеров Azure.

Эта статья относится к: ❎ Basic/Standard ✅ Enterprise

В этой статье описывается путь миграции из Application Live View в Spring Boot Admin.

Spring Boot Admin — это мощный инструмент для управления приложениями Spring Boot и мониторинга. Встроенный в Spring Boot Actuator, он предоставляет аналитические сведения о внутренних работах запущенных приложений с помощью доступных конечных точек HTTP. Администратор Spring Boot собирает данные и упрощает взаимодействие с приложениями с помощью этих конечных точек.

Настройка сервера администрирования Spring Boot

Azure Spring Apps ранее предоставил встроенную интеграцию с Tanzu Application Live View для управления приложениями. Однако из-за изменений в функциях продукта эта функция больше не доступна. Чтобы вы могли легко управлять приложениями, выполните следующие действия, выполнив настройку и использование Spring Boot Admin Server в качестве альтернативного решения:

  1. Создать приложение.

    Чтобы создать приложение Spring Boot Admin Server, выполните следующие действия.

    1. Перейдите к корпоративному экземпляру Azure Spring Apps в портал Azure.
    2. В области навигации откройте область "Приложения" , чтобы просмотреть приложения для экземпляра службы.
    3. Выберите "Создать приложение", чтобы открыть панель "Создать приложение".
    4. Назовите приложение spring-boot-admin.
    5. Оставьте типразвертывания как артефакты (Java/Polyglot) без изменений.
    6. Откройте раскрывающийся список "Привязка" и выберите "Реестр служб".
    7. Нажмите кнопку "Создать" , чтобы создать приложение.

    Снимок экрана: портал Azure, на котором показана страница

  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. Назначьте общедоступную конечную точку.

    Сделайте сервер администрирования Spring Boot доступным, назначив общедоступную конечную точку с помощью Azure Spring Apps.

Администратор Spring Boot по умолчанию не включает авторизацию. Администратор Spring Boot — это обычное приложение Spring Boot, поэтому его можно защитить с помощью spring security. См. также раздел "Защита сервера администрирования Spring Boot".

Регистрация приложений в Spring Boot Admin

Использование службы обнаружения

Администратор Spring Boot может обнаруживать приложения, опираясь на службу обнаружения. После регистрации приложений в реестре служб Tanzu сервер администрирования Spring Boot распознает их автоматически.

Дополнительные сведения о регистрации приложений в реестре служб Tanzu см. в разделе "Использование реестра служб Tanzu".

Администратор Spring Boot легко подключается к приложениям Spring Boot с пользовательскими параметрами актатора и отслеживает их.

Использование клиента администрирования Spring Boot

Вы также можете зарегистрировать приложения в качестве клиентов администрирования Spring Boot. Этот подход не зависит от службы обнаружения, но требует изменения приложений для включения зависимостей клиента администратора Spring Boot. Дополнительные сведения см. в документации по администратору Spring Boot.

Мониторинг приложений с помощью администратора Spring Boot

Администратор Spring Boot позволяет просматривать динамические метрики для приложений Spring Boot. Администратор Spring Boot основан на концепции актуаторов Spring Boot.

Выполните следующие действия, чтобы развернуть приложение и отслеживать его в 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 в Spring Boot Admin можно отключить функцию "Динамическое представление приложений" в Azure Spring Apps, выполнив следующие действия:

  1. Перейдите к экземпляру службы Azure Spring Apps и выберите "Средства разработчика".
  2. Выберите " Управление инструментами".
  3. Снимите флажок "Включить режим реального просмотра приложений" и нажмите кнопку "Сохранить".
  4. Затем вы можете просмотреть состояние динамического представления приложения в средствах разработчика.

Известные ограничения

  • Если вы регистрируете приложения в Реестре служб, приложение EUREKA-SERVER отображается на панели мониторинга администратора Spring Boot с состоянием OFFLINE , и его нельзя скрыть или удалить.
  • По умолчанию единый вход не поддерживается.