Введение в администрирование
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 |
| 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.* | теги как пары ключ-значение для связи с этим экземпляром |
образец кода
Ссылка на документацию
codecentric.GitHub.IO/spring-boot…
Если не указано иное, авторские права на эту статью принадлежатутренний туманВсе, пожалуйста, указывайте источник при перепечатке.
Оригинальное название: Spring Boot 2.X (17): использование и настройка Spring Boot Admin для мониторинга приложений.
Оригинальный адрес: https://www.zwqh.top/article/info/26
Если статья была вам полезна, отсканируйте код и подпишитесь на мой официальный аккаунт, статья постоянно обновляется...