1、发现问题
- 系统层面监控:CPU的利用率,系统负载,内存使用情况,网络I/O负载,磁盘负载,I/O等待,交换区的使用,线程数机打开的文件句柄数。
- 应用层面监控:对服务接口的响应时间,吞吐量,调用频次,接口成功率及接口的波动率。
- 资源层面监控:数据库,缓存和消息队列的监控。通常会对数据库的负载,慢SQL,连接数等进行监控;对缓存的连接数,占用内存,吞吐量,响应时间等进行监控;对消息队列的响应时间,吞吐量,负载,积压情况等进行监控。
2、定位问题
- 问题系统最近是否进行了上线?
- 依赖的基础平台和资源是否进行了上线或者升级?
- 依赖的系统最近是否进行了上线?
- 运营人员是否在系统里做过运营变更?
- 网络是否有波动?
- 最近的业务是否上量?
- 服务的使用方是否有促销活动?
3、解决问题
- 解决问题的阶段有时处于应急处理中,有时处于应急处理后。在理想情况下,每个系统都会对各种严重情况设计止损和降级开关,因此在发生严重问题时先使用止损策略,在恢复问题后再定位和解决问题。解决问题要以定位问题为基础,必须清晰的定位问题产生的根本原因,再提出解决问题的有效方案,切记在没有明确原因之前不要使用各种可能的方法来尝试修复问题,这样可能导致还没有解决这个问题又引出另一个问题。
4、消除影响
在解决问题时,某个问题可能还没被解决就已恢复,