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

SpringBoot Starter Actuator

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功能

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,它将自动发布身份验证事件。

启用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 用法Padrão
Actuator它为其他端点提供了一个基于超媒体的发现页面。它要求Spring HATEOAS位于类路径上。true
auditeventsEle expõe informações de eventos de auditoria do aplicativo atual.true
autoconfigEle 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
beansEle é usado para exibir a lista completa de todos os beans Spring no aplicativo.true
configpropsEle é usado para exibir uma lista organizada de todas as @ConfigurationProperties.true
despejoEle é usado para executar despejos de thread.true
envEle é usado para expor propriedades do ConfigurableEnvironment do Spring.true
flywayEle é usado para exibir todas as migrações de banco de dados Flyway aplicadas.true
saúdeEle é usado para exibir informações de saúde do aplicativo.Erro
infoEle é usado para exibir informações arbitrárias do aplicativo.Erro
registradoresEle é usado para exibir e modificar a configuração do registrador no aplicativo.true
liquibaseEle é usado para exibir todas as migrações de banco de dados Liquibase aplicadas.true
métricasEle é usado para exibir informações de métricas do aplicativo atual.true
mappingsEle é usado para exibir uma lista organizada de todas as rotas @RequestMapping.true
encerramentoEle é usado para permitir o encerramento normal do aplicativo.true
rastreamentoEle é usado para exibir informações de rastreamento.true

Para o Spring MVC, são usados os seguintes pontos finais adicionais.

IdDescriçãoPadrão
docsEle é usado para exibir documentos, incluindo solicitações e respostas de exemplo para os pontos finais do Actuator.Erro
despejo de pilhaEle é usado para retornar arquivos de despejo de pilha comprimidos com GZip.true
jolokiaEle é usado para expor beans JMX via HTTP (quando o Jolokia está na classe path).true
arquivo de logEle é usado para retornar o conteúdo do arquivo de log.true
prometheusEle é usado para expor métricas em um formato que o servidor Prometheus pode capturar. Ele depende do micrômetro-Prometheus.true

propriedades do Spring Boot Actuator

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

Exemplo de Actuator do Spring Boot

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.