English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
SpringBoot ActuatorSim, é um subprojeto do framework Spring Boot. Ele inclui muitas outras funcionalidades que nos ajudam a monitorar e gerenciar aplicativos Spring Boot. Ele contém os pontos finais Actuator (o local onde os recursos estão localizados). Podemos usar HTTP e JMX O ponto final para gerenciar e monitorar aplicativos Spring Boot. Se você deseja obter funcionalidades prontas para produção no aplicativo, deve usar S pring Boot Actuator。
Spring Boot Actuator有 三个主要功能:
Endpoints Metrics Audit
Endpoint: Actuator端点使我们可以监视应用程序并与之交互。 Spring Boot提供了许多内置端点。我们也可以创建自己的端点。我们可以分别启用和禁用每个端点。大多数应用程序选择 HTTP ,该终结点的ID和 /actuator前缀映射到URL。
对于例如, /saúde 端点提供了应用程序的基本健康信息。 Actuator默认情况下将其映射到 /actuator/saúde .
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 | 用法 | Padrão |
Actuator | 它为其他端点提供了一个基于超媒体的发现页面。它要求Spring HATEOAS位于类路径上。 | true |
auditevents | Ele expõe informações de eventos de auditoria do aplicativo atual. | true |
autoconfig | Ele exibe o relatório de configuração automática, que mostra todos os candidatos de configuração automática e os motivos pelos quais eles 'foram' ou 'não foram' aplicados. | true |
beans | Ele é usado para exibir a lista completa de todos os beans Spring no aplicativo. | true |
configprops | Ele é usado para exibir uma lista organizada de todas as @ConfigurationProperties. | true |
despejo | Ele é usado para executar despejos de thread. | true |
env | Ele é usado para expor propriedades do ConfigurableEnvironment do Spring. | true |
flyway | Ele é usado para exibir todas as migrações de banco de dados Flyway aplicadas. | true |
saúde | Ele é usado para exibir informações de saúde do aplicativo. | Erro |
info | Ele é usado para exibir informações arbitrárias do aplicativo. | Erro |
registradores | Ele é usado para exibir e modificar a configuração do registrador no aplicativo. | true |
liquibase | Ele é usado para exibir todas as migrações de banco de dados Liquibase aplicadas. | true |
métricas | Ele é usado para exibir informações de métricas do aplicativo atual. | true |
mappings | Ele é usado para exibir uma lista organizada de todas as rotas @RequestMapping. | true |
encerramento | Ele é usado para permitir o encerramento normal do aplicativo. | true |
rastreamento | Ele é usado para exibir informações de rastreamento. | true |
Para o Spring MVC, são usados os seguintes pontos finais adicionais.
Id | Descrição | Padrão |
docs | Ele é usado para exibir documentos, incluindo solicitações e respostas de exemplo para os pontos finais do Actuator. | Erro |
despejo de pilha | Ele é usado para retornar arquivos de despejo de pilha comprimidos com GZip. | true |
jolokia | Ele é usado para expor beans JMX via HTTP (quando o Jolokia está na classe path). | true |
arquivo de log | Ele é usado para retornar o conteúdo do arquivo de log. | true |
prometheus | Ele é usado para expor métricas em um formato que o servidor Prometheus pode capturar. Ele depende do micrômetro-Prometheus. | true |
Spring Boot fornece segurança para todos os pontos finais do Actuator. Ele usa baseada em formulárioAutenticação, que oferece ID do usuário Como usuário, e fornecer um ID de usuário gerado aleatoriamente senha. Também podemos acessar os pontos finais restritos do Actuator personalizando a segurança de autenticação básica dos pontos finais. Precisamos usar management.security.roles A propriedade cobre essa configuração. Por exemplo:
management.security.enabled=true management.security.roles=ADMIN security.basic.enabled=true security.user.name=admin security.user.password=admin
Vamos entender o conceito de Actuator por meio de um exemplo.
Passos1: abrir o Initializr do Spring https://start.spring.io/e crie Maven projeto.
Passos2: fornecer gruponome. Fornecemos com.w3codebox。
Passos3: fornecer artefato ID. Fornecemos spring-boot-actuator-example。
Passos4: 。Adicione as seguintes dependências: Spring Web, Spring Boot Starter Actuatore Navegador HAL do Spring Data Rest.
Passos5: clique gerarbotão. Quando clicamos no botão "Gerar", ele empacota todas as especificações relacionadas ao projeto Jar no arquivo e faça o download para nosso sistema local.
Passos6: Extrair o arquivo Jar e colá-lo na área de trabalho do STS.
Passos7: Importar a pasta do projeto.
arquivo-> Importar-> Projeto Maven existente-> Navegue-> Selecione a pasta spring-boot-actuator-example- > Concluído
A importação leva um pouco de tempo. Após a importação do projeto, podemos ver o diretório do projeto na seção "Gerenciador de pacotes".
Passos8: : Criar uma classe Controller. Já criamos a classe controladora chamada 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!"; } }
Passos9: 打开 application.properties 文件,并通过添加以下语句来禁用Actuator的安全性功能。
application.properties
management.security.enabled=false
Passos10: Executar SpringBootActuatorExampleApplication.java Arquivo.
Passos11: Abra o navegador e chame a URL http: //localhost: 8080/actuator. Ele retorna a seguinte página:
{"_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/saúde/{*path","templated":true},"info":{"href":"http://localhost:8080/actuator/"info","templated":false}}}
Padrãomente, o aplicativo está na porta8080 após o Actuator ser iniciado, podemos ver a lista de todos os pontos expostos via HTTP.
Vamos chamar a URL http: //localhost: 8080/para chamar saúde Ponto. Actuator/Estado de Saúde. Isso indica o estado UP 。 Isso indica que o aplicativo está funcionando corretamente e está funcionando corretamente.
Da mesma forma, podemos chamar outros pontos para nos ajudar a monitorar e gerenciar o aplicativo Spring Boot.