Actuator远程关闭服务“黑科技”


之前章节介绍了Actuator对服务系统监控相关的知识点,了解到了开放指定监控节点查看详细健康信息,我们本章来介绍下Actuator的黑科技,远程关闭应用服务。

本章目标

通过配置Actuator完成服务远程关闭

构建项目

本章同样使用之前章节的源码基础上修改,访问源码汇总下载SpringBoot2.x/hengboy-spring-boot-actuator章节源码,通过idea工具进行打开。

配置远程关闭服务

由于Autuator内置了远程关闭服务功能,所以我们可以很简单的开启这一项“黑科技”,修改application.yml配置文件,如下所示:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
# 管理节点配置
management:
endpoints:
web:
# actuator的前缀地址
base-path: /
# 开放指定节点
exposure:
include:
- health
- info
- mappings
- env
- shutdown
# 开启远程关闭服务
shutdown:
enabled: true

通过management.endpoint.shutdown.enabled参数来进行设置,默认为false,默认不会开启远程关闭服务功能,然后把shutdown节点进行开放,否则无法发送远程关机请求。

注意:在/springboot-actuator-exposure-include.html文章内我们说到了Actuator内置的监控节点列表,当我们访问shutdown节点时必须发送POST类型请求,否则无法执行关机操作。

测试

打开终端或者postman工具进行测试关机请求,如下是终端命令测试结果:

1
curl -X POST http://localhost:8080/shutdown

通过curl命令发送POST请求类型到http://localhost:8080/shutdown,发送完成后会响应一段信息:

1
{"message":"Shutting down, bye..."}

我们去查看对应的服务实例运行状态时可以发现已经停止了。

总结

本章配置比较简单,通过修改两个地方开启了远程关闭服务的操作。

不过建议没事不要打开,打开后也不要对公网开放,黑科技都是比较危险的。

作者

恒宇少年 - 于起宇

发布于

2018-10-24

更新于

2022-10-26

许可协议

评论