Spring Boot & Actuator 监控
Spring Boot ctuator
SpringBoot自带监控功能Actuator,通过 restful api 请求来监管、审计、收集应用的运行情况,可以帮助实现对程序内部运行情况监控,比如监控状况、Bean加载情况、环境变量、日志信息、线程信息等。
简称: 健康监控? 啊哈哈【自己瞎编的】
先创建一个新的SpringBoot项目,然后:
dap 整起来:
org.springframework.boot
spring-boot-starter-actuator
然后直接跑起来【打开http://localhost:8081/actuator/】 注意: 我的是8081端口 当然你可以自己更换
可以看到 控制台爆出了一个端点,访问即可看到:
既然没给我格式化...服了
格式化后:
{ "_links": { "self": { "href": "http://localhost:8081/actuator", "templated": false }, "health": { "href": "http://localhost:8081/actuator/health", "templated": false }, "health-path": { "href": "http://localhost:8081/actuator/health/{*path}", "templated": true } } }
health端点
尝试访问这个 health 【http://localhost:8081/actuator/health】 ,这个是健康检查,我们访问可以看到:
就一个status ,我们可以在配置中打开查看全部详情:
再次访问:
state的值:
UP: 正常
DOWN:遇到问题,不正常
OUT_OF_SERVICE : 资源未使用,不应该去使用
UNKNOWN:不知道【未知】
INFO端点
一般会给出的,但我没给出,我们在配置文件开启所有端点 也可以开启指定端点:
我现在是激活了所有 可以看到info就出来了:
{ "_links": { "self": { "href": "http://localhost:8081/actuator", "templated": false }, "beans": { "href": "http://localhost:8081/actuator/beans", "templated": false }, "caches-cache": { "href": "http://localhost:8081/actuator/caches/{cache}", "templated": true }, "caches": { "href": "http://localhost:8081/actuator/caches", "templated": false }, "health": { "href": "http://localhost:8081/actuator/health", "templated": false }, "health-path": { "href": "http://localhost:8081/actuator/health/{*path}", "templated": true }, "info": { "href": "http://localhost:8081/actuator/info", "templated": false }, "conditions": { "href": "http://localhost:8081/actuator/conditions", "templated": false }, "configprops": { "href": "http://localhost:8081/actuator/configprops", "templated": false }, "configprops-prefix": { "href": "http://localhost:8081/actuator/configprops/{prefix}", "templated": true }, "env": { "href": "http://localhost:8081/actuator/env", "templated": false }, "env-toMatch": { "href": "http://localhost:8081/actuator/env/{toMatch}", "templated": true }, "loggers": { "href": "http://localhost:8081/actuator/loggers", "templated": false }, "loggers-name": { "href": "http://localhost:8081/actuator/loggers/{name}", "templated": true }, "heapdump": { "href": "http://localhost:8081/actuator/heapdump", "templated": false }, "threaddump": { "href": "http://localhost:8081/actuator/threaddump", "templated": false }, "metrics-requiredMetricName": { "href": "http://localhost:8081/actuator/metrics/{requiredMetricName}", "templated": true }, "metrics": { "href": "http://localhost:8081/actuator/metrics", "templated": false }, "scheduledtasks": { "href": "http://localhost:8081/actuator/scheduledtasks", "templated": false }, "mappings": { "href": "http://localhost:8081/actuator/mappings", "templated": false } } }
进行访问info:
可以看到啥也没有,info意思是描述应用的意思,我们可以在配置文件中直接写入:
再次访问:
这里没做编码转换...所以服了。。。反之就是现实上面的内容吧。