1. 概述编辑
1.1 版本
| 运维平台版本 | 功能变更 |
|---|---|
| V1.5.0 | - |
| V1.5.7 | 「自动导出内存堆栈」功能拆解到「性能堆栈」中,详情请参见:性能堆栈 |
| V2.10.0 | 取消「宕机自动处理」大开关,默认开启 |
1.2 应用场景
帆软工程部署在服务器上后,会因为各种原因导致宕机。宕机后若直接重启没有抓取 DUMP 文件 ,很难定位到真实原因。
从而无法快速解决问题和做一些防止再发生的预防措施,造成的时间和精力损失无法估计,对服务器运维非常不友好。
1.3 功能简介
运维平台提供「宕机处理策略」功能。通过此功能,运维平台可为项目绑定的FineBI/FineReport等工程自动生成 DUMP 文件、同时可重新启动工程。
发生宕机后,通过分析生成的 DUMP 文件,可以快速定位宕机原因,及时处理宕机问题和做一些有效的预防措施,为用户增加一道保险。

2. 操作步骤编辑
项目内置一个独立的宕机处理工具,通过配置相关宕机处理策略,宕机处理工具可以在应用宕机时自动重启或恢复进程。
2.1 使用前提
若项目不可用,则无法为其配置「宕机处理策略」。
2.2 配置宕机处理策略
支持设置两个宕机处理策略:宕机自动重启和进程自动恢复
2.2.1 宕机自动重启
使用前提:
| 项目部署方式 | 服务器类型 | 工程启动方式 | 使用说明 |
|---|---|---|---|
| 运维平台部署 | - | - | 支持宕机自动重启 |
| 非运维平台部署 | Linux | - | |
| Windows | Windows服务形式 | 该功能暂不支持当前系统 | |
| 非Windows 服务形式 | 当前系统可能会存在重启失败 |
使用说明:
1)管理员登录运维平台,选择运维项目,点击「宕机>宕机处理策略」
2)支持开启「宕机自动重启」,点击「保存」生效。
3)开启后,当出现以下高负载情况导致宕机时,会自动重启工程。
CPU占用超过80%(fr、fdl、bi-web、bi-worker)
发生超过30S的GC(fr、fdl、bi-web、bi-worker、bi-master)
应用2分钟无响应(fr、fdl、bi-web、bi-worker、bi-master)
线程池用量达到85%(fr、fdl、bi-web、bi-worker)
连续FullGC后依旧负载较高(连续5次FullGC且负载分大于100)(fr、fdl、bi-web、bi-worker、bi-master)
5min内FullGC次数总和大于3次,且时间总和超过 50s(fr、fdl、bi-web、bi-worker、bi-master)

2.2.2 进程自动恢复
使用前提:
| 项目部署方式 | 服务器类型 | 工程启动方式 | 使用说明 |
|---|---|---|---|
| 运维平台部署 | - | - | 不提供该配置项 运维平台部署的工程,由容器提供进程自动恢复功能,无需宕机处理工具提供该功能 |
| 非运维平台部署 | Linux | - | 支持进程自动恢复 |
| Windows | Windows服务形式 | 该功能暂不支持当前系统 | |
| 非Windows 服务形式 | 当前系统可能会存在重启失败 |
使用说明:
1)管理员登录运维平台,选择运维项目,点击「宕机>宕机处理策略」
2)支持开启「进程自动恢复」。
3)开启后,管理员可设置功能生效时间段。在指定时间段内,当应用进程消失时,会自动重启工程。
4)点击「保存」生效。

2.3 确保宕机处理工具可用
宕机处理工具的运行,需要占用应用所在服务器的端口,必须确保该端口空闲可用方可。
对于运维平台部署的项目,在部署时已配置了宕机处理工具的端口,并进行了占用检测,确保可用。所以无需再设置端口。
对于非运维平台部署的项目,需要设置宕机处理工具占用的端口
1)管理员登录运维平台,选择运维项目,点击「宕机>宕机处理策略」
2)在「端口设置」中输入占用端口:默认端口为 12100,端口号范围必须在1024 到 65535 之间
3)点击「测试」,提示「端口可用,保存后宕机自动处理工具将在新端口重启」
4)点击「保存」,即可使宕机自动处理工具占用新端口运行。

2.4 宕机处理工具自动运行
上文全部配置成功后,宕机处理工具会自动运行,在检测到工程宕机时拉起,或恢复应用进程。
但需要注意,若项目应用主进程关闭,宕机处理工具视情况关闭。
在工作时段(6:00-23:00),当应用主进程关闭5分钟后,宕机处理工具也跟随关闭。
在非工作时段(0:00-6:00,23:00-24:00),应用主进程关闭,宕机处理工具不跟随关闭。

