1. 概述
1.1 版本
FineBI服务器版本 | 功能变更 |
---|---|
6.0 | - |
1.2 应用场景
BI 工程部署在服务器上后,会因为各种原因导致宕机。宕机后若直接重启没有抓取 DUMP 文件 ,很难定位到真实原因,从而无法快速解决问题和做一些防止再发生的预防措施,造成的时间和精力损失无法估计,对服务器运维非常不友好。
FineBI提供「宕机处理」功能。通过此功能,BI 工程可以自动生成 DUMP 文件、同时可重新启动系统。
发生宕机后,通过分析生成的 DUMP 文件,可以快速定位宕机原因,及时处理宕机问题和做一些有效的预防措施,为用户增加一道保险。
注1:「宕机处理」功能仅支持运维平台部署的工程,或Tomcat中间件下的工程。
对于非 Tomcat 中间件部署的工程,或设计器自带的工程,不支持「宕机处理」功能。
注2:报表与 BI 集成的用户在使用此功能时,优先调用 BI 工程的「宕机处理」功能,禁用报表工程的「宕机处理」功能,以保证不影响 BI 工程的运行。
1.3 功能简介
超管登录FineBI系统,点击「管理系统>智能运维>宕机处理」,就可以看到平台端对应的功能模块。如下图所示:
模块下功能分为宕机自助向导、运行监测、宕机处理、内存堆栈导出记录、服务器重启记录 5 部分。
注:宕机处理页面在平台端打开时,加载时间较长,请耐心等待。
2. 宕机自助向导
记录报表工程的宕机时间和宕机原因,并提供对应的推荐处理方案。如下图所示:
可能的宕机原因和推荐处理方案如下表所示:
宕机原因 | 推荐处理方案 |
---|---|
内存溢出
| 1)排查模板、开启并合理配置模板限制 2)使用健康巡检检测并合理配置堆内内存 健康巡检功能请参见:健康巡检 3)排查模板、开启并合理配置模板限制 |
JDK附带Bug | 更换为1.8.0_181及以上版本的JDK8 |
操作系统内存配置不合理 | 使用健康巡检检测并合理配置系统内存 健康巡检功能请参见:健康巡检 |
磁盘空间不足 | 请检查磁盘空间并清理不必要文件 磁盘扩容请参见:磁盘扩容 |
内存映射文件数量设置过低 | 使用健康巡检检测内存映射文件数量配置并使用推荐数值进行修改 健康巡检功能请参见:健康巡检 |
旧版本图表使用的第三方引擎Bug | 将系统更新至最新版本 工程升级请参见:升级指南 |
有崩溃文件但无法确定崩溃原因 | 上传云端运维日志进行反馈 云端运维功能请参见:云端运维使用步骤 |
ssh退出 | 更换启动命令或用secureCRT命令行工具 工程启动方法请参见:Linux中启动FineBI |
取数导致的线程阻塞 | 使用抽数缓存功能提升取数速度或使用模板助手功能检测 抽数缓存功能请参见:抽数缓存介绍 模板助手功能请参见:模板检测助手 |
日志输出阻塞 | 调高日志级别或查看磁盘剩余空间是否充足 日志级别调整请参见:日志简介 磁盘扩容请参见:磁盘扩容 |
系统内存释放时间过长 | 1)将堆内存调整为小于64GB的数值 堆内存调整方法请参见:健康巡检 2)建议更换更高性能CPU 硬件配置推荐请参见:确认FineBI项目服务器配置 |
3. 宕机工具使用前提
如需使用第四章的宕机处理功能,必须确保「运行检测」的每一项都符合要求。
系统需要满足一些条件,才能保证宕机自动处理工具的正常运行。因此工程启动后,会先对端口状态、JDK环境、堆外内存、部署情况进行检测。
检测有问题则提醒用户做相应修改或者禁用宕机功能,无问题则持续稳定运行。如下图所示:
「运行检测」每项对应的检查内容如下表所示:
注:若检测结果为优,则提示「此项配置良好,无需调整」。
序号 | 检查项 | 检测出问题标准 | 修改建议 |
---|---|---|---|
1 | 操作系统 | 当前系统非 Windows/Linux 系统 | 建议使用 Linux 系统以保证宕机自动处理工具稳定运行 此状况下,将不进行下面的四项检查 |
2 | 端口 | 12100端口状态异常(端口未开启或被占用) | 建议开放 12100 端口或设置其他端口以保证系统正常运行 端口设置请参考本文 2.3.5 节 |
3 | JDK | 1)工程中有 非 Oracle jre 的 tools.jar,且工程中未配置 JDK(系统配置JDK有问题) 2)工程中无 tools.jar,且工程中未配置 JDK(系统配置JDK有问题) | 建议增加系统 JDK 配置/ tools.jar 设置以保证系统正常运行 JDK 和 tools.jar 设置请参考:Linux 下 Tomcat 服务器独立部署 |
4 | 堆外内存 | 堆外内存不足 | 强烈建议物理机总内存减去系统所在容器使用内存不小于 10GB |
5 | 部署方式 | 非 Tomcat 容器部署 | 建议使用 Tomcat 容器部署 Tomcat 部署请参考:Tomcat 服务器部署 |
当监测到操作系统、端口、JDK、堆外内存影响功能使用时,会通过「平台消息」和平台右下角「弹窗消息」提醒用户。
点击「处理」即可跳转到跳转到「宕机处理」平台配置页面,从而对其进行相应的处理。如下图所示:
消息提醒内容为:检测到部分系统配置缺失或不合理,宕机自动处理工具不可用,为保证功能正常运行,建议你及时处理。
4. 宕机处理
如需使用 「宕机处理」功能,必须确保第三章「运行检测」的每一项都符合要求。
用户可以在「宕机处理」位置做一些配置设置,可设置的项为:宕机自动处理、自动导出内存堆栈、宕机自动重启、宕机通知、端口设置。如下图所示:
以下所有设置修改后需点击「保存」按钮才会生效。
4.1 宕机自动处理
当系统配置满足「运行监测」中的运行条件时,工具自动运行,此开关默认开启。
当系统配置不满足运行条件时,开关图标灰化,不能编辑修改。
在工作时段(6:00-23:00),当工程主进程关闭5分钟后,宕机自动处理工具也跟随关闭。
在非工作时段(0:00-6:00,23:00-24:00),工程主进程关闭,宕机自动处理工具不跟随关闭。
4.2 自动导出内存堆栈
若「宕机自动处理」未开启,此项灰化处理,不能编辑修改。
若「宕机自动处理」开启,此项默认关闭,开启后当发生宕机时,会自动导出宕机日志
支持导出的宕机日志内容包括:堆栈、histo、dump
导出位置为:宕机节点所在服务器下%Tomcat%\logs\FineLog\日期文件夹内
注:开启后自动导出宕机日志。如果担心dump导出时间长影响性能,可只选择导出堆栈和histo日志。
4.3 宕机自动重启
若「宕机自动处理」未开启,此项灰化处理,不能编辑修改。
若「宕机自动处理」开启,此项默认关闭,开启后当发生宕机时会自动重启工程。
开关开启时,会对工具状态和当前系统情况做检测。检测是否为 Windows 操作系统,是否为 Windows 服务形式。
1)若系统为 Windows 操作系统且为 Windows 服务形式,弹窗提示:该功能暂不支持当前系统。如下图所示:
点击确定和关闭按钮后弹窗关闭,开关不开启。
2)若系统为 Windows 操作系统且非Windows 服务形式,弹窗提示:当前系统可能会存在重启失败。如下图所示:
点击确认或关闭按钮后关闭弹窗,开关开启。
检测时,若以上问题同时存在,仅提示当前问题中主要度最高的一个,重要度排序为:该功能暂不支持当前系统>当前系统可能会存在重启失败。
4.4 宕机通知
若「宕机自动处理」未开启,此项灰化处理,不能编辑修改;若「宕机自动处理」开启,此项默认关闭,开启后,可配置短信提醒、平台消息提醒、邮箱提醒,当发生宕机时会按配置的通知方式通知到用户。
4.5 端口设置
「宕机处理工具」默认的端口为 12100,当 12100 端口异常时,可以在此处配置其他端口号。
端口号范围要在1024 到 65535 之间,推荐12100。否则「宕机处理工具」无法启动,「宕机处理」页面无法打开,且跳出错误提示:请输入1024-65535 之间的数字,推荐12100。
输入新的端口号后,点击「测试」,若新的端口号存在异常,则弹窗提示:端口异常,请重新设置。如下图所示:
若端口无异常,则弹窗提示:端口可用,保存后宕机自动处理工具将在新端口重启。如下图所示:
5. 处理记录
「内存堆栈导出记录」和「服务器重启记录」分别记录了自动生成 DUMP 文件记录和服务器重启的记录。
其中包括导出(重启)的开始时间、时长、是否成功、如果失败,失败的原因等。如下图所示:
注:记录中仅读取最近一个月的宕机处理记录。