强烈推荐一个大神的人工智能的教程:http://www.captainai.net/zhanghan
【前言】
众所周知,系统预警是一件十分重要的事情,系统一旦出现宕机很有可能许多真金白银就进去了;做好系统的监控预警是一件十分有必要的事情;接下来分享一下SpringBoot自带的健康检查与监控的配置。
【配置】
一、说明
1、项目类型:SpringBoot项目;
2、SpringBoot的版本 2.0之前 与 2.0之后 分别都是如何配置;
3、我们项目中是如何配置基础系统监控;
二、Pom中添加监控依赖
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-actuator</artifactId> </dependency>
三、SpringBoot 2.0之前配置
1、在配置文件中添加
#****************************health*************************** management.security.enabled=false
2、启动后访问效果图
四、SpringBoot 2.0之后配置
1、在配置文件中添加如下配置:
#****************************health 健康检查*************************** #修改访问路径 2.0之前默认是/ 2.0默认是 /actuator 可以通过这个属性值修改 management.endpoints.web.base-path = / #开放所有页面节点 默认只开启了health、info两个节点 management.endpoints.web.exposure.include = * #显示健康具体信息 默认不会显示详细信息 management.endpoint.health.show-details = always
2、启动后访问的效果图
五、我们系统中的基础监控思路
1、监控进程是否意外停止:
运维通过zabbix来监控/health或/info节点来判断进程是否还在,如果没有会发相关的报警;
2、配合实现灰度更新
在系统进行发布时(集群),我们前置会挂一个负载均衡器(比如:nginx)在更新的时候脚本会先将nginx要更新的一台的流量切断,然后监控日志中无打印日志(没有流量进入)进行本台的更新,更新完后启动完成后监测/health节点如果有相应组件值且状态都为UP说明本台启动正常,然后在nginx切其他机器流量,直到全部更新完毕。
六、项目地址及代码版本
1、地址:https://github.com/dangnianchuntian/springboot
2、代码版本:1.0.0-Release
【小结】
在不断的实践中提高;通过SpringBoot自带的监控还可以做很多事情,在以后的博文中还会将自己的一些实践进行分享。