English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SpringBoot ActuatorSí, es un subproyecto del framework Spring Boot. Incluye muchas otras funciones que nos ayudan a supervisar y gestionar aplicaciones de Spring Boot. Incluye puntos finales de Actuator (ubicación de los recursos). Podemos usar HTTP 和 JMX Gestión y supervisión de aplicaciones de Spring Boot desde un punto final. Si desea obtener funciones listas para producción en su aplicación, debe usar S pring Boot Actuator。
Spring Boot Actuator有 三个主要功能:
Endpoints Metrics Audit
Endpoint: Actuator端点使我们可以监视应用程序并与之交互。 Spring Boot提供了许多内置端点。我们也可以创建自己的端点。我们可以分别启用和禁用每个端点。大多数应用程序选择 HTTP ,该终结点的ID和 /actuator前缀映射到URL。
对于例如, /health 端点提供了应用程序的基本健康信息。 Actuator默认情况下将其映射到 /actuator/health 。
Metrics: Spring Boot Actuator通过与 千分尺集成来提供尺寸指标。千分尺已集成到Spring Boot中。它是工具库,用于支持从Spring交付应用程序指标。它为具有维度数据模型的 计时器,仪表,计数器,分配汇总和 长任务计时器提供了与供应商无关的界面。
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 | 用法 | por defecto |
Actuator | 它为其他端点提供了一个基于超媒体的发现页面。它要求Spring HATEOAS位于类路径上。 | true |
auditevents | Publica información de eventos de auditoría de la aplicación actual. | true |
autoconfig | Se utiliza para mostrar un informe de configuración automática, que muestra todos los candidatos de configuración automática y las razones por las que se "aplican" o no se "aplican". | true |
beans | Se utiliza para mostrar la lista completa de todos los Spring Bean en la aplicación. | true |
configprops | Se utiliza para mostrar una lista organizada de todas las @ConfigurationProperties. | true |
dump | Se utiliza para ejecutar un volcado de hilos. | true |
env | Se utiliza para publicar propiedades desde el ConfigurableEnvironment de Spring. | true |
flyway | Se utiliza para mostrar todas las migraciones de base de datos Flyway aplicadas. | true |
health | Se utiliza para mostrar información de estado de la aplicación. | error |
info | Se utiliza para mostrar información arbitraria de la aplicación. | error |
loggers | Se utiliza para mostrar y modificar la configuración del registrador en la aplicación. | true |
liquibase | Se utiliza para mostrar todas las migraciones de base de datos Liquibase aplicadas. | true |
metrics | Se utiliza para mostrar información de métricas de la aplicación actual. | true |
mappings | Se utiliza para mostrar una lista organizada de todas las rutas @RequestMapping. | true |
shutdown | Se utiliza para permitir el cierre normal de la aplicación. | true |
trace | Se utiliza para mostrar información de seguimiento. | true |
Para Spring MVC, se utilizan los siguientes puntos finales adicionales.
Id | descripción | por defecto |
docs | Se utiliza para mostrar documentos, incluyendo solicitudes y respuestas de ejemplo de puntos finales de Actuator. | error |
heapdump | Se utiliza para devolver archivos de desmonte de pila comprimidos con GZip. | true |
jolokia | Se utiliza para publicar beans JMX a través de HTTP (cuando Jolokia está en la clasepath). | true |
logfile | Se utiliza para devolver el contenido del archivo de registro. | true |
prometheus | Se utiliza para publicar métricas en un formato que el servidor Prometheus pueda capturar. Requiere dependencia de micrómetro-Prometheus. | true |
Spring Boot proporciona seguridad para todos los puntos finales de Actuator. Usa basado en formularioautenticación, que proporciona ID de usuario como usuario, y proporcionar un contraseña. También podemos acceder a los puntos finales restringidos de Actuator personalizando la seguridad de autenticación básica de los puntos finales. Necesitamos pasar management.security.roles Atributo cubre esta configuración. Por ejemplo:
management.security.enabled=true management.security.roles=ADMIN security.basic.enabled=true security.user.name=admin security.user.passowrd=admin
让我们通过示例了解 Actuator的概念。
Paso1: 打开弹簧Initializr https://start.spring.io/并创建 Maven 项目。
Paso2: 提供 组名称。我们提供了 com.w3codebox。
Paso3: 提供 工件 ID。我们提供了 spring-boot-actuator-example。
Paso4: 。添加以下依赖项: Spring Web,Spring Boot Starter Actuator和 Spring Data Rest HAL浏览器。
Paso5: 单击 生成按钮。当我们单击"生成"按钮时,它将与项目相关的所有规范包装到 Jar 文件中,并将其下载到我们的本地系统中。
Paso6: 提取Jar文件并将其粘贴到STS工作区中。
Paso7: 导入项目文件夹。
文件->导入->现有Maven项目->浏览->选择文件夹spring-boot-actuator-example- >完成
导入需要一些时间。导入项目后,我们可以在"包资源管理器"部分中看到项目目录。
Paso8: : 创建一个Controller类。我们已经创建了名为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!"; } }
Paso9: 打开 application.properties 文件,并通过添加以下语句来禁用 Actuator的安全性功能。
application.properties
management.security.enabled=false
Paso10: Ejecutar SpringBootActuatorExampleApplication.java Archivo.
Paso11: Abra el navegador y llame a la URL http: //localhost: 8080/actuator. It returns the following page:
{"_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}}}
Por defecto, la aplicación se ejecuta en el puerto8080 después de que el Actuator se inicie, podemos ver la lista de todos los puntos de extremidad publicados a través de HTTP.
Vamos a llamar a la URL http: //localhost: 8080/para llamar health Puntos de extremidad. Actuator/Estado de salud. Esto indica el estado UP 。这表示该应用程序运行正常,并且运行正常。
Del mismo modo, podemos llamar a otros puntos para ayudarnos a supervisar y administrar aplicaciones de Spring Boot.