运维工程师不可避免得会遇到各种故障的情况,[可控]是运维团队追求的终极目标之一
包括故障的可控性,所以衍生出以下的子目标:
1. 降低故障概率
海恩法则:每一起严重事故的背后,必然有29次轻微事故和300次未遂先兆,以及1000个事故隐患。
用数据说话,统计各种异常的原因分布:
累计一段时间以来的数据,生成分布百分比图,当某项原因突增可以及时发现
一般来说,代码发布及运维变更(如机器增减、数据迁移、ip变更等)是两大故障导火索。所以要抽象运维对象、减少人工干预、优化操作流程降低复杂度等。各个公司的团队有自身的流程和步骤,不能一概而论,需要整个公司不仅仅运维部门的通力合作。
2. 迅速发现故障
基础系统监控 |
基础业务监控 |
高级业务监控 |
机器存活 |
端口可用 |
实时在线人数 |
网络连通性 |
进程存活 |
服务超时 |
CPU |
日志监控 |
数据一致性 |
内存 |
curl可用 |
关键组件可用 |
磁盘 |
check_http |
容量监控 |
一般运维团队都能做到基础系统和基础业务监控,但是高级业务监控才是衡量运维团队的指标
对报警短信要分层、分类,再过滤掉重复冗余信息后,精准下发到各自应用的负责人。
3. 快速处理故障
把故障的处理分成三个子步骤:响应、定位、修复
响应的快慢取决于运维团队的分工和职责划分,理论上运维团队需要做到7*24响应,到真正落实到每一位运维同事时,需要一定的激励和惩罚措施,这个不多说。
定位故障需要运维团队经验的传承和分享,需要一份运维故障手册,里面记录了各种典型的故障以及处理方法,也需要有定期故障演习和各种处理预案。
修复的速度很大程度取决于是否有足够的自动化工具,如数据修复、回滚、流量切换、机器切换等工具
版权声明:本文为博主原创文章,未经博主允许不得转载。
原文地址:http://blog.csdn.net/jeffreynicole/article/details/48105333