首先要写故障分享报告
主要包括:概要描述、故障问题经过、问题原因、故障影响和损失以及后续的改进措施
故障发现:
1.客户投诉或者业务反馈,研发自我发现
2.监控报警:技术监控+业务监控
生产过程中遇到故障,应思考的一些问题?
为什么会发生这样的问题?
为什么测试阶段没有发现?
为什么系统不能容错?
能不能更早发现问题?
解决过程能不能更快?
怎样防止此类问题发生?
故障的分类:
代码Bug、操作不当、系统级别软件Bug、突发流量、资源使用不均、容量预估不足、网络类、安全类、局方故障、硬件故障、第三方公司接口故障
故障发现
监控系统是事中决策支撑和事后决策止损必不可少的工具:prometheus,zabbix、nagios等
监控系统一般分为系统及监控,业务监控,网络监控,代码监控,日志监控,用户行为监控,其他种类监控等
系统级监控:主要与操作系统相关
物理监控:cpu,存活,内存,liad,硬盘,网络
活性检测:进程、端口
应用服务检测:jvm,gc,线程数
服务监控:rpc和http接口的gps,rt,错误码
业务监控:包括用户访问的QPS,日活,接口访问等
网络监控:一般是对网络的监控
日志监控:日志监控比较重要,一般单独分类
当前排除故障的流程
一旦生产中检测到问题,我们必须,
回滚到稳定版本,在日志和代码中搜索错误和异常,添加log日志,创见新的修补程序版本,提交测试,等待测试和发布,部署预发,获取详细的日志,验证问题,发布新版本上线