Descripción general
El núcleo de la monitorización de la bota de resorte es la dependencia del activador de arranque de bola de resorte. Después de agregar dependencias, Spring Boot configurará un monitoreo general de forma predeterminada, como el monitoreo de JVM, la carga de clase, el monitoreo de la salud, etc.
Hemos hablado sobre el monitoreo visual de los contenedores Docker antes, es decir, monitorear el funcionamiento del contenedor, incluido el uso de la CPU, el uso de la memoria, el estado de la red, el espacio de disco y otra información. Al seleccionar SpringBoot como la tecnología de instanciación de las unidades de microservicio, uno de los problemas inevitables que tenemos que enfrentar es cómo monitorear los datos de estado de salud de la aplicación en tiempo real, como: salud, indicadores de operación, información de registro, estado del hilo, etc. Este artículo explora el problema y registra el proceso experimental.
Comenzando con: complemento de actuador
El complemento de actuador es un servicio proporcionado de forma nativa por SpringBoot. Se puede utilizar para generar mucha información de punto final en la aplicación al exponer rutas de punto final. ¡Toma una batalla práctica!
Agregar dependencias en pom.xml:
<Spendency> <MoupRoMID> org.springframework.boot </groupid> <artifactId> spring-boot-starter-actuator </artifactid> </dependency>
Después de comenzar la aplicación Spring Boot, puede obtener información de estado de la aplicación simplemente ingresando la información del punto final en el navegador.
Los puntos finales comunes se enumeran de la siguiente manera, puede probarlos en detalle:
Por supuesto, solo se pueden usar puntos finales de salud e información en este momento, y no se puede acceder a otros puntos finales debido a problemas de permiso. Si desea acceder al punto final especificado, puede agregar elementos de configuración relevantes en la configuración YML. Por ejemplo, si necesita configurar el punto final /Metrics:
Puntos finales: Métricas: Sensible: Falso
En este momento, el navegador accede al punto final /métricos y puede obtener información como se muestra a continuación:
{"Mem": 71529, "Mem.Free": 15073, "Processors": 4, "instance.uptime": 6376, "tiempo de actividad": 9447, "Systemload.average": -1.0, "Heap.commeted": 48024, "Entre "nonheap.committed": 23840, "nonheap.init": 160, "nonheap.used": 23506, "nonheap": 0, "threads.peak": 25, "threads.daemon": 23, "threads.totalStarted": 28, "threads": 25, "classes": 6129, "classes.unloaded": 6129, "Classes.unloaded": 0, "GC.Copy.Count": 74, "gc.copy.time": 173, "gc.marksweepcompact.count": 3, "gc.marksweepcompact.time": 88, "httpsessions.max": -1, "httpsessions.active": 0}Por supuesto, también puede habilitar todos los permisos de punto final, simplemente configurarlos de la siguiente manera:
Puntos finales: Sensible: Falso
Dado que las capacidades de monitoreo proporcionadas por el complemento del actuador son limitadas después de todo, y la interfaz de usuario es relativamente simple, requiere una herramienta más madura.
Sistema de monitoreo de administración de arranque de primavera
SBA se ha desarrollado aún más en función del actuador, que es una herramienta de monitoreo para el embilado y el empaque de la interfaz de actuador. Experimentemos.
Primero, cree un proyecto de servidor de administrador de Boot Spring como servidor
Agregue las siguientes dependencias a pom.xml:
<Spendency> <MoupRoD> de.codeCentric </groupid> <artifactid> spring-boot-adminserver </artifactid> <verserse> 1.5.7 </versión> </pendency> <epardency> <proupId> de.codeCentric </groupId> <artifactid> spring-boot-admin-server-ui </artifactid> <Versión> 1.5.7 </versión> </pendency>
Luego habilite el administrador de arranque de Spring agregando anotaciones en la clase principal de la aplicación
@Enableadminserver@springbootapplicationPublic class springbtadminserverApplication {public static void main (string [] args) {springapplication.run (springbtadminserverapplication.class, args); }}Inicie el programa y abra Localhost: 8081 en el navegador para ver la página principal del administrador de arranque de primavera:
Página de inicio de Spring Boot Admin
En este momento, la columna de la aplicación está vacía, esperando que la aplicación sea monitoreada para unirse
Cree una aplicación de arranque de Spring para monitorear
Agregue las siguientes dependencias a pom.xml
<Spendency> <ProupId> de.codeCentric </proupid> <artifactID> spring-boot-admin-starter-client </arfactid> <verSerse> 1.5.7 </versión> </pendency>
Luego agregue la siguiente configuración en la configuración YML y registre la aplicación al servidor de administración:
Spring: Boot: Admin: URL: http: // localhost: 8081 Cliente: Nombre: Admintest
Tan pronto como se inició la solicitud del cliente, el servicio de administración inmediatamente presionó un mensaje, diciéndole que el admintest está en línea:
Aplicación para impulsar mensajes en línea
En este momento, vaya a la interfaz principal de administración para verificar y descubra que la aplicación del cliente se ha registrado:
La aplicación del cliente ha sido registrada
Ver detalle
Información detallada
Ver métricas
Información de métricas
Ver entorno
Información del medio ambiente
Ver JMX
Información JMX
Ver hilos
Información de hilos
Ver traza y detalles
Traza de información
Haga clic en el diario superior y verá los cambios en el evento de la aplicación monitoreada:
Información de cambio de evento de aplicación
Se puede ver claramente en la figura que la aplicación salta del estado del registro → desconocido → → up.
Esto intentará toda la información del punto final proporcionada por el complemento del actuador en la SBA.
Referencias
http://codecentric.github.io/spring-boot-admin/1.5.7/
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.