1. Introducción
Github: https://github.com/codecentric/spring-boot-admin
Documento oficial: http://codecentric.github.io/spring-boot-admin/1.5.7/ (este documento es un documento con la versión 1.5.7)
Las aplicaciones se registran con nuestro cliente de administración de Boot Spring (a través de HTTP) o se descubren utilizando Spring Cloud ® (por ejemplo, Eureka, Consul).
El documento oficial menciona que el uso de la monitorización del administrador de arranque de Spring requiere un servicio de servidor de administración de arranque de Spring, y los otros servicios monitoreados son un cliente de administración de arranque de Spring, o el servicio de monitoreo se realiza a través de los componentes de registro y descubrimiento del servicio, como EUREAK y CONSUL en Spring Cloud. De esta manera, no hay necesidad de configurar deliberadamente los servicios monitoreados relevantes como cliente, solo regístrese en Eureka o Cónsul.
Nota: Este artículo se basa en Spring Cloud Eureka como un componente de descubrimiento de registro de servicio para realizar el monitoreo de los servicios. El servicio de Eureka existe de antemano. Además: si no usa eureka, debe introducir frascos de clientes en el servicio monitoreado. Para más detalles, consulte la documentación oficial anterior. *
2. Crear servicio de servidor de administración de arranque de primavera
Primero cree un proyecto de arranque Spirng, que se puede construir rápidamente a través de http://start.spring.io/.
1. Agregue las dependencias del servidor de administración de arranque de primavera
pom.xml
<Spendencies> <Spendency> <MoupRoD> de.codeCentric </groupid> <artifactID> spring-boot-admin-starter-server </artifactid> <versión> 1.5.7 </versión> </dependencia> </pendencs>
2. Agregue la anotación @EnableAdminServer para habilitar el monitoreo
@Configuration@EnableautOconfiguration@EnableadminserverPublic SpringBootAdminApplication {public static void main (string [] args) {springapplication.run (springbootadminapplication.class, args); }}3. Registre el servidor de administración de Boot Spring a Eureka
Agregar dependencias de Eureka
pom.xml
<Spendency> <MoupRupid> org.springframework.cloud </groupid> <artifactID> spring-ncloud-starter-eureka </artifactid> </pendency>
Agregar @EnableDiscoveryClient para habilitar el descubrimiento de servicios
@Configuration@Enableautoconfiguration@habilitadoiscoveryClient@enableadminserverpublic class springBootAdminApplication {public static void main (string [] args) {springapplication.run (springBootAdminapplication.class, args); }}Agregar configuración de registro de servicio Eureka
eureka: instancia: leasereNewalIntervalInSeconds: 10 Cliente: RegistryFetchIntervalSeconds: 5 ServiceUrl: Defaultzone: http://10.1.3.54:8761/eureka/# Apague la seguridad del actuador de arranque de primavera, de lo contrario, el acceso de ruta sensible es 401 Management: Seguridad: Seguridad: Falso
Inicie el proyecto y visite IP: Puerto para ingresar a la página administrada
Como se muestra en la imagen:
Los elementos que se muestran en la figura son todos los servicios registrados con Eureka, y los elementos se monitorean registrando el servidor de administración de arranque de Spring en Eureka.
3. Configuración de configuración
1. Inicie sesión en la interfaz de usuario
El servicio de administración de administrador no tiene ninguna medida de seguridad, y cualquiera puede acceder a él conociendo IP y puerto, lo cual es muy inseguro, y Spring Boot Admin también proporciona una página de inicio de sesión. Necesita usarse con seguridad de primavera.
Agregar dependencias de interfaz de usuario de administración de arranque de primavera:
<Spendency> <ProupId> de.codeCentric </proupid> <artifactid> spring-boot-admin-server-ui-login </artifactid> <versión> 1.5.7 </versión> </pendency>
Agregar dependencias de seguridad de primavera:
<Spendency> <MoupRoMID> org.springframework.boot </groupid> <artifactId> spring-boot-starter-security </artifactid> </dependency>
Agregar código de configuración a la clase de inicio del proyecto:
paquete com.aspire.springbootadmin; import de.codeCentric.boot.admin.config.enableadminserver; import org.springframework.boot.springapplication; import org.springframework.boot.autoconfigure.enableutoconfiguration; importar; org.springframework.cloud.client.discovery.enabledScoveryClient; import org.springframework.context.annotation.configuration; import org.springframework.security.config.annotation.web.builders.httpsecurity; importar; org.springframework.security.config.annotation.web.configuration.websecurityConfigurerAdapter;@configuration@enableeutoconfiguration@habilitados en el consumo Springapplication.run (springBootAdminApplication.class, args); } @Configuration public static class SecurityConfig extiende WebSecurityConfigurerAdapter {@Override Proteged void Configurar (httpSecurity http) lanza la excepción {// La página con formulario de inicio de sesión se sirve como /login.html y hace una publicación encendida /login http.formlogin (). LoginPage ("/login.html"). LoginProcessingUrl ("/Login"). Permitall (); // El UI hace una publicación en/logrout en logrout http.logout (). LogOutUrl ("/logrout"); // La interfaz de usuario actualmente no es compatible con csrf http.csrf (). Disable (); // Solicitudes para la página de inicio de sesión y los activos estáticos están permitidos http.authorizequests () .antMatchers ("/login.html", "/**/*.css", "/img/**", "/tercero/**") .permitall (); // ... y cualquier otra solicitud debe ser autorizada http.authorizequests (). antmatchers ("/**"). autenticated (); // Habilitar para que los clientes puedan autenticarse a través de HTTP BASIC para registrar http.httpbasic (); }}}Agregar un archivo de configuración
Seguridad: Usuario: Nombre: Administrador Contraseña: 123123 Básico: habilitado: Falso
Aparecerá una página de inicio de sesión al acceder nuevamente
Ingrese el nombre de usuario y la contraseña configurados en la configuración y haga clic en Iniciar sesión para iniciar sesión. Después de ingresar, habrá un botón de salida adicional en la barra de navegación. Después de hacer clic, volverá a la página de inicio de sesión.
2. Información de la versión de la aplicación del cliente
Para mostrar la versión en la lista de aplicaciones, use el complemento build-info de Maven y agregue el complemento en el archivo pom.xml
<eded> <glugin> <glugin> <proupid> org.springframework.boot </groupid> <artifactID> spring-boot-maven-plugin </artifactid> <cacunciosions> <secution> <setals> <poutmand> building-fo </putower> </secution> </ecursions> </glugin> </plugin> </tugin <glugins> </objetivo>
Como se muestra en la figura: si no se agrega nada, no se mostrará.
3. Aplicación del cliente JMX Bean Management
Para interactuar con los juegos JMX en la interfaz de administración, debe incluir a Jolokia en su aplicación. Agregar dependencias de POM:
<Spendency> <MoupRoMID> org.jolokia </groupid> <artifactId> jolokia-core </artifactid> </pendency>
Después de agregarlo, puede ver el menú JMX en el menú de detención de aplicaciones monitoreadas.
4. La aplicación del cliente agrega registro de registro
La configuración en las propiedades de la aplicación cliente es la siguiente:
Registro: ruta:/xxx/xxx/xxx/
Especifique la ruta de salida del registro y luego se puede mostrar el registro:
5. Soporte de UI de Hystrix
Spring Boot Admin también puede integrar la pantalla Hystrix. La premisa es que el cliente necesita habilitar Hystrix.
Agregar dependencias en el servidor de administración de arranque de Spring
<Spendency> <ProupId> de.codeCentric </proupid> <artifactid> spring-boot-admin-server-ui-hystrix </artifactid> <versión> 1.4.6 </versión> </pendency>
Agregar nodo de puntos finales en el archivo de configuración del servidor
Copie el código de la siguiente manera: spring.boot.admin.routes.endpoints: env, métricas, traza, vertedero, jolokia, info, configprops, traza, archivo de registro, actualización, flyway, liquibase, hisepdump, activiti, hystrix.stream
Haga clic para abrir el cliente Hystrix, haga clic en el menú Hystrix para ver la información de Hystrix
6. Soporte de UI de turbina
Spring Boot Admin también puede integrar la pantalla de la turbina.
Unión de dependencias:
<Spendency> <ProupId> de.codeCentric </proupid> <artifactid> spring-boot-admin-server-ui-turbine </artifactid> <versions> 1.5.7 </versión> </pendency>
Configure el clúster y la ubicación de la turbina. Los grupos son los mismos grupos configurados en el servicio de turbina. La ubicación debe especificar el nombre del servicio de turbina registrado en Eureka. Por ejemplo, el nombre de su servicio de turbina es el servidor de turbina, y la configuración es como se muestra a continuación. (De hecho, Spring Boot Admin Server puede considerarse como un servicio de turbina. Si el servicio de turbina ha existido antes, se puede configurar directamente aquí. Si el servicio de turbina no existe, agregue dependencias y configuraciones relacionadas con la turbina al servidor de administración de arranque de primavera, de modo que el servidor de administración de arranque de primavera se convierte en un servicio de turbina).
Spring.Boot.admin.Turbine: Clusters: Ubicación predeterminada: Turbine-Server
Finalmente, agregue el punto final de turbina.stream en el archivo de configuración
Copie el código de la siguiente manera: spring.boot.admin.routes.endpoints: env, métricas, traza, vertedero, jolokia, info, configprops, traza, archivo de registro, actualización, flyway, liquibase, heapdump, activiti, hystrix.stream, turbine.stream
interfaz
Habrá una pestaña de turbina adicional en la barra de navegación, y puede ver la información de la turbina haciendo clic.
7. Notificación por correo electrónico
Spring Boot Admin también admite notificaciones por correo electrónico.
Agregar dependencias
<Spendency> <MoupRoMID> org.springframework.boot </groupid> <artifactId> spring-boot starter-mail </arfactid> </pendency>
Agregue la configuración de correo electrónico de Spring (recuerdo un pequeño pozo aquí. Comencé a usar el buzón QQ, pero no pude conectarme al servidor SMTP del buzón QQ. Verifiqué la razón porque Tencent prohibió la IP intranet de la compañía, pero no hubo problemas para conectarse a la red 4G).
Primavera: Correo: Host: mmmail.aspire-tech.com Contraseña: xxxxx Puerto: 25 Nombre de usuario: xxxx
Agregar configuración de correo de administrador de arranque de primavera
Boot: Admin: notificar: correo: a: [email protected] De: [email protected] habilitado: verdadero
El efecto es como se muestra en la figura. Habrá notificaciones por correo electrónico cuando se inicie o se detenga el servicio de monitoreo.
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.