当我们的开发工作进入尾声,部署上线之后,对于一个程序而言,可能才刚刚开始,对程序的运行情况的监控要伴随着整个生命周期。
如果这个工作由程序员自己来开发,也未尝不可,但本着不重复制造轮子的思想,我们尽量考虑使用现成的工具——actuator.
它能够自动为Spring Boot 构建的应用提供一系列用于监控的端点。而且仅需少量配置,便可使用。
首先引入依赖:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
这个时候可以发现,尽管没有自己写任何url映射方法,系统自己就产生了很多mapping:
有些端点可能是比较敏感,默认关闭的,可以在配置文件中打开。在不同的spring boot版本中打开的配置不同,可以在springboot的产品文档中查看。
通过这些端点,我们可以实时获取应用的各项监控指标,比如访间/health 端点。我们可以获得应用是否正常的一些信息。
根据端点的作用, 可以将原生端点分为以下三大类。
• 应用配置类:
获取应用程序中加载的应用配置、环境变量、自动化配置报告等与Spring Boot应用密切相关的配置类信息。
• 度量指标类:
获取应用程序运行过程中用于监控的度量指标, 比如内存信息、线程池信息、HTTP请求统计等。
• 操作控制类:
提供了对应用的关闭等操作类功能。
spring boot的文档中有详细的介绍: