English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
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.
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,它将自动发布身份验证事件。
我们可以通过在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>
Actuator端点允许我们监视Spring Boot应用程序并与之交互。 Spring Boot包含许多内置端点,我们还可以在Spring Boot应用程序中添加自定义端点。
下表描述了广泛使用的端点。
Id | 用法 | Predefinito |
Actuator | 它为其他端点提供了一个基于超媒体的发现页面。它要求Spring HATEOAS位于类路径上。 | true |
auditevents | 它公开了当前应用程序的审核事件信息。 | true |
autoconfig | 它用于显示自动配置报告,该报告显示所有自动配置候选者以及应用它们"被"或"未被"的原因。 | true |
beans | 它用于显示应用程序中所有Spring Bean的完整列表。 | true |
configprops | 它用于显示所有@ConfigurationProperties的整理列表。 | true |
dump | Usato per eseguire un dump della memoria della thread. | true |
env | Usato per rendere pubblici i proprietà dal ConfigurableEnvironment di Spring. | true |
flyway | Usato per mostrare tutte le migrazioni di database Flyway applicate. | true |
health | Usato per mostrare informazioni di stato dell'applicazione. | Errori |
info | Usato per mostrare informazioni arbitrarie dell'applicazione. | Errori |
loggers | Usato per mostrare e modificare la configurazione del registratore dell'applicazione. | true |
liquibase | Usato per mostrare tutte le migrazioni di database Liquibase applicate. | true |
metrics | Usato per mostrare le informazioni di metrica dell'applicazione corrente. | true |
mappings | Usato per mostrare una lista ordinata di tutte le tracce @RequestMapping. | true |
shutdown | Usato per permettere la chiusura normale dell'applicazione. | true |
trace | Usato per mostrare informazioni di trace. | true |
Per Spring MVC, vengono utilizzati i seguenti endpoint aggiuntivi.
Id | Descrizione | Predefinito |
docs | Usato per mostrare documenti, inclusi esempi di richieste e risposte agli endpoint di Actuator. | Errori |
heapdump | Usato per restituire file di dump heap compressi in GZip. | true |
jolokia | Usato per rendere pubblici i bean JMX tramite HTTP (quando Jolokia è nel classpath). | true |
logfile | Usato per restituire il contenuto del file di log. | true |
prometheus | Usato per rendere pubblici i metrici in un formato che Prometheus può catturare. richiede la dipendenza di Micrometer-Prometheus. | true |
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
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.