Tabla de contenido
Dos, introducción a la dependencia
Tres, introducción del actuador
1. Introducción a la versión
Este proyecto utiliza la versión Springboot 2.1.9
Dos, introducción a la dependencia
Introducir dependencias web y de actuador en el proyecto.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Tres, introducción del actuador
El módulo actuador puede obtener indicadores relevantes de toda la aplicación de microservicio e implementar algunos controles de operación de rutina. ; Podemos dividir estos puntos finales en tres categorías: configuración de la aplicación, métrica y control de operaciones.
Categoría de configuración de la aplicación: configuración de la aplicación cargada en el programa, variables de entorno, informe de configuración automática e información de configuración relacionada con la aplicación Springboot;
/ beans endpoint: se utiliza para obtener todos los beans creados en el contexto.
/ configprops endpoint: se utiliza para obtener el informe de información de propiedad configurado en la aplicación.
/ env endpoint: se utiliza para obtener todos los informes de propiedades del entorno disponibles de la aplicación.
/ mappings endpoint: se utiliza para devolver todos los informes de mapeo del controlador SpringMVC.
/ info endpoint: se utiliza para devolver información personalizada.
Categoría de métricas: obtenga las métricas utilizadas para el monitoreo en la aplicación, como información de la memoria, información del grupo de subprocesos, etc.
/ metrics endpoint: se utiliza para devolver varias métricas importantes de la aplicación actual.
{"names":["jvm.memory.max","jvm.threads.states","jvm.gc.memory.promoted","jvm.memory.used","jvm.gc.max.data.size","jvm.gc.pause","jvm.memory.committed","system.cpu.count","logback.events","tomcat.global.sent","jvm.buffer.memory.used","tomcat.sessions.created","jvm.threads.daemon","system.cpu.usage","jvm.gc.memory.allocated","tomcat.global.request.max","tomcat.global.request","tomcat.sessions.expired","jvm.threads.live","jvm.threads.peak","tomcat.global.received","process.uptime","tomcat.sessions.rejected","process.cpu.usage","tomcat.threads.config.max","jvm.classes.loaded","jvm.classes.unloaded","tomcat.global.error","tomcat.sessions.active.current","tomcat.sessions.alive.max","jvm.gc.live.data.size","tomcat.threads.current","jvm.buffer.count","jvm.buffer.total.capacity","tomcat.sessions.active.max","tomcat.threads.busy","process.start.time"]}
/ endpoint de salud: se utiliza para obtener varios indicadores de salud de la aplicación.
{"status":"UP"}
/ threaddump endpoint: se utiliza para exponer la información del hilo en el programa en ejecución.
/ httptrace endpoint: se utiliza para devolver información básica de seguimiento HTTP.
Control de operación: cierre la aplicación y otras funciones de operación. '
/ shutdown Endpoint: cierra la aplicación.
La siguiente es la información de configuración del punto final, puede consultarla con más detalle: https://docs.spring.io/spring-boot/docs/current/reference/html/production-ready-endpoints.html
##管理端点HTTP端口
management.server.port= 8090
#management.endpoints.enabled-by-default = true
##暴露所有端点
management.endpoints.web.exposure.include = *
##是否启用configprops端点。
#management.endpoint.configprops.enabled=true
##是否启用beans端点。
#management.endpoint.beans.enabled=true
##可以缓存响应的最长时间。
#management.endpoint.beans.cache.time-to-live= 0ms
##是否启用beans端点。
#management.endpoint.health.enabled=true
##是否启用info端点。
#management.endpoint.info.enabled=true
##应包含的端点ID或所有的“*”
#management.endpoints.jmx.exposure.include=*
##应排除的端点ID或所有的'*'。
#management.endpoints.jmx.exposure.exclude = *
##是否启用env端点。
#management.endpoint.env.enabled=true
##是否启用mappings端点。
#management.endpoint.mappings.enabled=true
##是否启用metrics端点。
#management.endpoint.metrics.enabled=true
##是否启用threaddump端点
#management.endpoint.threaddump.enabled=true
##是否启用httptrace端点。
#management.endpoint.httptrace.enabled=true
Podemos obtener la conexión a cada punto final a través de http: // localhost: 8090 / actuator de la siguiente manera:
{"_links":{"self":{"href":"http://localhost:8090/actuator","templated":false},"auditevents":{"href":"http://localhost:8090/actuator/auditevents","templated":false},"beans":{"href":"http://localhost:8090/actuator/beans","templated":false},"caches-cache":{"href":"http://localhost:8090/actuator/caches/{cache}","templated":true},"caches":{"href":"http://localhost:8090/actuator/caches","templated":false},"health":{"href":"http://localhost:8090/actuator/health","templated":false},"health-component":{"href":"http://localhost:8090/actuator/health/{component}","templated":true},"health-component-instance":{"href":"http://localhost:8090/actuator/health/{component}/{instance}","templated":true},"conditions":{"href":"http://localhost:8090/actuator/conditions","templated":false},"configprops":{"href":"http://localhost:8090/actuator/configprops","templated":false},"env":{"href":"http://localhost:8090/actuator/env","templated":false},"env-toMatch":{"href":"http://localhost:8090/actuator/env/{toMatch}","templated":true},"info":{"href":"http://localhost:8090/actuator/info","templated":false},"loggers":{"href":"http://localhost:8090/actuator/loggers","templated":false},"loggers-name":{"href":"http://localhost:8090/actuator/loggers/{name}","templated":true},"heapdump":{"href":"http://localhost:8090/actuator/heapdump","templated":false},"threaddump":{"href":"http://localhost:8090/actuator/threaddump","templated":false},"metrics":{"href":"http://localhost:8090/actuator/metrics","templated":false},"metrics-requiredMetricName":{"href":"http://localhost:8090/actuator/metrics/{requiredMetricName}","templated":true},"scheduledtasks":{"href":"http://localhost:8090/actuator/scheduledtasks","templated":false},"httptrace":{"href":"http://localhost:8090/actuator/httptrace","templated":false},"mappings":{"href":"http://localhost:8090/actuator/mappings","templated":false}}}