spring-boot-starter-actuator

springboot框架,自带了actuator监控,在pom中引入jar包即可,如下

1、引入jar

<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

在2.0版本之后改动很大,我这里是用的2.0.2

2、启动项目后即可访问
http://localhost:8081/actuator/health
http://localhost:8081/actuator/info

如果想让url个性化一点,在 application.propertie 配置文件中 加入

management.endpoints.web.base-path=/jiankong

那么就可以访问:http://localhost:8081/webproject/jiankong/health

3、actuator 提供了很多api(称为:节点),默认只开放了 health、info两个节点
如果需要公开所有 则在配置文件中继续加入

management.endpoints.web.exposure.include=*

其中 health方法 是不显示具体的内容的,如需要则继续加入配置

management.endpoint.health.show-details=always

具体方法和返回内容 可以参考API

  • 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

4、常用的查看具体指标的方法 /metrics/{name}
http://localhost:8081/webproject/actuator/metrics/http.server.requests
http://localhost:8081/webproject/actuator/metrics/jvm.memory.used
http://localhost:8081/webproject/actuator/metrics/jvm.threads.peak等等,具体name 可以通过/metrics 获得,其中 http.server.requests 是对所有请求的url的监控,次数,时间 等。
那么如果我们需要针对个别重点controller分别监控呢~~

5、分别监控,需要在controller上做些手脚
在RequestMapping 上面 加上注解 @Timed(value = “list.base”, longTask = true)
value可以就用mapping 这样。
这个@Timed 注解 是 micrometer-core-1.0.3-sources.jar的 springboot监控本身用到的。
当访问过这个controller之后 就可以调用~ 注意还没有收到过请求的话是请求不到这个list.base的
http://localhost:8081/webproject/actuator/metrics/list.base

{
“availableTags”:[
{
“tag”:“exception”,
“values”:[“None”]
},
{
“tag”:“method”,
“values”:[“POST”]
},
{
“tag”:“uri”,
“values”:["/ListDataBase",“root”]
},
{
“tag”:“status”,
“values”:[“200”]
}
],
“measurements”:[
{
“statistic”:“ACTIVE_TASKS”,
“value”:0
},
{
“statistic”:“DURATION”,
“value”:0
},
{
“statistic”:“COUNT”,
“value”:1
},
{
“statistic”:“TOTAL_TIME”,
“value”:0.306317164
},
{
“statistic”:“MAX”,
“value”:0.306317164
}
],
“name”:“list.base”
}

如果有兴趣研究更多。。。官网api
https://docs.spring.io/spring-boot/docs/current-SNAPSHOT/reference/htmlsingle/#production-ready-endpoints

猜你喜欢

转载自blog.csdn.net/weixin_45729934/article/details/109558339
今日推荐