发生线上故障后问责是不是第一要务
《Google SRE》这本书,说过这样一句话:系统正常,只是该系统无数异常情况下的一种特例。故障是不可避免的,不管是再牛的系统、再知名的科技公司。
既然不可避免,我们要做的就是不断提升能力和优化流程,减少故障出现的概率。
今天公司线上系统出现了响应迟钝的情况,白天偶现,到了晚上,出现雪崩效应。各个系统,都出现相应超时等情况。最终定位到有一个太服务器的CPU跑满了。
其实监控系统已经出现报警提醒,但因未有一套规范流程。没有第一时间观察到。出现线上有问题,第一时间应该查看监控系统是否有异常情况,再观察业务系统本身,如果出现雪崩情况,需要进一步排查底层支持系统(如数据库)。
所以说出现故障时,快速定位、快速修复,需要建立一套应该故障处理流程。建立相应的流程可以借鉴大厂的处理方式。然后一步步完善,逐渐建立自己的一套流程。
故障处理好后,逃不开的话题就是问责。我们公司比较奇怪,在定位到问题后,第一时间就开始问责了。
关于追责,《赵成的运维体系管理课》的观点是:
对于故障的时候处理,我的建议是:一定要区分好两个概念,定责和处罚,定则不等于处罚。
定责,事情一定要有人承担责任,并且负责后续改进措施落地。定责一般是故障复盘之后确定的,通过这个过程找到根因,制定改进措施,最终判定责任方,会议和公开场合只体现责任团队,故障系统上会记录到具体责任人,但是这个字段不公开。
这个过程,就一个原则:对事不对人。
处罚,也就是是否跟薪资、奖金、绩效考核、晋升资格等等这些跟利益相关的事情挂钩?我的观点是:不能一刀切,不能上纲上线。
这里首先问一个问题,处罚的目的是什么?其实说的直白一点,目的就是想让责任人章机型,别再出纰漏,有效降低再犯错误的概率。
很多严重的故障都来自主观意识薄弱、低级且重复的失误,解决这个主观意识上的问题,我们可以考虑设定高压线。
高压线就是避免因为无意识或意识薄弱导致的严重故障。这样的问题要坚决杜绝,碰一次就要让责任人疼一次,这样,责任人敬畏意识和主观意识提升了,认为失误才会减少,这样的处罚才是有效果的。
当然,如果是其他类型的故障,就要区别对待,如:尝试新的技术和方案、业务告诉发展等等。
重点是不要打击员工的积极性,一旦受到打击,想要恢复是十分困难的。
处罚,是一种手段,而不是主要的目的。但是如果把处罚变成目的的话,就本末倒置了。
发生线上故障后问责是第一要务,确定责任人,进而进行改进,避免下次重复犯相应的错误。
但是不能把问责定义为处罚,如果问责只是为了处罚。那接下来的就不是改进了,下次一样可能犯一样的错误。很可能让别人觉得,罚就罚吧,也已经习惯了。
得不偿失,优秀的人员可能就会这样流失。