1. Introdução
Github: https://github.com/codecentric/spring-boot-admin
Documento oficial: http://codecentric.github.io/spring-boot-admin/1.5.7/ (este documento é um documento com a versão 1.5.7)
Os aplicativos registram -se no nosso cliente de administrador de inicialização da primavera (via http) ou são descobertos usando o Spring Cloud ® (por exemplo, Eureka, cônsul).
O documento oficial menciona que o uso do monitoramento administrativo da Botta Spring requer um Serviço de Servidor de Administração de Boot Spring, e os outros serviços monitorados são um cliente de administração de inicialização da mola, ou o serviço de monitoramento é realizado através do registro de serviço e componentes de descoberta, como Eurok e Cônsul na Cloud Spring. Dessa forma, não há necessidade de configurar deliberadamente os serviços monitorados relevantes como cliente, basta registrar -se em Eureka ou cônsul.
Nota: Este artigo é baseado no Spring Cloud Eureka como um componente de descoberta de registro de serviço para realizar o monitoramento dos serviços. O serviço de Eureka existe com antecedência. Além disso: se você não usar Eureka, precisará introduzir frascos de clientes no serviço monitorado. Para detalhes, consulte a documentação oficial acima. *
2. Crie serviço de servidor de admin do Spring Boot
Primeiro, crie um projeto de inicialização de Spirng, que pode ser construído rapidamente através de http://start.spring.io/.
1. Adicione as dependências do servidor de admin do Spring Boot
pom.xml
<Dependences> <pendency> <voundid> de.codecentric </frupidId> <TRATIFACTID> Spring-boot-admin-starter-server </artifactId> <versão> 1.5.7 </versão </dependency> </dependências>
2. Adicione @EnableAdminServer anotação para ativar o monitoramento
@Configuration@EnableAutoconfiguration@EnableadMinserverPublic Classe SpringbootadMinApplication {public static void main (String [] args) {springapplication.run (SpringbootadMinapplication.class, args); }}3. Registre o Spring Boot Admin Server em Eureka
Adicione dependências Eureka
pom.xml
<Depencency> <PuerpId> org.springframework.cloud </frugid> <TRATIFACTID> Spring-cloud-starter-eureka </stutifactId> </pendence>
Adicione @EnableDiscoveryClient para ativar a descoberta de serviços
@Configuration@EnableAutoconfiguration@EnablediscSoveryclient@EnableadMinserverpublic Classe SpringbootadMinApplication {public static void main (string [] args) {springapplication.run (springbootadMinApplication.class, args); }}Adicionar configuração de registro de serviço Eureka
eureka: instance: leaseRenewalIntervalInSeconds: 10 client: registryFetchIntervalSeconds: 5 serviceUrl: defaultZone: http://10.1.3.54:8761/eureka/# Turn off the security of spring boot actuator, otherwise the sensitive path access is 401management: security: enabled: false
Inicie o projeto e visite IP: Port para inserir a página gerenciada
Como mostrado na imagem:
Os itens mostrados na figura são todos os serviços registrados no Eureka e os itens são monitorados registrando o Spring Boot Admin Server no Eureka.
3. Configurações de configuração
1. Faça login na interface do usuário
O Serviço de Gerenciamento de Administração não possui medidas de segurança, e qualquer pessoa pode acessá -lo conhecendo IP e Port, o que é muito inseguro, e o Spring Boot Admin também fornece uma página de login. Precisa ser usado com segurança da primavera.
Adicione as dependências da interface do usuário do Admin Spring Boot:
<Depencency> <voundid> de.codecentric </roupidId> <TRATIFACTID> Spring-boot-admin-server-ui-login </artifactId> <versão> 1.5.7 </sipers> </pendence>
Adicionar dependências de segurança da primavera:
<Depencency> <PuerpId> org.springframework.boot </frugiD> <ArtifactId> Spring-Boot-Starter-Security </ArtifactId> </Dependency>
Adicione o código de configuração à classe de inicialização do projeto:
pacote com.aspire.springbootadmin; importar de.codecentric.boot.admin.config.enableadMinserver; importar org.springframework.boot.springApplication; importação org.springframework.autoconfigure.enableautoconfigrature; org.springframework.cloud.client.discovery.enablediscoveryclient; importar org.springframework.context.annotation.configuration; importar org.springframework.security.config.annotation.web.builders.htpsecurity org.springframework.security.config.annotation.web.configuration.webescurityConfigureRAdapter;@Configue Springapplication.run (springbootadminApplication.class, args); } @Configuration public static satutic securityconfig estende o webcurityConfigureRAdApter {@Override Protected void Configure (httpsecurity http) lança exceção {// página com formulário de login é servido como /login.html e faz uma postagem no /login http.FormLogin (). LoginPage ("/login.html"). LoginProcessingurl ("/login"). Permitall (); // A interface do usuário faz uma postagem no/logout no logout http.logout (). Logouturl ("/logout"); // A UI atualmente não suporta CSRF http.csrf (). Desabille (); // Solicitações para a página de login e os ativos estáticos são permitidos http.authorizerequests () .antmatchers ("/login.html", "/**/*.css", "img/**", "/terceira parte/**") .permitall (); // ... e qualquer outra solicitação precisa ser autorizada http.authorizerequests (). Antmatchers ("/**"). Authenticated (); // ativar para que os clientes possam autenticar via HTTP Basic para registrar http.httpbasic (); }}}Adicione um arquivo de configuração
Segurança: Usuário: Nome: Admin Senha: 123123 Básico: Ativado: Falso
Uma página de login aparecerá ao acessar novamente
Digite o nome de usuário e a senha configurados na configuração e clique em Login para fazer login. Após a entrada, haverá um botão de saída extra na barra de navegação. Depois de clicar, você retornará à página de login.
2. Informações da versão do aplicativo cliente
Para exibir a versão na lista de aplicativos, use o plug-in build-info do Maven e adicione o plug-in no arquivo pom.xml
<build> <plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>build-info</goal> </goals> </execution> </executions> </plugin> </plugin> </plugins></build>
Conforme mostrado na figura: se nada for adicionado, ela não será exibida.
3. Aplicativo do cliente JMX Bean Management
Para interagir com JMX-beans na interface do administrador, você deve incluir Jolokia em seu aplicativo. Adicionar dependências POM:
<Depencency> <voupid> org.jolokia </frupiD> <stifactId> jolokia-core </sutifactId> </pendendence>
Depois de adicioná -lo, você pode ver o menu JMX no menu de detenção de aplicativos monitorado.
4. Aplicativo cliente adiciona log de log
A configuração nas propriedades do aplicativo cliente é a seguinte:
registro: caminho:/xxx/xxx/xxx/
Especifique o caminho de saída do log e, em seguida, o log pode ser exibido:
5. Suporte da interface do usuário Hystrix
O Administrador de Botas da Primavera também pode integrar a tela Hystrix. A premissa é que o cliente precisa ativar o Hystrix.
Adicionando dependências no servidor de administração de inicialização da primavera
<Depencency> <Puerpid> de.codecentric </roupidId> <TRAFACTID> Spring-boot-admin-server-ui-hystrix </stifactId> <versão> 1.4.6 </versão </dependency>
Adicionar nó de extremidade no arquivo de configuração do servidor
Copie o código da seguinte forma: spring.boot.admin.Routes.endpoints: Env, métricas, rastreamento, despejo, jolokia, informações, configprops, rastreamento, arquivo de log, atualização, flyway, liquibase, heapdump, ativiti, hystrix.stream
Clique para abrir o cliente Hystrix, clique no menu Hystrix para ver as informações da Hystrix
6. Suporte da interface do usuário da turma
O administrador da inicialização da mola também pode integrar a exibição da turbina.
Junte -se a dependências:
<Depencency> <PuerpId> de.codecentric </roupidId> <TRATIFACTID> Spring-boot-admin-server-ui-turbine </artifactId> <versão> 1.5.7 </version> </dependency>
Configure o cluster e a localização da turbina. Os clusters são os mesmos clusters configurados no serviço de turbin. O local precisa especificar o nome do serviço de turbina registrado em Eureka. Por exemplo, seu nome de serviço de turbina é servidor de turbina e a configuração é como mostrado abaixo. (De fato, o Spring Boot Admin Server pode ser considerado como um serviço de turbina. Se o serviço de turbina já existe antes, ele poderá ser configurado diretamente aqui. Se o serviço de turbina não existir, adicione dependências e configurações relacionadas à turbina para o servidor de admin do Spring Boot, para que o servidor de adminagem de inicialização se torne um serviço de turbina.)
spring.boot.admin.turbine: clusters: Localização padrão: Turbina-Server
Por fim, adicione o endpoint da turbina.stream no arquivo de configuração
Copie o código da seguinte forma: spring.boot.admin.Routes.endPoints: Env, métricas, rastreamento, despejo, jolokia, informações, configprops, rastreamento, arquivo de log, atualização, flyway, liquibase, heapdump, ativiti, hystrix.stream, turbina.stream
interface
Haverá uma guia de turbina adicional na barra de navegação e você poderá ver as informações da turbina clicando.
7. Notificação por e -mail
O Spring Boot Admin também suporta notificações por email.
Adicione dependências
<Depencency> <PuerpId> org.springframework.boot </frugiD> <TRATIFACTID> Spring-boot-starter-Mail </ArtifactId> </Dependency>
Adicione a configuração de e -mail da primavera (lembro -me de um pequeno poço aqui. Comecei a usar a caixa de correio QQ, mas não consegui me conectar ao servidor SMTP da caixa de correio QQ. Verifiquei o motivo porque a Tencent proibiu o IP da intranet da empresa, mas não havia problemas para se conectar à rede 4G.)
Spring: Mail: Host: mmmail.aspire-tech.com Senha: xxxxx Porta: 25 Nome de usuário: xxxx
Adicionar configuração de e -mail do admin de bota de primavera
Bott: admin: notify: Mail: para: [email protected] de: [email protected] Habilitado: true
O efeito é como mostrado na figura. Haverá notificações por email quando o serviço de monitoramento for iniciado ou parado.
O exposto acima é todo o conteúdo deste artigo. Espero que seja útil para o aprendizado de todos e espero que todos apoiem mais o wulin.com.