线上运行一个小程序,使用
Spring boot
提供数据服务。
收到了支付宝小程序违规通知——“数据不能加载”,也就是服务没响应了(原因是服务器重启,自动启动了docker
的一个服务,端口冲突),为了及时发现服务不可用需要加一个停机的监控报警,然后及时重启Spring boot
服务。
本监控报警方案使用第三方项目进行集成,可以参考其代码实现推送钉钉消息功能。
步骤
- 克隆项目到本地。
git clone https://github.com/chenjazz/DingTalkMachineWithSpringBoot.git
- 进入项目目录,安装到本地maven库。
mvn clean install --settings C:\Users\guoxiuzhi\.m2\settings_ali.xml
[INFO] Installing C:\Users\guoxiuzhi\DingTalkMachineWithSpringBoot\pom.xml to D:\dev\mvnRespo\com\github\chenjazz\spring-boot-dingtalk-machine\1.0.0\spring-boot-dingtalk-machine-1.0.0.pom
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 02:31 min
[INFO] Finished at: 2020-05-24T22:29:05+08:00
[INFO] ------------------------------------------------------------------------
- 在SpringBoot项目Pom中加入本项目依赖
<dependency>
<groupId>com.github.chenjazz</groupId>
<artifactId>spring-boot-dingtalk-machine</artifactId>
<version>1.0.0</version>
</dependency>
- 在钉钉群中添加自定义机器人,并取得webhook url,参考文档:https://help.aliyun.com/knowledge_detail/106247.html
https://ding-doc.dingtalk.com/doc#/serverapi2/krgddi - 启动你的项目项目时指定参数
命令格式:
nohup java -jar your-project-1.jar --ding-url={自定义机器人webhook url} --ding-app-name={你的应用程序名字} &
我的启动命令:
nohup java -jar vue-springboot-0.0.1-SNAPSHOT-exec.jar --ding-url=https://oapi.dingtalk.com/robot/send?access_token=e7edf3ee05b012f56c2d50a0150e46c07e87773cc1042ffe9c1556f8a82c3280 --ding-app-name=小程序 &
-
程序启动,关闭(kill的参数不为-9),成功,失败后会自动通知,效果如下