spring boot actuator搭配jenkins实现发布健康检查和报警

spring boot actuator搭配jenkins实现发布健康检查和报警

背景

当前项目使用jenkins发布,服务重启使用systemctl restart xxx.service,但是具体服务有没有起来,jenkins并没有感知,需要人工介入观察

目标

实现jenkins自动检查服务启动状态,如果失败并报警

方案

1、使用spring boot actuator实现服务状态观察,提供http接口方式

2、curl请求健康检查接口,解析返回结果感知服务状态

3、如果失败,通过钉钉报警

实施

服务集成spring boot actuator

maven坐标

<dependency>    
	<groupId>org.springframework.boot</groupId>    
	<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

如果需要显示components详情,需要在配置文件加上配置

健康检查地址:http://ip:port/${server.servlet.context-path}/actuator/health

比如:manager-api服务,ip:127.0.0.1,端口:8086,context-path:/manager,那么健康检查地址就是http://127.0.0.1:8086/manager/actuator/health

可以curl访问下,响应如下

如果没有开启show-details

响应比较简单

status = UP表示服务启动成功

jenkins检查脚本

最后更新于