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

SpringBoot Starter Actuator

SpringBoot ActuatorSì, è un sotto-progetto del framework Spring Boot. Include molte altre funzionalità che ci aiutano a monitorare e gestire le applicazioni Spring Boot. Include i punti di interruzione Actuator (il luogo in cui si trovano le risorse). Possiamo utilizzare HTTP e JMX Se si desidera ottenere funzionalità pronte per la produzione nell'applicazione, allora si dovrebbe utilizzare S pring Boot Actuator.

Funzionalità di Spring Boot Actuator

Spring Boot Actuator ha treFunzionalità principali:

Punti di interruzione Metrics Audit

Punto di interruzione: Il punto di interruzione Actuator ci permette di monitorare e interagire con l'applicazione. Spring Boot fornisce molti punti di interruzione integrati. Possiamo anche creare i nostri punti di interruzione. Possiamo abilitare e disabilitare ciascun punto di interruzione separatamente. La maggior parte delle applicazioni chooses HTTP ,该终结点的ID和 /actuator前缀映射到URL。

对于例如, /health 端点提供了应用程序的基本健康信息。 Actuator默认情况下将其映射到 /actuator/health .

Metrics: Spring Boot Actuator通过与 千分尺集成来提供尺寸指标。千分尺已集成到Spring Boot中。它是工具库,用于支持从Spring交付应用程序指标。它为具有维度数据模型的 计时器,仪表,计数器,分配汇总e 长任务计时器提供了与供应商无关的界面。

Audit: Spring Boot提供了一个灵活的审核框架,该框架将事件发布到 AuditEventRepository。如果正在执行spring-security,它将自动发布身份验证事件。

启用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>

Spring Boot Actuator端点

Actuator端点允许我们监视Spring Boot应用程序并与之交互。 Spring Boot包含许多内置端点,我们还可以在Spring Boot应用程序中添加自定义端点。

下表描述了广泛使用的端点。

Id 用法Predefinito
Actuator它为其他端点提供了一个基于超媒体的发现页面。它要求Spring HATEOAS位于类路径上。true
auditevents它公开了当前应用程序的审核事件信息。true
autoconfig它用于显示自动配置报告,该报告显示所有自动配置候选者以及应用它们"被"或"未被"的原因。true
beans它用于显示应用程序中所有Spring Bean的完整列表。true
configprops它用于显示所有@ConfigurationProperties的整理列表。true
dumpUsato per eseguire un dump della memoria della thread.true
envUsato per rendere pubblici i proprietà dal ConfigurableEnvironment di Spring.true
flywayUsato per mostrare tutte le migrazioni di database Flyway applicate.true
healthUsato per mostrare informazioni di stato dell'applicazione.Errori
infoUsato per mostrare informazioni arbitrarie dell'applicazione.Errori
loggersUsato per mostrare e modificare la configurazione del registratore dell'applicazione.true
liquibaseUsato per mostrare tutte le migrazioni di database Liquibase applicate.true
metricsUsato per mostrare le informazioni di metrica dell'applicazione corrente.true
mappingsUsato per mostrare una lista ordinata di tutte le tracce @RequestMapping.true
shutdownUsato per permettere la chiusura normale dell'applicazione.true
traceUsato per mostrare informazioni di trace.true

Per Spring MVC, vengono utilizzati i seguenti endpoint aggiuntivi.

IdDescrizionePredefinito
docsUsato per mostrare documenti, inclusi esempi di richieste e risposte agli endpoint di Actuator.Errori
heapdumpUsato per restituire file di dump heap compressi in GZip.true
jolokiaUsato per rendere pubblici i bean JMX tramite HTTP (quando Jolokia è nel classpath).true
logfileUsato per restituire il contenuto del file di log.true
prometheusUsato per rendere pubblici i metrici in un formato che Prometheus può catturare. richiede la dipendenza di Micrometer-Prometheus.true

Proprietà di Spring Boot Actuator

Spring Boot fornisce sicurezza per tutti gli endpoint di Actuator. Usa Autenticazione basata su moduloAutenticazione, che fornisce User ID Come utente, e fornire un ID utente generato casualmente passwordPossiamo anche accedere agli endpoint limitati di Actuator personalizzando la sicurezza di autenticazione di base per l'endpoint. Dobbiamo passare management.security.roles Sovrascrive le proprietà di questa configurazione. Ad esempio:

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

Esempio di Spring Boot Actuator

Facciamo un esempio per comprendere il concetto di Actuator.

Passo 1: Apri il Spring Initializr https://start.spring.io/ e crea Maven Progetto.

Passaggio 2: Fornito GruppoNome. Abbiamo fornito com.w3codebox.

Passaggio 3: Fornito Artifatto ID. Abbiamo fornito spring-boot-actuator-example.

Passaggio 4: . Aggiungi le seguenti dipendenze: Spring Web, Spring Boot Starter Actuatore Browser HAL di Spring Data Rest.

Passaggio 5: Clicca GeneraQuando clicchiamo sul pulsante "Genera", tutte le specifiche correlate al progetto vengono impacchettate in Pulsante. File, e scaricalo nel nostro sistema locale.

Passaggio 6: Estrai il file Jar e incollalo nella nostra area di lavoro STS.

Passaggio 7: Importa la cartella del progetto.

File->Importa->Progetto Maven esistente->Esplora->Seleziona la cartella spring-boot-actuator-example->Completa

L'importazione richiede un po' di tempo. Dopo aver importato il progetto, possiamo vedere la directory del progetto nella sezione "Gestore delle risorse del pacchetto".

Passaggio 8: : crea una classe Controller. Abbiamo creato la classe controller chiamata 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!";
}
}

Passaggio 9: Apri application.properties File, e aggiungi la seguente frase per disabilitare la funzionalità di sicurezza di Actuator.

application.properties

management.security.enabled=false

Passaggio 10: Esegui SpringBootActuatorExampleApplication.java File.

Passaggio 11: Apri il browser e chiama l'URL http: //localhost: 8080/actuator. Restituisce la seguente pagina:

{"_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}}}

Di default, l'applicazione viene eseguita sulla porta 8080. Dopo aver avviato l'Actuator, possiamo vedere l'elenco di tutti gli endpoint pubblicati tramite HTTP.

Chiamiamo l'URL http://localhost:8080/ per chiamare health Endpoint. Actuator/Status. Questo indica lo stato UP Questo significa che l'applicazione sta funzionando correttamente e sta funzionando correttamente.

Allo stesso modo, possiamo chiamare altri endpoint per aiutarci a monitorare e gestire le applicazioni Spring Boot.