Atuador de inicialização por mola
Atuador de inicialização por mola é um subprojeto do Spring Boot Framework. Inclui vários recursos adicionais que nos ajudam a monitorar e gerenciar o aplicativo Spring Boot. Ele contém os pontos finais do atuador (o local onde os recursos residem). Podemos usar HTTP e JMX endpoints para gerenciar e monitorar o aplicativo Spring Boot. Se quisermos obter recursos prontos para produção em um aplicativo, devemos usar o S pring Atuador de inicialização.
Recursos do atuador Spring Boot
Há três principais características do Spring Boot Actuador:
Ponto final: Os endpoints do atuador nos permitem monitorar e interagir com o aplicativo. Spring Boot fornece vários endpoints integrados. Também podemos criar nosso próprio endpoint. Podemos ativar e desativar cada endpoint individualmente. A maior parte do aplicativo escolhe HTTP , onde o Id do endpoint, junto com o prefixo de /atuador do, é mapeado para um URL.
Por exemplo, o /saúde endpoint fornece as informações básicas de integridade de um aplicativo. O atuador, por padrão, mapeou-o para /atuador/saúde .
Métricas: Spring Boot Actuator fornece métricas dimensionais integrando-se com o micrômetro . O micrômetro está integrado ao Spring Boot. É a biblioteca de instrumentação que alimenta a entrega de métricas de aplicação do Spring. Ele fornece interfaces neutras em termos de fornecedor para temporizadores, medidores, contadores, resumos de distribuição, e temporizadores de tarefas longos com um modelo de dados dimensional.
Auditoria: Spring Boot fornece uma estrutura de auditoria flexível que publica eventos em um AuditEventRepositório. Ele publica automaticamente os eventos de autenticação se o spring-security estiver em execução.
Habilitando o Atuador Spring Boot
Podemos habilitar o atuador injetando a dependência atuador de partida por mola no arquivo pom.xml.
org.springframework.boot spring-boot-starter-actuator 2.2.2.RELEASE
Terminais do atuador Spring Boot
Os endpoints do atuador nos permitem monitorar e interagir com nosso aplicativo Spring Boot. Spring Boot inclui vários endpoints integrados e também podemos adicionar endpoints personalizados no aplicativo Spring Boot.
A tabela a seguir descreve os endpoints amplamente utilizados.
Eu ia | Uso | Padrão |
---|---|---|
atuador do | Ele fornece um sistema baseado em hipermídia página de descoberta para os outros pontos finais. Requer que Spring HATEOAS esteja no caminho de classe. | Verdadeiro |
eventos de auditoria | Ele expõe informações de eventos de auditoria para o aplicativo atual. | Verdadeiro |
configuração automática | É usado para exibir um relatório de autoconfiguração mostrando todos os candidatos à autoconfiguração e o motivo pelo qual eles “foram” ou “não foram” aplicados. | Verdadeiro |
feijões | Ele é usado para exibir uma lista completa de todos os beans Spring em seu aplicativo. | Verdadeiro |
configprops | É usado para exibir uma lista agrupada de todas as @ConfigurationProperties. | Verdadeiro |
jogar fora | É usado para realizar um despejo de thread. | Verdadeiro |
ambiente | É usado para expor propriedades do ConfigurableEnvironment do Spring. | Verdadeiro |
rota aérea | É usado para mostrar quaisquer migrações de banco de dados Flyway que foram aplicadas. | Verdadeiro |
saúde | Ele é usado para mostrar informações de integridade do aplicativo. | Falso |
informações | É usado para exibir informações arbitrárias do aplicativo. | Falso |
madeireiros | É utilizado para mostrar e modificar a configuração dos registradores na aplicação. | Verdadeiro |
liquibase | É usado para mostrar quaisquer migrações de banco de dados Liquibase que foram aplicadas. | Verdadeiro |
Métricas | É usado para mostrar informações de métricas do aplicativo atual. | Verdadeiro |
mapeamentos | É usado para exibir uma lista agrupada de todos os caminhos @RequestMapping. | Verdadeiro |
desligar | Ele é usado para permitir que o aplicativo seja encerrado normalmente. | Verdadeiro |
vestígio | É usado para exibir informações de rastreamento. | Verdadeiro |
Para Spring MVC, os seguintes endpoints adicionais são usados.
Eu ia | Descrição | Padrão |
---|---|---|
documentos | Ele é usado para exibir documentação, incluindo exemplos de solicitações e respostas para os terminais do Atuador. | Falso |
despejo de pilha | Ele é usado para retornar um arquivo de despejo de heap hprof compactado GZip. | Verdadeiro |
Jolokia | É usado para expor beans JMX sobre HTTP (quando Jolokia está no caminho de classe). | Verdadeiro |
arquivo de log | É usado para retornar o conteúdo do arquivo de log. | Verdadeiro |
Prometeu | Ele é usado para expor métricas em um formato que pode ser copiado por um servidor prometheus. Requer uma dependência do micrometer-registry-prometheus. | Verdadeiro |
Propriedades do atuador Spring Boot
Spring Boot permite segurança para todos os endpoints do atuador. Ele usa baseado em formulário autenticação que fornece ID do usuário como o usuário e um gerado aleatoriamente senha . Também podemos acessar endpoints restritos ao atuador personalizando a segurança basicauth para os endpoints. Precisamos substituir esta configuração por gerenciamento.segurança.funções propriedade. Por exemplo:
management.security.enabled=true management.security.roles=ADMIN security.basic.enabled=true security.user.name=admin security.user.passowrd=admin
Exemplo de atuador Spring Boot
Vamos entender o conceito de atuador através de um exemplo.
Passo 1: Abra o Spring Initializr https://start.spring.io/ e criar um Maven projeto.
Passo 2: Proporciona a Grupo nome. Nós fornecemos com.javatpoint.
Etapa 3: Proporciona a Artefato Eu ia. Nós fornecemos o exemplo de atuador de inicialização por mola.
Passo 4: Adicione as seguintes dependências: Spring Web, Atuador Spring Boot Starter, e Navegador Spring Data Rest HAL .
Etapa 5: Clique no Gerar botão. Quando clicamos no botão Gerar, ele agrupa todas as especificações relacionadas ao projeto em um Jarra arquivo e baixa-o para nosso sistema local.
Etapa 6: Extraia o arquivo Jar e cole-o no espaço de trabalho do STS.
Etapa 7: Importe a pasta do projeto.
Arquivo -> Importar -> Projetos Maven Existentes -> Navegar -> Selecione a pasta spring-boot-actuator-example -> Concluir
Demora algum tempo para importar. Após importar o projeto, podemos ver o diretório do projeto na seção do explorador de pacotes.
Etapa 8: Crie uma classe Controlador. Criamos a classe do controlador com o nome DemoRestController.
DemoRestController.java
package com.javatpoint; 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!'; } }
Etapa 9: Abra o aplicação.propriedades arquivo e desative o recurso de segurança do atuador adicionando a seguinte instrução.
aplicação.propriedades
management.security.enabled=false
Etapa 10: Execute o SpringBootActuatorExampleApplication.java arquivo.
meucricketlive
Etapa 11: Abra o navegador e invoque 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/health/{*path}','templated':true},'info':{'href':'http://localhost:8080/actuator/info','templated':false}}}
O aplicativo é executado na porta 8080 por padrão. Assim que o atuador for iniciado, podemos ver a lista de todos os endpoints expostos por HTTP.
Vamos invocar o saúde endpoint invocando a URL http://localhost:8080/actuator/health. Denota o status ACIMA . Isso significa que o aplicativo está íntegro e funcionando sem qualquer interrupção.
Da mesma forma, podemos invocar outros endpoints que nos ajudam a monitorar e gerenciar o aplicativo Spring Boot.
Baixar projeto