20240928欧洲服务器服务中断复盘
事故概述
- 事故级别: P0
- 发生时间: UTC 2024/09/28 00:00:24
- 持续时间: 6~7小时
- 影响范围: 全部欧洲服务器接口
- 直接原因: apache2服务启动失败
事件详细描述
-
故障现象: 所有欧洲服务器接口服务中断
-
发现过程:
- 监控告警邮件提醒监控数据源中断
- 监控平台 中发现监控数据缺失
- 使用接口工具调用欧洲服务器发现接口服务中断
-
影响评估: 所有与后端服务交互的功能均受影响
问题定位与解决过程
-
应急响应措施:
- 执行
sudo systemctl status apahce2
,发现服务处于failed
状态 - 执行
sudo systemctl restart apache2
,尝试重启apache2服务,启动失败 - 执行
journalctl -xeu apache2
查看启动日志,发现在 UTC 2024/09/28 00:00:24 分服务进行了graceful
重启,且重启失败 - 执行
tail -n 20 -f /var/log/apache/error.log
定位到是域名的SSL证书不匹配的问题导致服务无法启动 - 暂时移除相关配置,重新启动服务,服务成功启动
- 接口服务恢复正常
- 执行
-
根因分析:
- 技术原因:配置的域名的SSL证书不匹配
- 非技术原因:没有及时验证apache2配置正确性
-
解决方案:
同 应急响应措施
-
apache2启动日志:
![apache2启动日志]
-
事后复盘
-
为什么会发生:
- 给域名配置了不匹配的SSL证书
- 没有做配置验证,且没有在当下没有重载服务导致错误配置被保留,错过了修复错误配置的时机
- 服务中断起始与
2024/09/28 00:00:24
,此时处于跨天日志轮转的时刻,触发了apache2服务的自动graceful重载,由于存在错误配置,导致apache2服务重载失败,服务异常退出,造成服务中断
-
为什么没能更快发现:
- 第一封告警邮件是北京时间
2024/09/28 08:11
发出的,距离服务中断过去了10分钟,此时未发现邮件提醒 - 直到下午两点钟后才发现邮件提醒,并进行处理
- 告警邮件通知收件人数不足
- 通知机制不够强
- 第一封告警邮件是北京时间
改进措施
-
短期行动项:
- 在线上服务器做的所有操作必须经过验证
- 配置更多的告警邮件收件人,防止遗漏告警消息
-
长期优化计划:
- 集成更强的告警机制:短信/语音告警
-
预防相似事故的措施:
- 加强危机意识、必须更加细心的处理线上环境的操作
- 做任何有风险操作之前应该在做好各种准备措施后进行