之前章节介绍了Actuator
对服务系统监控相关的知识点,了解到了开放指定监控节点
、查看详细健康信息
,我们本章来介绍下Actuator
的黑科技,远程关闭应用服务。
本章目标
通过配置Actuator
完成服务远程关闭
。
构建项目
本章同样使用之前章节的源码基础上修改,访问源码汇总下载SpringBoot2.x/hengboy-spring-boot-actuator
章节源码,通过idea
工具进行打开。
配置远程关闭服务
由于Autuator
内置了远程关闭服务
功能,所以我们可以很简单的开启这一项“黑科技”
,修改application.yml
配置文件,如下所示:
# 管理节点配置
management:
endpoints:
web:
# actuator的前缀地址
base-path: /
# 开放指定节点
exposure:
include:
- health
- info
- mappings
- env
- shutdown
# 开启远程关闭服务
shutdown:
enabled: true
通过management.endpoint.shutdown.enabled
参数来进行设置,默认为false
,默认不会开启远程关闭服务
功能,然后把shutdown
节点进行开放,否则无法发送远程关机
请求。
注意:在{% post_path springboot-actuator-exposure-include 你了解Actuator开放指定监控节点吗? %}文章内我们说到了Actuator
内置的监控节点列表
,当我们访问shutdown
节点时必须发送POST
类型请求,否则无法执行关机操作。
测试
打开终端
或者postman
工具进行测试关机请求,如下是终端
命令测试结果:
curl -X POST http://localhost:8080/shutdown
通过curl
命令发送POST
请求类型到http://localhost:8080/shutdown
,发送完成后会响应一段信息:
{"message":"Shutting down, bye..."}
我们去查看对应的服务实例运行状态
时可以发现已经停止了。
总结
本章配置比较简单,通过修改两个地方开启了远程关闭服务
的操作。
不过建议没事不要打开,打开后也不要对公网开放,
黑科技
都是比较危险的。