Skip to content

应急预案

概述

本文档为矩尺平台的常见紧急情况提供标准化的应急响应流程。每个预案包含:识别症状 → 立即止损 → 根因定位 → 恢复服务 → 事后防范五步。

在执行任何恢复操作前,先收集现场信息(截图、日志、抓包),便于事后根因分析。


预案一:转发引擎故障

症状

  • 监控告警:转发引擎离线、心跳超时
  • 客户端访问虚拟服务失败(连接超时或被拒绝)
  • 设备管理页面中引擎状态显示为红色(离线)

立即止损

场景操作
主备流量组无需人工干预。 备引擎自动接管 VIP,继续处理流量。检查是否切换成功:查看流量组列表中主备角色是否已互换
ECMP 主主模式无需人工干预。 交换机自动将故障引擎从 ECMP 路由表中移除,流量分发到其余引擎。检查交换机路由表确认收敛
单引擎(无 HA)紧急修改虚拟服务:将对象类型改为另一台可用引擎,或重新指定流量组。变更执行后立即生效

根因定位

  1. 通过 SSH 终端登录故障引擎,检查系统状态:
    • top / htop:查看 CPU、内存使用情况
    • df -h:查看磁盘空间
    • systemctl status n6-*:查看矩尺相关服务状态
    • dmesg | tail -50:查看系统日志,检查是否有 OOM Killer 记录
  2. 在交易中检查该引擎的事件记录,查看是否有异常事件
  3. 检查网络连通性:ping <管理节点IP>,确认管理面网络是否通

恢复服务

  1. 修复根因后,重启矩尺转发服务或重启设备
  2. 如果是主备模式:恢复的引擎自动以备用角色加入,不抢 VIP(除非主引擎也故障)
  3. 验证恢复:在设备分析页面查看引擎的吞吐量指标,确认流量正在处理

事后防范

  • 配置主备或 ECMP 流量组,消除单点
  • 为转发引擎配置资源监控告警(CPU、内存、磁盘 > 80% 触发告警)
  • 定期检查设备分析页面,关注趋势变化

预案二:管理节点故障

症状

  • 无法登录 Web 控制台
  • API 接口无响应
  • 监控告警功能中断

立即止损

场景操作
双管理节点 HA无需人工干预。 备管理节点自动接管 VIP,通过 VIP 地址登录控制台
单管理节点尝试通过 SSH 登录管理节点,检查并重启相关服务;如果硬件故障,需要重新部署管理节点并从备份恢复配置

根因定位

  1. SSH 登录管理节点:
    • systemctl status n6-*:查看矩尺管理服务的运行状态
    • docker ps(如果使用容器部署):检查容器是否正常运行
    • 检查 /var/log/ 下的矩尺日志文件
  2. 如果是双管理节点 HA 场景,登录备管理节点,查看主管理节点的状态

恢复服务

  1. 修复根因后重启管理服务
  2. 如果是双管理节点 HA:已恢复的节点以备用角色加入,原备节点继续保持主角色
  3. 如果是单管理节点且使用了外部数据库:在新设备上重新安装管理节点,安装时指定同一外部数据库,配置自动恢复
  4. 如果使用了内部数据库且未备份:需要从配置备份文件恢复

事后防范

  • 部署双管理节点 HA
  • 使用外部高可用数据库
  • 定期备份配置并下载到本地或远程存储
  • 记录管理节点的 SSH 登录信息和紧急恢复流程

预案三:虚拟服务不可用

症状

  • 用户反馈"网站打不开"
  • 监控图表中虚拟服务吞吐量突降至 0
  • 客户端返回 502/503/504 错误

立即止损

第一步:快速判断故障点

客户端 → 虚拟服务(VIP)→ 分发规则 → 服务器池 → 后端节点
         ↑ 故障可能在这里        ↑ 也可能在这里
检查项方法正常异常处理
虚拟服务状态虚拟服务列表中查看状态启用如被禁用,点击启用
转发引擎状态设备管理页面查看引擎状态在线参见预案一
后端节点健康服务器池 → 节点列表查看健康状态绿色参见预案四

第二步:如果以上均正常,进入根因定位

