Spring-Actuator es un módulo integrado de Boot Spring-Boot para el monitoreo de la aplicación. Proporciona soporte para el monitoreo de nuestro servidor, lo que nos permite obtener más intuitivamente la configuración de la aplicación, las variables de entorno, los informes de configuración automatizados, etc. cargados en la aplicación.
Usando el activador de primavera
1. Introducir dependencias de Maven
<!-Módulo de monitoreo y gestión-> <pendency> <MoupRupid> org.springframework.boot </groupid> <artifactID> spring-boot-starter-activer-actuator </artifactid> </pendency>
Después de introducir dependencias, comience el proyecto.
La URL que necesitamos se imprimirá cuando comience el proyecto
2018-03-26 23: 19: 00.169 Información 6148 --- [Main] OsBaemvc.endPointhandLermapping: mapeado "{[/env/{Name:.*THOFiado,Methods= sorgetfont>,Produces=anceApplation/Vnd.Spring-Boot.actuator.v1+json || Aplicación/json] java.lang.object org.springframework.boot.actuate.endpoint.mvc.environmentmvcendpoint.value (java.lang.string)
2018-03-26 23: 19: 00.169 Información 6148 --- [principal] OsBaemvc.endPointhandLermapping: asignado "{[/env || /env.jsonfont>,Methods= sorgetfont>,Produces=anceAplation/vnd.spring-boot.actuator.v1+json || Aplicación/json] java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.170 Información 6148 --- [Main] Osbaemvc.endpointhandLermapping: asignado "{[/traza || /trace.jsonfont>,methods= sorgetfont>,produces=cheAplation/vnd.spring-boot.actuator.v1+json || aplicación/json] java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.170 Información 6148 --- [principal] OsBaemvc.endPointhandLermapping: mapeado "{[/dUd || /dump.jsonfont>,methods= sorgetfont>,produces=anceApplation/vnd.spring-boot.actuator.v1+json || aplicación/json] java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.171 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[/auditevents || /auditevents.jsonfont>, methods= sorgetfont>,produces=implication/vnd.spring-boot.actuator.v1 +json || org.springframework.http.ResponseEntity <?> org.springframework.boot.actuate.endpoint.mvc.auditeventsmvcendpoint.findbyprudipalandafterandtype (java.lang.string, java.util.date, java.lang.string)
2018-03-26 23: 19: 00.171 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[/mappes || /mappings.jsonfont>,methods=anceegetfont>,Productes=anceApplication/vnd.spring-boot.actuator.v1+json || java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.172 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[/autoconfig || /autoconfig.jsonfont>,methods= sorgetfont>,produces=peppication/vnd.spraing-boot.actuator.v1+Json || Aplicación]}" en público java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.173 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[/metrics/{Name:.*THOWNEDENTS= SAJE java.lang.object org.springframework.boot.actuate.endpoint.mvc.metricsmvcendpoint.value (java.lang.string)
2018-03-26 23: 19: 00.173 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[/Metrics || /Metrics.jsonfont>,methods=anceeGetfont>,Productes=anceApplication/vnd.spring-boot.actuator.v1+JSON || Aplicación/json] java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.173 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[ /pausa || /pause.jsonfont>nmethods=§post]}" en public java.lang.Object org.springFrameWork.cloudpoint.enicPostPoPoToPoToPToPoToPToPoToToPToPoToToPToPTOUNT
2018-03-26 23: 19: 00.174 Información 6148 --- [Main] Osbaemvc.endpointhandLermapping: mapeado "{[/servicio-registry/instancia-status], métodos = [post]}" en público org.springframework.htttTtTTitity <?> org.springframework.cloud.client.serviceregistry.endpoint.servicereGistryendpoint.setStatus (java.lang.string)
2018-03-26 23: 19: 00.174 Información 6148 --- [Main] Osbaemvc.endpointhandLermapping: mapeado "{[/servicio-registry/instancia-status], métodos = [get]}" en público org.springframework.htttTtitityTityTityTityhadity org.springframework.cloud.client.serviceregistry.endpoint.serviceregistryendpoint.getStatus ()
2018-03-26 23: 19: 00.175 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[/loggers/{Name:.*THOWNEDENTER java.lang.object org.springframework.boot.actuate.endpoint.mvc.loggersmvcendpoint.get (java.lang.string)
2018-03-26 23: 19: 00.175 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[/loggers/{Name:.*Tfont>Sethods=§Postfont>,Consumes=implication/vnd.spring-Boot.actuator.v1+json || aplicación/json], produce = [aplicación/vnd.spring-boot.actuator.v1+json || application/json]} "en el público java.lang.object org.springframework.boot.actuate.endpoint.mvc.loggersmvcendpoin java.lang.string>)
2018-03-26 23: 19: 00.175 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[/loggers || /Loggers.jsonfont>,methods=ancefonafont>,Productes=implication/vnd.spring-boot.actuator.v1+json || Aplicación/json] java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.176 Información 6148 --- [Main] Osbaemvc.endpointhandLermapping: mapeado "{[/HeadeMdump || /Heapdump.jsonfont>,Methods=abil Fronafontados,Produces=ficApplication/OctetTream]}" en público Void Void Void org.
2018-03-26 23: 19: 00.176 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[ /refresh || /Refresh.jsonfont> Methods=§Post]}" en público Java.lang.Object Org.springfframeWork.cloudpoint.enicPostPosTPOS
2018-03-26 23: 19: 00.177 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[ /resume || /resume.jsonfont>dods=§post]}" en público java.lang.object org.springframework.cloudpoint.enicPostPostPostablemEmememEmemEmemEmemEmemEmemEmememEmemEmemEmemEmemEmemEmemEmemEmemEn
2018-03-26 23: 19: 00.178 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapped "{[/configprops || /configprops.jsonfont>,methods= sorgetfont>,produces/}}}" Attubring-boot.actuator.v1 +json || Aplicación] java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.178 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[/Archaius || /chaius.jsonfont>,methods=ancefonafont>,Productes=anceApplication/vnd.spring-boot.actuator.v1+json || Aplicación/json] java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.179 Información 6148 --- [Main] OsBaemvc.endPointhandLermapping: mapeado "{[/salud || /Health.jsonfont>,Methods= escargados java.lang.object org.springframework.boot.actuate.endpoint.mvc.healthmvcendpoint.invoke (javax.servlet.http.httpservletrequest, java.security.prudipal)
2018-03-26 23: 19: 00.179 Información 6148 --- [principal] Osbaemvc.endpointhandLermapping: mapeado "{[/env], métodos = [post]}" en el público java.lang.object org.springframework.cloud.context.environment.environmentmanagermvcendpoint.value (java.util.map <java.lang.string, java.lang.string>)
2018-03-26 23: 19: 00.179 Información 6148 --- [Main] Osbaemvc.endpointhandLermapping: mapeado "{[/env/reset], métodos = [post]}" en público java.util.map <java.lang.string, java.lang.object> org.springframework.cloud.context.environment.environmentmanagermvcendpoint.reset ()
2018-03-26 23: 19: 00.179 Información 6148 --- [Main] Osbaemvc.endpointhandLermapping: mapeado "{[/características || /feature.jsonfont> ,Methods= sorgetfont>,Produces=anceApplation/vnd.spring-boot.actuator.v1+json || Aplicación/json] java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.180 Información 6148 --- [Main] Osbaemvc.endPointhandLermapping: mapeado "{[ /reiniciar || /restart.jsonfont> methods=[post]}" en el público java.lang.Object org.springframework.cloud.context.restart.restartmvcendpoint.invoke ()
2018-03-26 23: 19: 00.181 Información 6148 --- [Main] OsBaemvc.endPointhandLermapping: mapeado "{[/entity || /Entity.jsonfont>,Methods= sorgetfont>,Produces=anceApplation/vnd.spring-Boot.actuator.v1+json || Aplicación/json] java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.181 Información 6148 --- [Main] OsBaemvc.endPointhandLermapping: mapeado "{[/info || /info.jsonfont>,Methods= sorgetfont>,Produces=anceApplation/vnd.spring-Boot.actuator.v1+json || Aplicación/json] java.lang.object org.springframework.boot.actuate.endpoint.mvc.endpointmvcadapter.invoke ()
2018-03-26 23: 19: 00.193 Información 6148 --- [Main] SWSMMAREQUESTMappingHandlermapping: mapeado "{[/error]}" en público java.util.map <java.lang.string, java.lang.object>> org.springframework.boot.actuate.endpoint.mvc.managementErrorendpoint.invoke ()
2. Configuración del archivo de configuración YML
(1) Configure el número de puerto y no habilite un módulo funcional determinado
#Número de puerto de desarrollo, si no, es el mismo que el servidor del servidor. Managemento del puerto: puerto: 4321 #Eliminar una función que no necesita ver el contenido, si no se requiere salud, salud: correo: #false significa que esta función no está habilitada: falso
La configuración anterior indica que el puerto configurado es el puerto HTTP 4321 y la función /salud está deshabilitada.
(2) Modificar la ruta de mapeo
#Modifique la ruta de la ID de mapeo de un punto final de configuración: frijoles: id: entidad
La configuración anterior significa cambiar la ruta para crear frijoles por /frijoles a /entidad
(3) Configurar la configuración de seguridad del actuador
Se requiere la seguridad de la primavera
Introducir dependencias
<!-para la autenticación de la cuenta de acceso del centro de registro-> <Spendency> <MoupRupid> org.springframework.boot </groupid> <artifactID> spring-boot starter-security </artifactid> </pendency>
Configurar la contraseña de la cuenta:
Seguridad: Básico: #Represents para habilitar la autenticación de la contraseña de la cuenta habilitado: Verdadero #Configure Cuenta y contraseña Usuario del usuario: Nombre: Root Password: 123
Después de configurar la contraseña de la cuenta, puede acceder a ella a través de http://127.0.0.1:4321 e ingresar la cuenta y la contraseña configuradas. Es válido cuando el navegador no está cerrado una vez.
(4) Muestre el mensaje de visualización en formato JSON
La pantalla de formato JSON tiene una mejor legibilidad y estética
#Print el paquete que se muestra por acyuator en formato JSON Spring: Jackson: Serialización: sangría de la sangría: verdadero
Agregue la configuración anterior al archivo Application.yml
3. Configuración de la clase de inicio
@Springbootapplication@enseableeurekaserver // Esta anotación de línea representa un componente registrado para un servicio. Esta anotación solo es aplicable a la clase Eurekapublic EurekaserverPaplation {public static void main (string [] args) {springapplication.run (eurekaserverapplication.class, args); }}Ejecutar sin configuración
4. Algunos módulos de configuración importantes
| Método de solicitud HTTP | camino | describir |
| CONSEGUIR | /Autoconfig | Utilizado para obtener información de configuración automatizada para la aplicación |
| CONSEGUIR | /frijoles | Se usa para obtener todos los frijoles creados por el contexto de la aplicación |
| CONSEGUIR | /configprops | Obtenga el informe de información de atributos configurado en la aplicación |
| CONSEGUIR | /envidia | Se usa para obtener todos los informes de atributos variables de entorno disponibles para la aplicación |
| CONSEGUIR | /mapeos | Informe de relación de mapeo de controlador para obtener todo SpringMVC |
| CONSEGUIR | /Información | Se utiliza para obtener información de personalización de aplicaciones |
(1) /Autoconfig
Hay dos nodos maestros en esta configuración.
PositiveMatches: Devuelve información de configuración automática para una coincidencia exitosa de condiciones
negativeMatches: devuelve la información de configuración que la coincidencia de la condición no tiene éxito
(2) /frijoles
Este archivo de configuración se utiliza para mostrar objetos de frijol cargados por el contexto de la aplicación ApplicationContext, incluidos los siguientes nodos:
"context": "bootstrap", "padre": nulo, "frijoles": [{"bean": "PropertySourceotstrapConfiguration", "alias": [], "alcance": "singleton", "type": "org.springframework.cloud.bootstrap.config.propertySourceotstrapConfiguration $$ mejoradoBeans es una colección de clases cargadas en el contexto de la aplicación, que incluye las siguientes etiquetas:
1), Bean: el nombre del bean creado por el contexto de la aplicación
2) Alcance: el alcance del frijol creado
Singleton: Singleton, es el alcance predeterminado de la primavera
Prototipo: cada solicitud generará una nueva instancia, que es equivalente a la nueva operación
Solicitud: Cada solicitud HTTP generará una nueva instancia, y el bean actual solo es válido en la misma HTTPRequest
Sesión: válido en la misma httpsession
3), Tipo: el tipo de frijol que se utiliza para la gestión del contexto
Nombre de clase totalmente calificado para la clase
4) Recurso: la ruta específica al archivo de clase
5) Dependencias: el nombre del frijol de dependencia, es decir, el nombre del frijol asociado en el frijol
(3) /configprops: obtenga el informe de información de atributos configurado en la aplicación
Hay dos nodos infantiles a continuación
Prefijo: configurar prefijo para atributos
Propiedades: representa los nombres y valores de cada propiedad
(4) /Env se utiliza para obtener el informe de atributo de variable de entorno del contexto de la aplicación, como variables de entorno, atributos JVM, información de configuración de la aplicación, parámetros en la línea de comando, etc.
1) Server.ports representa el número de puerto configurado por la aplicación
2) SystemProperties obtiene JVM y otra información para la aplicación
(5) /Informe de mapeo de controlador SpringMVC de mapas,
{"{[/error]}": {"bean": "requestMappingHandlermapping", "Método": "Public org.springframework.http.ResponseEntity <java.util.map <java.lang.string, java.lang.object >> org.springframework.boot.autoconfigure.web.basicerrorController.error (javax.servlet.http.httpservletrequest) "}}1) /Error representa la ruta de mapeo de SpringMVC
2) /Bean representa la clase utilizada para el mapeo del mapeador del procesador
3) /El método representa el método en la clase de mapeo
(6) La información se utiliza para obtener información de configuración personalizada configurada en Application.yml
5. Configuración de métricas
El contenido del informe proporcionado por las métricas se cambia dinámicamente y proporciona información de instantáneas; tales como el uso de la memoria, el recuento de solicitudes HTTP, las estadísticas de indicadores de recursos externos, etc.
(1) /Métricos Devuelve varias métricas importantes aplicadas actualmente. Hay los siguientes contenidos
1) Información del sistema: procesadores --- Número de procesadores
instancia.uptime ------ Tiempo de ejecución
Systemload.verage -promedio de carga del sistema, etc.
2), hombres.*: Información resumida de memoria del sistema
3), montón.*: Uso de la memoria del montón
4), no heap.*: Uso de memoria sin lavado
5) hilos.*: Uso de hilos
6) Classs.*: Situación de carga y descarga de clase
7), GC.*: Detalles del recolector de basura
8), httpsession.*: El estado de pintura de contenedores como Tomcat
9), Magage.*: Devuelve un valor de mapeo, como el tiempo de retraso, etc.
10), conter.*: Usado como contador, se registran la cantidad de aumento y disminución
(2) /Salud: varios indicadores de salud
A continuación se muestra información sobre la memoria.
"diskspace": {"status": "up", "total": 21475880960, "gratis": 8916258816, "umbral": 10485760}(3) /Volcado: se utiliza para exponer la información del hilo en el programa
ThreadName: el nombre del hilo expuesto
Threadid -ID de subproceso expuesto, etc.
(4) /Trace: se usa para rastrear la información básica de HTTP
6. Configuración de la clase de control de operación
(1) /ShutDowm se utiliza para cerrar la operación remota de la aplicación, por solicitud de publicación
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.