根本状况
1 月某日早 9 点 15 分,某手机端 app 接到用户报障:app 出现异常,具体表象为登录 app 提醒“License 不非法,请分割系统管理员!”。后经核查,具体报错工夫为 7 点 24 分 -10 点 32 分,故障影响时长 188 分钟,影响该时间段内 254 位用户登录。
工夫线回放
- 0:00 证书生效。
- 7:24 app 呈现登录异样。
- 9:15 用户报障。
- 9:20 运维人员登录后盾治理平台确认 License 受权已过期,并分割证书提供商相干工作人员申请新的 License 文件,事发时人在里面。
- 9:55 证书提供商工作人员开始近程撑持。
- 10:20 证书提供商提供新 License 文件。
- 10:25 app 运维人员实现服务器受权更新。
- 10:26 app 复原应用。
起因剖析
- 该 app 未将 License 到期查看纳入例行运维查看项,在日常查看中均未发现该问题。
- 该 app 业务探测、证书到期等各类告警缺失,导致问题未能及时发现。
- 对于 license 受权到期问题,证书提供商外部有一套 License 受权文件管理系统,零碎会在 license 受权到期前 10 天,在公司外部通信软件每日推送告警揭示,直到解决实现。证书提供商人员未器重 License 到期状况查看,未器重群里告警揭示,没有在第一工夫被动发现问题。
- 证书提供商撑持力量薄弱,问题响应不及时。
整改动作
- 针对本次 License 受权文件到期问题,安顿相干责任人,将 License 到期查看纳入例行运维查看项中,每周进行例行查看,及时发现问题解决问题
- 全面梳理公司外部 iOS 证书、形容文件、软件受权证书、https 证书等所有证书过期危险隐患,联合省 ITSM 系统维护作业性能对立治理,实现定期揭示执行保护作业。
- 手机端部署 rpa 定时巡检,模仿用户操作等性能,异常情况及时告警。
-
减少 License 证书到期监控告警
故障点评
- 证书须要闭环管控
前有特斯拉证书过期导致车辆无奈失常解锁,后有 LinkedIn 的 HTTPS 证书两年内接连两次过期导致站点停机,BATJ 这类大厂,都不乏证书过期导致的故障。很多人的第一反馈,可能会感觉证书过期治理这么个小事件都搞不好,是不是人的问题?然而业界这么多出名厂商都中招,我想不能简略的把问题归因为人不行,这是思维的懈怠啊!咱们应该从技术治理、流程机制等角度系统化的解决问题,既治本又治标。 - 第三方默认无责
谁引入了第三方的技术组件,谁就要对其可用性负责。即咱们在应用内部技术组件的时候,要认真评估对方的可用性状况,以及咱们的兜底计划等等。在该案例中,证书即可视为第三方组件。定责是对内的,默认第三方无责是为了防止外部定责时把问题甩锅给第三方,长此以往 SRE 会失去应有的责任心。当然,故障是第三方引起的,咱们理当去追责、索赔,这没有问题,但在架构设计上、整个稳定性保障上有没有哪些工作是能够欠缺来躲避故障的,这是咱们须要思考的内容。
本文由 mdnice 多平台公布