English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

SpringBoot Starter Actuator

SpringBoot ActuatorДа, это подпроект в рамке Spring Boot. Он включает множество других функций, которые помогают нам отслеживать и управлять приложениями Spring Boot. Он содержит Actuator точки доступа (место расположения ресурсов). Мы можем использовать HTTP и JMX Если вы хотите получить функциональность, готовую к производству, в приложении, то вам следует использовать S pring Boot Actuator.

Функции Spring Boot Actuator

Spring Boot Actuator имеет триОсновные функции:

Точки доступа Metrics Аудит

Точка доступа: Актuator endpoint позволяет нам отслеживать приложение и взаимодействовать с ним. Spring Boot предоставляет множество встроенных точек доступа. Мы также можем создать свои собственные точки доступа. Мы можем включать и отключать каждую точку доступа по отдельности. Большинство приложений выбирают HTTP и ID этого endpointа и /actuator префикс

Для примера, /health endpoint предоставляет базовую информацию о здоровье приложения. Actuator по умолчанию его маппинг к /actuator/health .

Metrics: Spring Boot Actuator через Миллиметровая尺каИнтеграция для предоставления метрик. Миллиметровая尺ка интегрирована в Spring Boot. Это библиотека инструментов, поддерживающая передачу метрик из Spring в приложение. Она предназначена для приложений с моделью данных с измеримыми параметрами. Таймеры, индикаторы, счетчики, распределенные обобщенияи Длинная задача таймераОбеспечивает интерфейс, независимый от поставщика.

Audit: Spring Boot предоставляет гибкую рамку для аудита, которая публикует события в AuditEventRepository.Если выполняется spring-security, то автоматически публикуются события аутентификации.

Включение Spring Boot Actuator

Мы можем включить Spring Boot Actuator, добавив зависимость в файл pom.xml. spring-boot-starter-actuator для включения Actuator.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
    <version>2.2.2.RELEASE</version>
</dependency>

Endpoints Spring Boot Actuator

Endpoints Actuator позволяют нам мониторить и взаимодействовать с приложением Spring Boot. Spring Boot содержит множество встроенных endpoints, и мы также можем добавить пользовательские endpoints в приложение Spring Boot.

В таблице ниже описаны часто используемые endpoints.

Id Использованиепо умолчанию
ActuatorЭто предоставляет другие endpoints на основе гипермедийногоСтраница обнаружения. Это требует наличия Spring HATEOAS в классовом пути.true
auditeventsЭто公开了当前应用程序的审核事件信息.true
autoconfigЭто используется для отображения отчета о автоматической конфигурации, который показывает всех кандидатов на автоматическую конфигурацию и причины, по которым они "используются" или "не используются".true
beansЭто используется для отображения полного списка всех Spring Bean в приложении.true
configpropsЭто используется для отображения всех классов с аннотацией @ConfigurationProperties в виде упорядоченного списка.true
dumpон используется для выполнения дампинга потоков.true
envон используется для публичного представления свойств из ConfigurableEnvironment Spring.true
flywayон используется для отображения всех примененных Flyway баз данных миграций.true
healthон используется для отображения информации о состоянии приложения.ошибка
infoон используется для отображения любой информации приложения.ошибка
loggersон используется для отображения и изменения конфигурации логгеров в приложении.true
liquibaseон используется для отображения всех примененных Liquibase баз данных миграций.true
metricsон используется для отображения метрической информации текущего приложения.true
mappingsон используется для отображения упорядоченного списка всех@RequestMapping путей.true
shutdownон используется для разрешения нормального закрытия приложения.true
traceон используется для отображения информации о трассировке.true

Для Spring MVC используются следующие дополнительные точки.

Idописаниепо умолчанию
docsон используется для отображения документов, включая примеры запросов и ответов на точки Actuator.ошибка
heapdumpон используется для возврата сжатого файла hprof堆 дамп.true
jolokiaон используется для公开 JMX bean через HTTP (когда Jolokia в классовом пути).true
logfileон используется для возврата содержимого логовых файлов.true
prometheusон используется для公开 метрики в формате, который может захватывать Prometheus сервер. Он требует зависимости от micrometer-prometheus.true

атрибуты Spring Boot Actuator

Spring Boot предоставляет безопасность для всех точек Actuator. Он использует на основе формыаутентификацию, которая предоставляет ID пользователя в качестве пользователя и предоставить сгенерированный случайным образом парольМы также можем получить доступ к ограниченным точкам Actuator, настроив базовую аутентификацию для端по. Нам нужно будет management.security.roles Переписать свойства этой конфигурации. Например:

management.security.enabled=true
management.security.roles=ADMIN
security.basic.enabled=true
security.user.name=admin
security.user.passowrd=admin

Пример Actuator Spring Boot

Давайте разберемся с концепцией Actuator на примере.

Шаг 1: Откройте Spring Initializr https://start.spring.io/ и создайте Maven Проект.

Шаг 2: Предоставлен ГруппаНазвание. Мы предоставили com.w3codebox.

Шаг 3: Предоставлен Artefact ID. Мы предоставили spring-boot-actuator-example.

Шаг 4: . Добавьте следующие зависимости: Spring Web, Spring Boot Starter Actuatorи Spring Data Rest HAL браузер.

Шаг 5: Нажмите СозданиеКогда мы нажимаем кнопку "Создать", все спецификации, связанные с проектом, 包装аются в Кнопка. Файл, и загрузите его в нашу локальную систему.

Шаг 6: Извлеките Jar файл и скопируйте его в рабочую область STS.

Шаг 7: Импортируйте папку проекта.

Файл-> Импорт-> Существующий Maven проект-> Просмотр-> Выберите папку spring-boot-actuator-example-> Готово

Импорт займет некоторое время. После импорта проекта мы можем увидеть проектную директорию в разделе "Пакетный ресурс".

Шаг 8: : Создайте класс контроллера. Мы создали класс контроллера с именем DemoRestController.

DemoRestController.java

package com.w3codebox;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class DemoRestController 
{
@GetMapping("/hello")
public String hello() 
{
return "Hello User!";
}
}

Шаг 9: Откройте application.properties Файл, и добавьте следующее предложение, чтобы отключить безопасность Actuator.

application.properties

management.security.enabled=false

Шаг 10: Запуск SpringBootActuatorExampleApplication.java Файл.

Шаг 11: Откройте браузер и вызовите URL http: //localhost: 8080/actuator. Он возвращает следующую страницу:

{"_links":{"self":{"href":"http://localhost:8080/actuator","templated":false},"health":{"href":"http://localhost:8080/actuator/health","templated":false},"health-path":{"href":"http://localhost:8080/actuator/health/{*path}","templated":true},"info":{"href":"http://localhost:8080/actuator/info","templated":false}}}

По умолчанию приложение запущено на порту 8080. После запуска Actuator мы можем увидеть список всех открытых через HTTP endpoints.

Давайте вызовем URL http: //localhost: 8080/ чтобы вызвать health Эндпоинт. Actuator/Здоровье. Это означает состояние UP Это означает, что приложение работает нормально и работает нормально.

Таким образом, мы можем вызывать другие endpoints для мониторинга и управления приложениями Spring Boot.