Skip to content

2017 08 26 爱板网无法访问

lupeng0512 edited this page Aug 30, 2017 · 21 revisions

2017/08/26 爱板网白屏事故

- -
发现时间 2017/08/26 11:07
发现人 QQ群 ^庄贺^
处理时间 2017/08/26 10:45 - 2017/08/26 22:30
处理人 殷管中 季星宇 徐晓诗 卢朋
撰写人 徐晓诗 卢朋

问题描述

爱板网无法打开,有的人白屏,有的人可以打开

处理过程

  • [10:45] 卢朋发现爱板网有问题,远程登陆服务器,发现有一台服务器压力过高,无法登录
    • 把服务转移到其它服务器上继续运行,因服务器是实体机,无法通过命令重启,只能联系机房mike处理
  • [11:07] QQ群里有人反映502
    • 登录服务器查看,发现服务器压力并不高,并试着恢复服务,可以进行访问,但过一段时间就无法访问
  • [11:36] 庄贺反应有点卡,查看apache访问日志,发现一些奇怪的访问,并通知开发。
  • [11:58] 管中进入服务器查看代码,经讨论因前一天晚上下班之前有更新代码,推测可能有问题,尝试回滚代码,没有解决问题,再把代码复原到最新版本
  • [12:46] 管中发现web日志里sso的客户端有报错,提示找不到function,查看数据库日志后,发现有些表有问题,进行修复
  • [13:47] 问题并没有解决,跟董利军进行简单汇报,找星宇查看
  • [15:00] 星宇发现主题被禁用,重新开启主题。至此网站可以正常访问
  • [18:18] 管中收到编辑反馈后台菜单有缺失。
  • [19:00] 晓诗发现插件都没有开启,卢朋协助对照测试环境启用插件,后台恢复。
  • [20:27] 管中董利军发现有些页面静态文件路径错误,管中发现登录完直接跳转后台而不是主页。
  • [21:11] 管中在后台添加丢失的网站域名配置,静态文件路径和登录跳转修复。
  • [08:50] 刘卓修复小工具的主题导航。至此全部修复,进入问题复盘阶段。

排查问题根源(正在进行)

  • 网站白屏的时候季星宇发现代码里获取不到当前的主题,但是数据库显示数据正常。
  • 卢朋发现数据库有疑似注入的语句,经排查注入没有成功。排除注入可能。
  • 晓诗卢朋搜索MySQL的binlog没有发现存主题和插件信息的wp_options表有相关的修改。但是重新开启主题后插件确实都被禁用了。
    • 主题是如何被禁用的?
      • binlog显示15:30左右有修改current_theme的操作,应该是星宇的修复。那之前就没有任何相关数据库操作了。
    • 插件是如何被禁用的?
      • 尝试测试环境修改主题,看看主题配置是否会还原。(不会)
      • 根据备份来看03:25分时,插件都是启用状态。
      • binlog显示在18:27分有插件相关的改动,将所有插件禁用。但是这个是在网站出问题之后了。而且在那个时间点前没有相关的数据库操作。

数据库binlog排查结果说明,数据库并没有发生修改,网站除了WordPress配置信息外的数据也没有丢失,那最大的可能是程序的缓存环节出了问题,导致无法获取正确的配置信息,影响了网站功能。具体的问题点,还需要进一步排查。

暴露的问题

  • 没有人对WordPress代码足够熟悉,导致故障恢复慢,问题定位难。

改进措施

  • 阿里云报警从检测状态码改为检测页面关键字,提升覆盖面。
  • 下次遇到类似问题先备份数据库和代码目录,方便事后排查,还原故障场景。
Clone this wiki locally