spring boot actuator 简单使用
spring boot admin + spring boot actuator + erueka 微服务监控
简单的spring boot actuator 使用
POM
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> <version>1.5.6.RELEASE</version> </dependency>
application.yml 这里开启了SpringSecurity保护,一般应用上,我们使用form作为用户登录,如果需要监控程序,那么我们会需要一个与应用业务无关的账户.可以设置一个账户角色为admin,随便什么的,可以使用httpbasic验证
#开启shutdown的安全验证
management:
security:
enabled: true
roles: USER
# port: 8060
# address: 127.0.0.1
health:
mail:
enabled: false
#允许关闭请求
endpoints:
shutdown:
enabled: false
httpbasic验证,密码必须是经过basic64编码,这是编码,不是加密
带着请求头去请求,返回一大串数据
{ "mem": 1289755, "mem.free": 954940, "processors": 4, "instance.uptime": 268073, "uptime": 286927, "systemload.average": -1, "heap.committed": 1188352, "heap.init": 391168, "heap.used": 233411, "heap": 5563392, "nonheap.committed": 103808, "nonheap.init": 2496, "nonheap.used": 101404, "nonheap": 0, "threads.peak": 64, "threads.daemon": 45, "threads.totalStarted": 151, "threads": 49, "classes": 13708, "classes.loaded": 13750, "classes.unloaded": 42, "gc.ps_scavenge.count": 17, "gc.ps_scavenge.time": 331, "gc.ps_marksweep.count": 3, "gc.ps_marksweep.time": 371, "counter.servo.eurekaclient.transport.request": 0, "gauge.servo.eurekaclient.registration.lastheartbeatsec_00015": 0, "gauge.servo.eurekaclient.registration.lastheartbeatsec_00030": 0, "normalized.servo.rest.totaltime": 1.6546110833333332, "normalized.servo.rest.count": 0.016666666666666666, "gauge.servo.rest.min": 99.276665, "gauge.servo.rest.max": 99.276665, "counter.servo.timeouts": 0, "counter.servo.rejectedexecutions": 0, "counter.servo.throwables": 0, "gauge.servo.threadpoolused": 0, "gauge.servo.eurekaclient.registry.lastupdatesec_00240": 0, "normalized.servo.eurekaclient.transport.latency.totaltime": 0, "normalized.servo.eurekaclient.transport.latency.count": 0, "gauge.servo.eurekaclient.transport.latency.min": 0, "gauge.servo.eurekaclient.transport.latency.max": 0, "gauge.servo.eurekaclient.registration.lastheartbeatsec_00480": 0, "gauge.servo.eurekaclient.transport.currentsessionduration": 261187, "gauge.servo.response.index": 158, "gauge.servo.eurekaclient.registry.lastupdatesec_00060": 0, "counter.servo.discoveryclient_reconcilehashcodemismatch": 0, "normalized.servo.discoveryclient_fetchregistry.totaltime": 0.42151759999999994, "normalized.servo.discoveryclient_fetchregistry.count": 0.03333333333333333, "gauge.servo.discoveryclient_fetchregistry.min": 9.916665, "gauge.servo.discoveryclient_fetchregistry.max": 15.374391, "counter.servo.discoveryclient_reregister": 0, "gauge.servo.eurekaclient.registration.lastsuccessfulheartbeattimeperiod": 471, "gauge.servo.eurekaclient.registry.lastsuccessfulregistryfetchtimeperiod": 20672, "gauge.servo.eurekaclient.registry.localregistrysize": 1, "gauge.servo.response.loginsuccess": 102, "gauge.servo.eurekaclient.resolver.lastloadtimestamp": 0, "gauge.servo.eurekaclient.resolver.endpointssize": 1, "counter.servo.eurekaclient.transport.connectionerrors": 0, "gauge.servo.response.dump": 387, "gauge.servo.response.mappings": 25, "gauge.servo.eurekaclient.registration.lastheartbeatsec_00120": 0, "gauge.servo.response.images.kaptcha.jpg": 22, "gauge.servo.response.invoice.invoiceinfo.tolist": 146, "gauge.servo.response.star-star": 24, "gauge.servo.eurekaclient.registration.lastheartbeatsec_00060": 0, "gauge.servo.eurekaclient.registration.lastheartbeatsec_00240": 0, "gauge.servo.response.root": 365, "gauge.servo.response.health": 1037, "gauge.servo.response.getloginerror": 25, "gauge.servo.eurekaclient.registry.lastupdatesec_00480": 0, "counter.servo.discoveryclient-httpclient_reuse": 27, "counter.servo.discoveryclient-httpclient_createnew": 9, "counter.servo.discoveryclient-httpclient_request": 36, "counter.servo.discoveryclient-httpclient_release": 36, "counter.servo.discoveryclient-httpclient_delete": 8, "normalized.servo.discoveryclient-httpclient_requestconnectiontimer.totaltime": 0.0035334999999999997, "normalized.servo.discoveryclient-httpclient_requestconnectiontimer.count": 0.13333333333333333, "gauge.servo.discoveryclient-httpclient_requestconnectiontimer.min": 0.016037, "gauge.servo.discoveryclient-httpclient_requestconnectiontimer.max": 0.050036, "normalized.servo.discoveryclient-httpclient_createconnectiontimer.totaltime": 0.0004543833333333333, "normalized.servo.discoveryclient-httpclient_createconnectiontimer.count": 0.03333333333333333, "gauge.servo.discoveryclient-httpclient_createconnectiontimer.min": 0.013470999999999999, "gauge.servo.discoveryclient-httpclient_createconnectiontimer.max": 0.013791999999999999, "gauge.servo.connectioncount": 1, "gauge.servo.eurekaclient.registry.lastupdatesec_00015": 1, "gauge.servo.eurekaclient.transport.quarantinesize": 0, "gauge.servo.response.unmapped": 270, "gauge.servo.response.invoice.invoiceinfo.list": 335, "gauge.servo.eurekaclient.registry.lastupdatesec_00120": 0, "normalized.servo.eureka-connection-cleaner-time.totaltime": 0.00047041666666666667, "normalized.servo.eureka-connection-cleaner-time.count": 0.03333333333333333, "gauge.servo.eureka-connection-cleaner-time.min": 0.012829, "gauge.servo.eureka-connection-cleaner-time.max": 0.015396, "counter.servo.eureka-connection-cleaner-failure": 0, "gauge.servo.eurekaclient.registry.lastupdatesec_00030": 0, "httpsessions.max": -1, "httpsessions.active": 0 }
HTTP方法 | 路径 | 描述 | 鉴权 |
---|---|---|---|
GET | /autoconfig | 查看自动配置的使用情况 | true |
GET | /configprops | 查看配置属性,包括默认配置 | true |
GET | /beans | 查看bean及其关系列表 | true |
GET | /dump | 打印线程栈 | true |
GET | /env | 查看所有环境变量 | true |
GET | /env/{name} | 查看具体变量值 | true |
GET | /health | 查看应用健康指标 | false |
GET | /info | 查看应用信息 | false |
GET | /mappings | 查看所有url映射 | true |
GET | /metrics | 查看应用基本指标 | true |
GET | /metrics/{name} | 查看具体指标 | true |
POST | /shutdown | 关闭应用 | true |
GET | /trace | 查看基本追踪信息 | true |