根因定位

  1. 进入虚拟服务详情 → 日志标签,查看最近的请求日志:
    • HTTP 状态码分布:如果有 502/503/504,确认是哪类错误
    • 查看命中分发规则 → 确认请求是否匹配到了正确的规则
    • 查看后端节点 IP → 确认规则路由的后端服务器是否正确
  2. 进入虚拟服务详情 → 分析标签:查看端到端时延、吞吐量趋势,对比故障前后变化
  3. 进入虚拟服务详情 → 拓扑标签:查看链路状态,确认是否有环节显示红色(不通)
  4. 检查是否近期有配置变更(进入事件列表查看操作事件)

恢复服务

  • 后端服务器问题:参见预案四
  • 配置变更导致:参见预案六(配置回滚)
  • 转发引擎问题:参见预案一
  • SSL 证书过期:参见预案五

事后防范

  • 为虚拟服务配置监控告警(吞吐量突降、错误率上升)
  • 关键虚拟服务配置主备或 ECMP 流量组
  • 重大配置变更前备份配置

预案四:后端服务器故障

症状

  • 服务器池列表中节点状态变为红色(不可用)
  • 健康检查失败告警
  • 部分用户反馈服务异常

立即止损

  • 如果服务器池只有一台节点故障:健康检查已自动将故障节点标记为下线,流量自动转发到其余健康节点。无需人工干预。
  • 如果服务器池所有节点故障:所有流量无法处理。需要紧急恢复后端服务,或将虚拟服务临时指向备用服务器池。

根因定位

  1. 进入服务器池详情 → 服务器节点标签,查看节点健康状态和近 6 小时吞吐量
  2. 点击故障节点进入其分析页面,查看节点级别的时延和连接数趋势
  3. 直接 SSH 登录故障服务器,检查:
    • 应用进程是否在运行
    • CPU、内存、磁盘是否正常
    • 应用日志是否有错误信息
  4. 检查健康检查策略的配置是否符合预期(端口、路径、响应码等)

恢复服务

  1. 修复后端服务后,健康检查会自动检测到恢复,将节点重新标记为上线
  2. 在服务器池 → 节点列表中确认节点状态从红色变为绿色
  3. 如果启用了温暖上线,恢复的节点会逐步接收流量,不会瞬时被打垮

事后防范

  • 每个服务器池至少 2 台以上节点
  • 使用 AND 关系的多层健康检查(TCP + HTTP + 自定义脚本),确保不仅端口通、业务也正常
  • 配置节点下线告警
  • 关键服务配置优先级分组或备份服务器池

预案五:SSL 证书过期

症状

  • 用户反馈浏览器提示"连接不安全"或"证书已过期"
  • Chrome 返回 ERR_CERT_DATE_INVALID
  • curl 返回 SSL certificate problem: certificate has expired

立即止损

  1. 在【平台系统 → SSL 证书管理】中确认过期证书名称
  2. 上传新证书:点击"新增",上传新的证书和私钥(同名配对)
  3. 更新 SSL 策略:在 SSL 策略中将服务器证书替换为新上传的证书
  4. 无需变更执行:修改 SSL 策略后即时生效,新连接使用新证书

如果是主备流量组,仅需在主引擎的管理界面上操作,配置会自动同步。

根因定位

  • 检查证书到期时间:在 SSL 证书列表中查看"到期时间"字段
  • 确认是否配置了证书过期告警(系统事件 → SSL 证书即将过期)

恢复服务

  • 新证书生效后,刷新浏览器或重新连接即可恢复正常
  • 已建立的 SSL 长连接不受影响

事后防范

  • 为所有 SSL 证书配置过期告警(参见 配置告警),提前 30 天和 7 天各通知一次
  • 在 SSL 证书列表定期巡检,关注黄色/橙色/红色过期标记
  • 建立证书管理台账,记录每个证书的到期时间和负责更新的人员

预案六:配置错误回滚

症状

  • 配置变更后虚拟服务出现异常(错误率上升、响应异常)
  • 新创建的虚拟服务无法正常访问
  • 修改分发规则后流量路由到错误的后端

立即止损

方案一:配置备份恢复(推荐,适用于全局配置错误)

  1. 进入【平台系统 → 配置管理】
  2. 选择变更前备份的配置文件
  3. 点击"恢复",系统将配置还原到备份时的状态
  4. 等待恢复完成,验证业务是否恢复正常

