Spring Boot 2.X (17): использование и настройка Spring Boot Admin для мониторинга приложений

Spring Boot Java

Введение в администрирование

Spring Boot Admin — это фоновый интерфейс для мониторинга и управления рабочим состоянием приложений Spring Boot. Последний пользовательский интерфейс переписан с использованием vue.js.

Spring Boot Admin предоставляет широкие возможности мониторинга и управления зарегистрированными приложениями. следующим образом:

  • Показать состояние здоровья
  • Отображение сведений о времени выполнения приложения, таких как: JVM и показатели памяти и т. д.
  • Счетчики и измерения
  • метрики источника данных
  • метрики кеша
  • Отслеживание и загрузка файлов журналов
  • Просмотр свойств системы и среды jvm
  • Управление лог-уровнем в один клик
  • Управление выполнением JMX-бинов
  • Посмотреть дамп потока
  • Просмотр информации об отслеживании
  • Интеграция Hystrix-Dashboard (интеграция удалена в версии 2.X)
  • Скачать динамическую память
  • Уведомления об изменении статуса (поддержка: электронная почта, Slack, Hipchat и т. д.)
  • Журнал событий изменения состояния (непостоянный)

Более подробную информацию можно найти в экзаменационном документе.

Использование и конфигурация администратора

Сервер администрирования Spring Boot

зависимости проекта

    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
	<!-- admin-server -->
		<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-starter-server</artifactId>
			<version>2.1.6</version>
		</dependency>

Настроить для запуска сервера администрирования

@SpringBootApplication
@EnableAutoConfiguration
@EnableAdminServer
public class SpringBootAdminApplication {

	public static void main(String[] args) {
		SpringApplication.run(SpringBootAdminApplication.class, args);
	}

}

конфигурация application.properties

server.port=9000
spring.application.name=Spring Boot Admin Web

тестовое задание

Запустите проект и получите к нему доступ через браузерhttp://127.0.0.1:9000

Клиент администрирования Spring Boot

Вот пример проекта Spring Boot Actuator выше

зависимости проекта

<!-- admin-client -->
		<dependency>
			<groupId>de.codecentric</groupId>
			<artifactId>spring-boot-admin-starter-client</artifactId>
			<version>2.1.6</version>
		</dependency>

конфигурация application.properties

#设置 Admin Server 地址
server.port=8080
spring.application.name=Spring Boot Actuator Demo
spring.boot.admin.client.url=http://127.0.0.1:9000

тестовое задание

Запустите проект и получите к нему доступ через браузерhttp://127.0.0.1:9000, мы увидим, что приложения в интерфейсе управления Spring Boot Admin будут отображать соответствующее клиентское приложение, щелкните приложение, чтобы войти в подробный интерфейс мониторинга.

Свойства конфигурации администратора Spring Boot

Подробное объяснение свойств конфигурации Spring Boot Admin Server

Атрибуты описывать По умолчанию
spring.boot.admin.context-path Путь контекста имеет префикс пути, который должен обслуживать статические ресурсы и API-интерфейсы сервера администрирования. Относительно Dispatcher-Servlet /
spring.boot.admin.monitor.status-interval Интервал времени для обновления статуса на стороне клиента, в миллисекундах 10000
spring.boot.admin.monitor.status-lifetime Жизненный цикл состояния на стороне клиента, состояние клиента не будет обновляться в течение этого жизненного цикла, единица измерения — миллисекунды. 10000
spring.boot.admin.monitor.connect-timeout Запрос тайм-аут соединения, когда информация о состоянии клиента - это время, блок - миллисекунды 2000
spring.boot.admin.monitor.read-timeout Время ожидания чтения при запросе информации о состоянии на стороне клиента, в миллисекундах 10000
spring.boot.admin.monitor.default-retries Количество попыток по умолчанию для неудачных запросов. Запросы на изменение (PUT, POST, PATCH, DELETE) никогда не будут повторяться. 0
spring.boot.admin.monitor.retries.* Пара "ключ-значение" с количеством повторных попыток для endpointId. По умолчанию используется повторная попытка по умолчанию. Запросы на изменение (PUT, POST, PATCH, DELETE) никогда не будут повторяться.
spring.boot.admin.metadata-keys-to-sanitize Метаданные, которые необходимо отфильтровать (они отфильтровываются в выходных данных json при сопоставлении с регулярным выражением) ".password", ".*secret", ".*key", ".token", ".credentials.", ".*vcap_services"
spring.boot.admin.probed-endpoints Информация о конечной точке клиента, которую необходимо получить "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.public-url Базовый URL-адрес, используемый для создания базового href в пользовательском интерфейсе. Если вы работаете за обратным прокси-сервером (с использованием перезаписи пути), его можно использовать для создания правильных ссылок на самих себя. Если хост/порт не указан, он будет выведен из запроса.
spring.boot.admin.ui.brand Бренд отображается на панели навигации <img src="assets/img/icon-spring-boot-admin.svg"><span>Spring Boot Admin</span>
spring.boot.admin.ui.title Заголовок страницы "Spring Boot Admin"
spring.boot.admin.ui.favicon Значок, используемый по умолчанию, значок, используемый для уведомлений на рабочем столе. "assets/img/favicon.png"
spring.boot.admin.ui.favicon-danger Используется в качестве значка, когда одна или несколько служб не работают, и используется для уведомлений на рабочем столе. "assets/img/favicon-danger.png"

