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


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

Примечание.

Планы Basic, Standardи Enterprise вступили в период вывода из обращения 17 марта 2025 года. Дополнительные сведения см. в объявлении о выходе на пенсию в Azure Spring Apps.

План стандартного потребления и выделенный план вошли в период вывода из эксплуатации 30 сентября 2024 года, с полным завершением работы к концу марта 2025 года. Дополнительные сведения см. в статье «Перенос стандартного потребления и выделенного плана Azure Spring Apps в приложения контейнеров 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 Admin.

    Вы можете ссылаться на следующий пример кода:

    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 Admin.

Мониторинг приложений с помощью администратора 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 , и его нельзя скрыть или удалить.
  • По умолчанию единый вход (SSO, Single Sign-On) не поддерживается.