方案二:手动还原单项配置(适用于局部配置错误)

  1. 进入【监控与告警 → 事件与异常 → 事件】,查看近期的操作事件记录
  2. 找到出错前后的操作记录,定位具体改了哪个配置
  3. 进入对应配置页面,手动将参数恢复为变更前的值

根因定位

  1. 在事件列表中筛选"操作事件",确认谁、什么时间、做了什么变更
  2. 对比变更前后的配置差异,确认具体哪个参数导致了问题
  3. 如果开启了日志,在虚拟服务日志中查看变更后请求的响应状态码和路由目标

事后防范

  • 重大变更前必须备份配置
  • 遵循版本发布策略,先在少量流量上验证
  • 在操作事件中定期审计,发现异常操作及时纠正

预案七:流量异常突增

症状

  • 虚拟服务吞吐量或每秒请求数突然大幅增加
  • 后端服务器负载飙升
  • 部分用户请求响应变慢或超时

立即止损

  1. 进入虚拟服务详情 → 日志 → 客户端地址全景视图,查看 Top IP
  2. 如果发现异常 IP 访问量远超其他:记下该 IP
  3. 进入【SLB 本地负载 → IP 集合管理】,创建或编辑黑名单 IP 集合,将异常 IP 加入
  4. 在虚拟服务的七层分发规则(或默认分发规则)中,添加一条高优先级规则:
    • 分发策略:源地址 = 该 IP 集合
    • 处理方式:指定错误码 403(禁止访问)
  5. 变更执行

如果异常流量来自大量分散 IP(DDoS 特征):

  • 联系网络运维团队在上游防火墙或运营商层面进行流量清洗
  • 在服务器池中临时增加节点并调整权重

根因定位

  1. 日志 → URI 全景视图:查看哪些接口被集中请求
  2. 日志 → 浏览器/设备全景视图:判断是正常用户行为还是机器脚本
  3. 日志 → 地理分布:确认流量来源地区

事后防范

  • 配置吞吐量和每秒请求数的异常告警
  • 在七层策略中配置访问控制(IP 黑白名单、限流)
  • 与安全团队协作,在上游部署 WAF 或 DDoS 防护

预案八:外部数据库故障

症状

  • 管理节点运行正常但 Web 控制台操作无响应
  • 配置页面数据加载失败
  • 系统日志中出现数据库连接错误

立即止损

如果使用了外部数据库(MySQL、PostgreSQL、达梦等):

  1. 检查数据库服务是否正常运行
  2. 如果数据库配置了主从或集群:检查是否发生了主从切换,如果从库已提升为主库,确认管理节点的数据库连接配置是否需要更新
  3. 如果数据库完全不可用:在数据库层面执行数据库的高可用方案(如切换到从库、恢复备份等)

根因定位

  1. SSH 登录管理节点,检查数据库连接:
    bash
    # 查看矩尺管理服务的日志
    journalctl -u n6-manager -n 100 --no-pager
  2. 登录数据库服务器,检查数据库状态、磁盘空间、连接数

恢复服务

  1. 数据库恢复正常后,矩尺管理服务会自动重连
  2. 验证 Web 控制台和 API 是否恢复正常

事后防范

  • 使用数据库自身的高可用方案(主从、集群、云数据库高可用版)
  • 定期备份数据库
  • 监控管理节点与数据库之间的网络连通性

紧急联系方式模板

角色姓名电话备用联系方式
系统管理员
网络运维负责人
应用运维负责人
安全管理员
矩尺技术支持0571-86833186business@n6delta.com

应急响应流程总结

发现故障

1. 判断严重程度
   ├── 影响全部用户 → 立即按对应预案止损
   └── 影响部分用户 → 先收集信息,再定位处理

2. 执行止损操作(优先恢复服务)

3. 收集现场信息
   - 截图(监控图表、告警记录、错误日志)
   - 导出相关日志
   - 记录操作时间线

4. 根因分析

5. 恢复验证
   - 通过监控确认指标恢复正常
   - 通过客户端实际访问确认

6. 事后总结
   - 更新应急预案
   - 补充监控告警规则
   - 完善防范措施

各预案中涉及的功能详细操作请参考配置指南中的对应章节。如遇到本文档未覆盖的紧急情况,请联系矩尺技术支持获取帮助。