Подробное объяснение свойств конфигурации Spring Boot Admin Client

Атрибуты описывать По умолчанию
spring.boot.admin.client.enabled Включить клиент администрирования Spring Boot true
spring.boot.admin.client.url URL-адрес сервера для регистрации. Если вы хотите зарегистрироваться на нескольких портах сервера одновременно, разделите URL-адреса каждой стороны сервера запятыми.
spring.boot.admin.client.api-path Http-путь зарегистрированной конечной точки на сервере управления "instances"
spring.boot.admin.client.username Если на стороне сервера требуется аутентификация, это свойство используется для настройки имени пользователя.
spring.boot.admin.client.password Если на стороне сервера требуется аутентификация, это свойство используется для настройки пароля.
spring.boot.admin.client.period Повторите интервал времени регистрации (в миллисекундах) 10000
spring.boot.admin.client.connect-timeout Время ожидания регистрации соединения (в миллисекундах) 5000
spring.boot.admin.client.read-timeout Время ожидания регистрации чтения (в миллисекундах) 5000
spring.boot.admin.client.auto-registration Если установлено значение true, повторяющаяся задача по регистрации приложения автоматически планируется, когда приложение будет готово. true
spring.boot.admin.client.auto-deregistration Переключите, чтобы включить автоматическую расшифровку на сервере администрирования Spring Boot, когда контекст закрыт. Если значение не установлено, и функция активна при обнаружении работающей CloudPlatform null
spring.boot.admin.client.register-once Если установлено значение true, клиент будет регистрироваться только на одном сервере администрирования (определенном spring.boot.admin.instance.url); в случае сбоя этого сервера администрирования он автоматически зарегистрируется на следующем сервере администрирования. Если false, будет регистрироваться на всех серверах управления true
spring.boot.admin.client.instance.health-url URL-адрес здоровья для регистрации. Можно переопределить, если доступный URL отличается (например, Docker). Должен быть уникальным в реестре По умолчанию значение этого свойства связано с management-url и endpoints.health.id. Например, значение в проекте: healthUrl=http://127.0.0.1:8080/actuator/health, где http://127.0.0.1:8080/actuator — это URL-адрес управления, а здоровье — endpoints.health.id.
spring.boot.admin.client.instance.management-base-url Базовый URL-адрес, используемый для расчета URL-адреса администратора для регистрации. Путь выводится во время выполнения и добавляется к базовому URL-адресу. Значение этого свойства по умолчанию связано с management.port, service-url и server.servlet-path, например, в проекте значение http://127.0.0.1:8080, где порт 8080 — настроенный порт для получения информации об приводе. 127.0.0.1 — заданное значение service-url.Если service-url не задан, это настроенное значение server.servlet-path (путь запуска проекта)
spring.boot.admin.client.instance.management-url URL-адрес управления для регистрации. Может быть переопределен, если доступный URL отличается (например, Docker). По умолчанию это значение атрибута связано с двумя значениями атрибута management-base-url и management.context-path, например managementUrl=http://127.0.0.1:8080/actuator, где http://127.0 .0.1:8080 — это базовый URL-адрес управления, /actuator — это management.context-path.
spring.boot.admin.client.instance.service-base-url Базовый URL-адрес, используемый для расчета URL-адреса службы для регистрации. Путь выводится во время выполнения и добавляется к базовому URL-адресу. Значение этого свойства по умолчанию связано с именем хоста, server.port, например http://127.0.0.1:8080, где порт 8080 — это сконфигурированный server.port. 127.0.0.1 — это имя хоста сервера, на котором находится клиент.
spring.boot.admin.client.instance.service-url URL службы для регистрации. Может быть переопределен, если доступный URL отличается (например, Docker). Значение по умолчанию назначается на основе service-base-url и server.context-path.
spring.boot.admin.client.instance.name имя для регистрации Значением по умолчанию является значение настроенного spring.application.name.Если это свойство не настроено, значением по умолчанию является spring-boot-application
spring.boot.admin.client.instance.prefer-ip Используйте IP-адреса вместо имен хостов в предполагаемых URL-адресах. Он будет использоваться, если установлен server.address/management.address. В противном случае InetAddress.getLocalHost() будет использовать IP-адрес, возвращенный из false
spring.boot.admin.client.instance.metadata.* пара ключ-значение метаданных для связи с этим экземпляром
spring.boot.admin.client.instance.metadata.tags.* теги как пары ключ-значение для связи с этим экземпляром

образец кода

github

Облако кода

Ссылка на документацию

codecentric.GitHub.IO/spring-boot…

Если не указано иное, авторские права на эту статью принадлежатутренний туманВсе, пожалуйста, указывайте источник при перепечатке.

Оригинальное название: Spring Boot 2.X (17): использование и настройка Spring Boot Admin для мониторинга приложений.

Оригинальный адрес: https://www.zwqh.top/article/info/26

Если статья была вам полезна, отсканируйте код и подпишитесь на мой официальный аккаунт, статья постоянно обновляется...