1. 概述
1.1 版本
| 报表服务器版本 | 系统运维插件版本 | 功能变更 |
|---|---|---|
| 11.0 | V1.0 | - |
| 11.0.3 | V1.0 | 新增支持一键配置检测项的值 |
| 11.0.7 | V1.3.1 | 新增部分健康巡检内容 支持生成并下载巡检报告 |
| 11.5.13 | V3.2.5 | 新增宕机风险高危配置项识别 管理员登录平台时对宕机风险进行弹框增强提示 巡检结果与巡检报告中对命中的高危项标识「宕机风险」 |
1.2 应用场景
如果内存等环境配置不合理,非常容易导致报表系统宕机,且此类宕机很难复现、排查困难。
健康巡检用于在宕机发生前,主动识别并修复不合理配置,规避环境配置类宕机。
1.3 功能简介
FineReport 11.0 中内置了系统运维插件,直接拥有此功能。
「健康巡检」可帮助用户检查系统中的各项配置是否合理,以辅助用户优化环境配置,更好地防止宕机的发生。核心能力如下:
1)用户手动检查或平台定期检测报表系统各项环境配置是否合理。
2)当系统环境配置不合理时,推送消息给用户。
3)为用户提供系统环境配置的合理改进指导。

2. 系统检查项
本章说明健康巡检覆盖的检查内容,用于了解每类检查的范围与推荐配置。
V1.3.1 之前版本的插件,仅支持环境配置检查。
V1.3.1 及之后版本的插件,支持的巡检内容包括:系统检查、系统运行状态、端口检查、网络检查、服务联通性检查、业务检查、环境检查、磁盘检查、非容器化部署检查、虚拟机检查。
详情请参见:运维监控指导手册 第三章。
| 巡检内容 | 检测项 |
|---|---|
| 系统检查 | 仅输出信息,不进行配置推荐,检测项包括: 操作系统信息、glibc/gcc版本、hostname、时区信息、CPU主频、核心数、内存大小、已使用内存、空闲内存、交换分区、检测时间、根目录磁盘、根目录磁盘剩余 |
| 系统运行状态 |
|
| 端口检查 |
|
| 网络检查 | 检查文件服务器、外接数据库、状态服务器和应用之间通信是否正常,是否能够ping通,是否存在丢包情况 |
| 服务联通性检查 | 检查工程与Redis组件、Sftp组件、FineDB数据库之间是否联通 |
| 业务检查 |
|
| 环境检查 |
|
| 磁盘检查 | 仅输出信息,不进行配置推荐,检测项包括: 磁盘空间、已使用磁盘空间、空闲磁盘空间、顺序读取、顺序写、随机读、小文件创建、小文件删除 |
| 非容器化部署 | 仅输出信息,不进行配置推荐,检测项包括: 进程用户、服务器主要文件夹权限 |
| 虚拟机检查 |
|
检查后存在问题的检查项,会在页面中展示。

3. 一键配置
本章说明如何一键应用健康巡检的建议值。11.0.3 及之后版本,支持一键配置健康巡检建议值。
3.1 不支持的环境
对于以下环境,不支持一键配置功能:
1)非 Tomcat 部署环境,例如 was 部署、weblogic 部署等。
2)工程系统中存在自行设置的 setenv 文件。
3)服务形式启动的 Tomcat 工程。
4)Windows 环境下 exe 启动的 Tomcat 工程。
5)设计器环境下的 FineReport 工程。
6)系统物理内存为 16GB 及以下的环境。
3.2 配置方法
若当前工程环境满足一键配置要求,且存在需要一键配置的检查项,「健康巡检」页面左上角会出现按钮「查看建议配置」。操作如下:
1)单击「快速修复」,勾选需要配置的检查项。
2)单击「应用配置」,系统一键配置异常项的值。
3)配置成功后,页面提示「应用配置成功,重启服务器后生效」。
4)重启报表工程后,确认异常项均已成功配置。
注1:支持一键配置的检查项为:堆内内存、堆外 NIO 内存、堆外 FineIO 内存、垃圾回收器类型、老年代与新生代比例、栈空间。
注2:若没有文件读写权限或无法修改配置文件,提示「应用配置失败:没有配置文件读写权限」,单击「确定」后修改失败,返回健康巡检界面。

4. 巡检报告
每一次健康巡检结束后,会生成一个巡检报告。用户可将报告下载到本地,或在线预览。如下图所示:

报告内容包括上述所有检查项。报告示例如下图所示:

5. 触发检查
5.1 手动检查
系统重启后,每小时获取一次系统的配置情况。
第一次进行健康巡检时,需要点击「开始巡检」按钮,系统自动进行检查,获取最近一次的系统配置,更新检查结果。

再次进行进行健康巡检时,点击「重新诊断」按钮,系统自动进行检查,获取最近一次的系统配置,更新检查结果。

5.2 自动检查
在「健康巡检处理」页面,管理员可开启「系统自动检查」并保存。
开启后,系统在每周日上午 11 点进行自动检查,存在不合理配置时可通过短信提醒、平台消息、邮件提醒三种形式通知管理员。

注1:消息通知前提
短信提醒:需要开启短信平台,详细点击 短信
邮件提醒:需要配置邮件服务器,详细点击 邮箱
平台消息:需要在负载均衡层面配置websocket端口并且开放,相关文档:Websocket端口被占用/无法使用
注2:V11.5.13 起,系统识别与宕机强相关的高危配置项。命中任一高危配置项,即会在巡检结果中标识「宕机风险」,并触发管理员登录增强提示。
提示对象:仅提示超级管理员。
提示时机:超级管理员登录平台时,以弹框形式增强提示。
提示内容:弹框标题为「健康巡检提示系统存在宕机风险」,并说明命中的高危配置项数量与可能影响(如系统卡顿、访问异常或服务不可用)。
宕机强相关的高危配置项如下表所示:
| 巡检内容 | 高危配置项 |
|---|---|
| 环境检查 | vm.max_map_count 最大文件打开数(open_files) vm.overcommit_memory vm.overcommit_ratio glibc 内存泄露相关配置 |
| 虚拟机检查 | 堆外 NIO 内存 堆外 fineIO 读内存 堆外 fineIO 写内存 headless 模式 CodeCache 栈空间(-Xss) 堆内内存最大值(-Xmx) 堆内内存初始值(-Xms) Metaspace(元空间) |
| 业务检查 | gzip 相关配置 |
6. 运维工具
运维接口密钥,是在「运维平台」中绑定当前工程的接口密钥,详情请参见:运维平台产品简介

7. 注意事项
7.1 快速修复异常
问题描述:
使用健康巡检的「快速修复」功能,修改了tomcat内存后,使用./startup.sh命令启动工程,tomcat 闪退,并且无 tomcat 进程出现。
原因分析:
系统内存不足。
解决方案:
删除%TOMCAT_HOME%/bin下的setenv.sh文件,该文件为快速修复时生成的配置文件。
7.2 This combination of host and port requires TLS
问题描述:
健康巡检全部失败。
触发巡检并打开日志info级别,出现报错:This combination of host and port requires TLS
原因分析:
端口没有配置好https
解决方案:
finedb的 fine_conf_entity 表中,需要新增一个字段ClusterNodeConfig.useHttps,字段值为true
添加方法请参见:填报修改fine_conf_entity
