跟我学春云(芬奇利版)-03 -监控:强大的启动驱动器

  

第2节(跟我学春云(芬奇利版)-02 -构建分布式应用)说过:

  
  

应用没有监控,没有画板,一切指标都没有。在这个增长黑客逐渐成为主流的时代,不弄个仪表板把系统压力,每秒,CPU、内存,日活啥的可视化,你好意思出来混吗……

     

本节我们来解决该问题。

  

弹簧引导驱动器是弹簧引导官方提供的监控组件。只需为项目添加以下依赖,即可就整合弹簧引导驱动器。

  
 <代码> & lt; dependency>
  & lt; groupId> org.springframework.boot
  & lt; artifactId> spring-boot-starter-actuator
  & lt;/dependency>  
  

监控端点

  

执行机构为我们提供了很多监控端点,如下表所示。

           端点(Spring启动2. x)   描述   HTTP方法   是否敏感   端点(Spring启动1. x)               条件   显示自动配置的信息   得到   是   autoconfig         豆子   显示应用程序上下文所有的Spring bean   得到   是   豆子         configprops   显示所有@ConfigurationProperties的配置属性列表   得到   是   configprops         转储   显示线程活动的快照   得到   是   转储         env   显示环境变量,包括系统环境变量以及应用环境变量   得到   是   env         健康   显示应用程序的健康指标,值由HealthIndicator的实现类提供,结果有上升,下降,OUT_OF_SERVICE,未知;如需查看详情,需配置:<代码> management.endpoint.health.show-details> 信息。* 属性自定义信息端点公开的数据   得到   否   信息         映射   显示所有的URL路径   得到   是   映射         指标   显示应用的度量标准信息   得到   是   指标            

表弹簧引导致动器常用端点及描述

  

只需访问<代码> http://{ip}:{港口}/致动器/{端点}>   

测试1:/健康端点

  

为前文编写的<代码> microservice-simple-provider-user 服务整合致动器后,我们来做一些测试:

  

访问& lt; http://localhost: 8000/致动器/health>,即可获得如下结果:

  
 <代码>{“状态”:“向上”} 
  

测试2:/健康端点展示详情

  

为<代码>/健康>   

 <代码>管理:
  端点:
  健康:
  #是否展示健康检查详情
  显示详细:总是 
  

再次访问& lt; http://localhost: 8000/致动器/health>,即可获得如下结果:

  
 <代码> {
  “状态”:“起来”,
  "详细信息":{
  "数据库":{
  “状态”:“起来”,
  "详细信息":{
  “数据库”:“氢气”,
  “你好”:1
  }
  },
  "更多":{
  “状态”:“起来”,
  "详细信息":{
  “总”:250790436864,
  “免费”:43443773440,
  “阈值”:10485760
  }
  }
  }
  } 
  

从中可以看的到,<代码>/健康>   

测试3:暴露敏感路径

  

默认情况下,敏感路径并不暴露。如需暴露(以指标为例),需添加配置:

  
 <代码>管理:
  端点:
  网络:
  曝光:
  #暴露指标端点,如需暴露多个,用,分隔;如需暴露所有端点,用‘*’
  包括:指标 
  

访问:& lt; http://localhost: 8000/致动器/metrics>,可获得类似如下的结果:

  
 <代码> {
  “名称”:[" jvm.memory。马克斯”、“http.server。”、“jdbc.connections请求。活跃”、“process.files。马克斯”、“jvm.gc.memory。提升”、“tomcat.cache。”、“system.load.average。1米”、“tomcat.cache。访问”、“jvm.memory。”、“jvm.gc.max.data使用。”、“jdbc.connections大小。马克斯”、“jdbc.connections。分钟”、“jvm.gc。暂停”、“jvm.memory.committed”、“system.cpu。”、“logback计数。事件”、“tomcat.global。”、“jvm.buffer.memory发送。”、“tomcat.sessions使用。”、“jvm.threads创建。守护进程”、“system.cpu。使用”、“jvm.gc.memory。”、“tomcat.global.request分配。马克斯”、“hikaricp.connections。”、“hikaricp.connections闲置。等待”、“tomcat.global。”、“tomcat.sessions请求。”、“hikaricp到期。连接”、“jvm.threads。生活”、“jvm.threads。峰”、“tomcat.global。”、“hikaricp.connections接收。活跃”、“hikaricp.connections。创建”、“过程。正常运行时间”、“tomcat.sessions。拒绝”、“process.cpu。使用”、“tomcat.threads.config。马克斯”、“jvm.classes。”、“hikaricp.connections加载。马克斯”、“hikaricp.connections。分钟”、“jvm.classes。卸载”、“tomcat.global。”、“tomcat.sessions.active错误。当前”、“tomcat.sessions.alive。马克斯”、“jvm.gc.live.data。”、“tomcat.servlet.request大小。马克斯”、“hikaricp.connections。使用”、“tomcat.threads。当前”、“tomcat.servlet。”、“hikaricp.connections请求。超时”、“process.files。jvm.buffer开放”。””、“jvm.buffer.total计数。”、“tomcat.sessions.active能力。马克斯”、“hikaricp.connections。收购”、“tomcat.threads。忙”、“process.start。时间”、“tomcat.servlet.error”)
  }

跟我学春云(芬奇利版)-03 -监控:强大的启动驱动器