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