详解SpringBoot2.X应用程序监控Actuator的配置与使用

前言

我们都知道springboot包含了很多实用性的功能starter组件,本文主要介绍的这个组件是actuator。actuator主要是对springboot应用程序进行监控和管理,简单的说就是通过restful api接口请求来进行监管、审计、健康和数据采集你的应用程序运行的情况,通过本文将带你详细了解actuator。

actuator的使用

我们如何去使用actuator这个功能呢,很简单,我们只需要在pom.xml文件中引入依赖,如下:

详解SpringBoot2.X应用程序监控Actuator的配置与使用_第1张图片

引入完过后,启动项目,并访问http://localhost:8081/actuator,访问结果如下:

详解SpringBoot2.X应用程序监控Actuator的配置与使用_第2张图片

本文来源于公众号:【Java学习提升】 专注于Java领域技术分享,Java知识体系学习、分享面试经验,让我们结伴而行,共同成长!

通过结果我们可以看到只显示了/health和/info这两个端点,这是因为为了程序的安全性考虑,默认只开启了这两个端口,如果我们想显示所有的端口,我们只需下面的配置即可:

详解SpringBoot2.X应用程序监控Actuator的配置与使用_第3张图片

配置开放所有的端点

如果我们想开放指定的端口,配置如下:

详解SpringBoot2.X应用程序监控Actuator的配置与使用_第4张图片

配置开放指定的端点

由上图可知,我们可以通过这些端点能获取应用程序在运行过程中的一些监控信息,当然也可以通过端点来改变系统的状态,下面表格列举了常用的端点名称及说明:

详解SpringBoot2.X应用程序监控Actuator的配置与使用_第5张图片

常用的端点名称及描述

端点的安全性

对于正在生产环境上运行的程序来说端点是比较敏感的,我们并不希望别人恶意的去访问端点,特别是

/shutdown这样的端点。如果是开启的话我们可以通过management.endpoint.shutdown.enabled = false来关闭此端点,这样我们就保证了EndpointRequest.toAnyEndpoint()的安全性。

自定义端口

springboot从2.X开始,actuator就已经指出CRUD模型,我们可以通过下面的策略来自定义:

详解SpringBoot2.X应用程序监控Actuator的配置与使用_第6张图片

自定义策略

通过在某个端点类上面添加上面任意一个注解来表妹这是一个端点类。在类的方法上我们使用注解@ReadOperation、@WriteOperation或者@DeleteOperation(要保证端点的id是唯一的),这样做会分别映射到Http中的 GET、POST以及DELET(对http来说)。下面我们来举例说明自定义端点,代码如下:

详解SpringBoot2.X应用程序监控Actuator的配置与使用_第7张图片

如何自定义健康检查指标

pom.xml文件配置如下:

详解SpringBoot2.X应用程序监控Actuator的配置与使用_第8张图片

java代码如下:

详解SpringBoot2.X应用程序监控Actuator的配置与使用_第9张图片

然后我们启动程序,访问http://localhost:8081/actuator/health,结果如下两个状态:

详解SpringBoot2.X应用程序监控Actuator的配置与使用_第10张图片

自定义健康检查正常

详解SpringBoot2.X应用程序监控Actuator的配置与使用_第11张图片

自定义健康检查失败

总结

通过本文我们可以发现通过actuator组件来帮助我们获取在生产环境上运行的应用程序的一些监控指标,该组件是用于生产环境上面的组件,大家千万别小看它。

原创声明:本文为【Java学习提升】原创博文,转载请注明出处。

本文来源于公众号:【Java学习提升】 专注于Java领域技术分享,Java知识体系学习、分享面试经验,让我们结伴而行,共同成

你可能感兴趣的:(详解SpringBoot2.X应用程序监控Actuator的配置与使用)