最新历史版本 :运维监控指导手册 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

优先推荐编辑

企业在管理帆软应用(FineReport、FineBI、FineDataLink)的过程中,常常会遇到一些痛点和挑战:

1)低效的运维流程:应用管理员运维经验不足,专业运维人员又无法深入解决应用问题,传统运维流程耗时耗力,导致企业运维效率低下,影响业务的正常运转。

2)不足的监控手段:运维人员可能无法准确监控项目的性能和可用性,缺乏运维过程中必要的工具和技术。

3)多项目管理混乱:企业可能有多个项目运行,而这些项目由不同的部门或团队负责管理,导致版本不统一、部署环境各异,难以进行统一的运维管理。

因此帆软推出「FineOps运维平台为企业提供帆软应用稳定运行和全方位运维管理的解决方案)」,帮助企业更好地解决以上问题。

[helpvideo]5778[/helpvideo]

1. 概述编辑

1.1 应用场景

针对常见的运维监控诉求场景,给出现有的运维监控功能方案介绍,帮助客户快速实现对于 FineDataLink 应用的运维监控。

方案适用于已经完成部署的帆软系统,将会展开介绍帆软应用的日常维护、管理和监控方式。

1.2 配置建议

1)正式工程必须 配置外接数据库

2)如果资源允许,建议部署测试环境和生产环境。一切涉及到工程整体稳定性的敏感操作,比如升级 JAR,修改非常用设置, 测试新插件新功能等, 建议提前在测试环境验证运行无异常,再上到生产环境。

另外建议定期同步生产环境的配置/任务到测试环境,让测试环境尽可能贴合生产环境的实际场景,尤其是在升级 JAR 等重大操作节点之前。

3)操作生产环境的时候,应当尽量在不影响业务使用的时间段。

4)可能会导致工程中文件发生变动的高危操作, 建议对工程整体进行备份,方便出现问题的时候快速整体回滚。

备份时可以排除 Tomcat 日志,备份目录,logdb 目录, bi 抽取数据,FDL 的运行日志等低价值大目录,减少备份体积,提高备份速度。具体目录介绍参考:工程备份还原

5)建议维护一份公司内关键看板/任务的列表, 在升级操作或其他重大操作完成后, 逐个确认列表项是否正常。

6)将平台自带的自动备份频率调高,建议生产环境一日一备份,并保留更多的备份数量。详情请参见:备份还原

另外,本地备份也不够安全,建议配合服务器磁盘备份,或者使用备份脚本将备份文件备份到远程环境,防止诸如勒索病毒或服务器崩溃或删库跑路等服务器层面故障。

7)如非必要,尽可能不要直接修改 FineDB 中的配置项,可能多一个空格就有可能导致配置无法读取,工程无法启动。

如果帆软官方说明必须要修改,建议操作之前千万做好数据库和修改表的再次备份, 如果修改后发现异常, 方便回滚设置。

1.3 功能简介

帆软应用对系统有一定的配置要求,如果配置不符合要求可能出现使用异常、宕机等风险,因此需要定期对环境及应用的配置情况进行检测,以确保应用的健康运行。

同时管理员需要关注应用的运行状况,及时通过运维手段规避风险或在问题发生后定位并进行排除,实现应用的持续高可用。

本文方案将从以下几个方面展开介绍帆软应用的具体运维方式:

注:鉴于服务器情况不同,没有完全通用的解决方案。部分检查项仅提供推荐配置值,请自行百度修改方案。

方向
分类
主要配置文件及说明介绍帆软应用内的主要配置文件信息及其详细说明外接数据库信息配置-
平台配置信息-
系统巡检建议对系统进行定期巡检,确保应用所在的环境及应用内配置合理,以保证应用的正常运行系统检查包括:CPU主频、核心数、内存大小、已使用内存、空闲内存、交换分区、检测时间、根目录磁盘、根目录磁盘剩余
系统运行状态包括:工程启动路径、工程下文件夹大小异常情况、xms配置、插件信息、注册信息、web.xml检查、容器版本、工程JAR包信息、服务器时间
端口检查帆软应用正常使用过程中,需要服务器开放一些端口,因此需要对这些端口进行检查是否开放,避免出现系统功能异常
网络检查检测应用各组件通信是否能够ping通,是否存在丢包情况
服务连通性检查检测服务是否连通
业务检查包括:finedb、日志级别、日志清理、自动备份磁盘占用限制、自动备份保留数量限制、定时调度任务清理配置
环境检查包括:overcommit_memory、overcommit_ratio、codecache配置、语言配置-Duser.country、语言配置-Duser.language、zip相关配置-Dsun.zip.disableMemoryMapping、gblic内存泄露相关配置
磁盘检查

1)关注磁盘的性能和使用情况,防止影响业务的正常运行

2)关注磁盘剩余空间,防止出现磁盘空间不足导致系统运行受影响

虚拟机检查系统当前内存、headless模式
非容器化部署检查包括:进程用户、服务器主要文件夹权限
配置检查包括:外接数据库编码、Nginx健康检查、Nginx参数配置、集群参数配置、更新资源无限制时间段配置、二级缓存开启情况、SQL执行时长限制、单模板单元格数限制、导入excel单元格数限制、负载预警开启、脏数据检测
基本维护在应用日常的正常运行过程中,维护事务相对简单,在有需要的时候能够查看应用的运行日志,或查看应用的各项监控指标是否存在异常即可日志查看了解各类日志文件的存储位置和使用方法
监控指标日常运行中,运维人员主要需要关注相关指标是否存在异常
异常维护当帆软应用出现异常时,要有一些运维手段,实现提前规避风险、快速恢复服务可用等异常警告如需对帆软应用的异常及时感知,需实现对帆软应用各项指标的监控告警
宕机处理

当应用出现异常时,宕机可能会随之发生

1)快速恢复应用

2)记录宕机日志,进行问题定位和排查

备份与升级因为新的功能优化或者BUG修复需要进行应用的升级,同时升级前为了避免未知风险的发生,做好系统的备份也是必须的备份还原
系统需要定期进行备份,以确保在用户误操作、版本回退等场景下能够及时恢复
更新升级为了能获得更好的功能体验,工程尽量跟随官方更新最新版本

2. 主要配置文件及说明编辑

本章主要介绍帆软应用内的主要配置文件信息及其详细说明。

2.1 外接数据库信息配置文件

1)文件位置

%FDL_HOME%\webapps\webroot\WEB-INF\config\db.properties

2)文件内容

FineDataLink 工程中的平台配置信息,如管道任务、定时任务、权限控制、系统管理信息等,均存储于 FineDB 数据库。

FineDataLink 支持使用内置 FineDB 数据库或启用外接 FineDB 数据库。

注:FineDB 数据库中不存储平台属性配置信息;正式工程必须 配置外接数据库,不建议使用内置数据库。

工程配置了外接数据库后,会在WEB-INF/config中生成一个db.properties文件。FineDB 数据库是否外接由 db.properties 文件控制。

3)文件关键信息

db.properties文件中,常见配置关键字与其内容对应关系如下。

注:为了防止修改错误导致系统出错,不建议手动修改db.properties文件。

key(id)
描述
hibernate.connection.password加密过后的数据库的密码
hibeinate.maxWait最大等待毫秒数(ms),   超过时间会出错误信息
hibernate.minEvictableIdleTimeMillis连接在池中保持空闲而不被空闲连接回收器线程(如果有)回收的最小时间值(ms)
hibernate.hbm2ddl.auto自动创建|更新|验证数据库表结构。
create:每次加载hibernate时都会删除上一次的生成的表,然后根据你的model类再重新来生成新表。
create-drop :每次加载hibernate时根据model类生成表,但是sessionFactory一关闭,表就自动删除。
update:第一次加载hibernate时根据model类会自动建立起表的结构(前提是先建立好数据库),以后加载hibernate时根据   model类自动更新表结构。
validate :每次加载hibernate时,验证创建数据库表结构,只会和数据库中的表进行比较,不会创建新表,但是会插入新值
hibernate.initialSize初始化线程数,表示开始自动建立几个与数据库的连接
hibernate.default_schema连接模式,如设为dbo模式,以指定数据库的创建者
hibernate.validationQuery验证连接是否成功,value可设为sql语句
hibernate.testWhileIdle空闲时是否进行验证,检查对象是否有效,默认为 false
hibernate.connection.username数据库用户名
hibernate.connection.isolation参数配置数据库事务隔离级别
8:Serializable 串行化
4:Repeatable Read 可重复读

2:Read Commited 可读已提交

1:Read Uncommited 可读未提交

hibernate.connection.driver_class数据库连接驱动
hibernate.timeBetweenEvictionRunsMillis失效检查线程运行时间间隔,如果小于等于 0,不会启动检查线程
hibernate.connection.provider_class用以整合阿里的Druid数据库连接池
hibernate.testOnBorrow取得对象时是否进行验证,检查对象是否有效,默认为 false
hibernate.testOnReturn返回对象时是否进行验证,检查对象是否有效,默认为 false
hibernate.dialect指定数据库方言类
hibernate.numTestsPerEvictionRun失效检查线程运行次数
hibernate.connection.url数据库连接url
hibernate.maxActive可以从对象池中取出的对象最大个数,为 0 表示没有限制
hibernate.minIdle对象池中对象最小个数

2.2 平台配置信息

平台中有些配置信息记录在 FineDB 的 fine_conf_entity 表中,只能通过修改表字段来进行更改。

用户可通过「fine_conf_entity可视化配置插件」安全地修改相关配置。

注:请勿使用该插件以外的方法修改 FineDB 文件,有可能造成不可修复的 BUG,需自行承担后果。

可修改的配置内容及修改方式请参见:fine_conf_entity可视化配置

3. 系统巡检编辑

建议管理员使用「健康巡检」功能,对系统进行定期巡检,确保应用所在的环境及应用内配置合理,以保证应用的正常运行。

巡检内容包括系统检查、系统运行状态、端口检查、网络检查、服务联通性检查、业务检查、环境检查、磁盘检查、非容器化部署检查、虚拟机检查。

26.png

3.1 系统检查

系统检查的检测项包括:

巡检项

编号

检测项

集群节点是

否分别检查

是否支持

快速修复

健康标准及修改建议
0101操作系统信息

仅输出信息

0102检测时间仅输出信息
0103时区信息仅输出信息
0104glibc/gcc版本仅输出信息
0105hostname仅输出信息
0106host文件信息仅输出信息
0107CPU主频

检查主频大于等于 2.4 gh

建议主频大于等于 2.4 gh

0108核心数

检查核心数大于 4 核

cpu 核心数推荐大于 4

0109内存大小

检查内存是否大于等于15.5GB

建议物理内存大于等于16G

0110交换分区

检查是否关闭SWAP配置

输出交换分区大小

建议关闭SWAP配置

0111已使用内存仅输出信息
0112空闲内存仅输出信息
0113CPU信息仅输出信息
0114服务器字体编码仅输出信息
0115服务器字体包仅输出信息

0110 关闭SWAP分区

1)查看当前系统中是否启用了swap分区

使用以下命令查看系统中已经启动的swap分区信息:

sudo swapon -s

如果输出结果为空,则表示当前没有启动swap分区。
2)关闭swap分区

使用以下命令关闭swap分区:

sudo swapoff -a

该命令将关闭所有已经启动的swap分区。

3)永久禁用swap分区

为了避免系统在下一次启动时自动启动swap分区,需要在系统配置文件中进行相应的修改。

以Ubuntu为例,可以按照以下步骤操作:

  • 修改/etc/fstab文件,找到含有swap的行并注释掉或删除该行。

  • 执行以下命令更新grub引导程序:

sudo update-grub

4)验证swap分区是否已经关闭

重启系统后,可以再次执行sudo swapon -s命令查看系统中是否存在已经启动的swap分区。

如果输出结果为空,则表示swap分区已经成功关闭。

3.2 系统运行状态

系统运行状态的检测项包括:

巡检项

编号

检测项

集群节点是

否分别检查

是否支持

快速修复

健康标准
0201启动时长仅输出信息

包括:本次启动的耗时

0203工程启动路径仅输出信息

包括:目录路径

0204工程下文件夹大小异常情况

注:仅检测本地,不检测文件服务器。

检查工程WEB-INF下一层的每个文件夹大小

健康:不存在大于5G的文件夹

不健康:存在大于5G的文件夹

修改建议:

建议检查确认对应文件夹的内容并进行清理

提示出超过5G大小的文件夹路径

0205插件信息

仅输出信息

包括:插件名、插件版本、插件是否启用

0206注册授权信息

仅输出信息

包括:工程是否注册

0207WEB-INF下是否有web.xml

仅输出信息

包括:是/否

0208容器版本仅输出信息
0209工程jar包信息

仅输出信息

包括:工程各个模块的版本和JAR包日期

0211临时输出目录仅输出信息

包括:目录路径、目录剩余可用空间

0212tomcat后台运行对于Windows系统、Tomcat容器下的工程,

检测是否使用javaw后台运行tomcat

健康:使用javaw后台运行tomcat

不健康:未使用javaw后台运行tomcat

修改建议:建议使用javaw后台运行tomcat

0204 清理文件夹

1)WEB-INF文件夹存放着什么

2)哪些文件可清理

文件夹/文件
用途自动清理手动清理
treasure1)文件路径:

%FDL_HOME%\webapps\webroot\WEB-INF\treasures
2)文件用途:
云端运维日志打包文件
3)清理级别:

建议清理

保留最近12个月的文件,其余文件清理

文件层级直接展示到具体的日期(日级别),用户手动选择需要清理的范围即可

推荐清理12个月之外的文件

12个月之内的文件不显示

3)清理方式

管理员登录数据决策系统,点击「管理系统>智能运维>磁盘运维」。

磁盘清理 Tab 下,选择需要扫描的文件类型,点击「开始扫描」,立即开始扫描可以手动清理的冗余文件。

27.png

0212 tomcat后台运行

原因分析:

Windows 系统中,Tomcat 容器下部署的工程,如果不使用后台模式启动,而是使用窗口模式启动,可能会因为误点窗口,导致窗口进入编辑插入状态,阻塞日志输出,从而导致工程卡死。

因此建议 Windows 系统中,Tomcat 容器下部署的工程,Tomcat 使用后台模式启动。

操作步骤:

先修改默认启动模式为 javaw 。为了防止重复启动,再添加脚本检测启动命令,按任意键即可结束脚本。

1)修改setclasspath.bat

打开%Tomcat_HOME%\bin\setclasspath.bat,找到并修改set _RUNJAVA的值:

set _RUNJAVA="%JRE_HOME%\bin\javaw.exe"

2)修改catalina.bat

打开%Tomcat_HOME%\bin\catalina.bat,在最后加上判断提示:

set ENV_VAR_VALUE=%_EXECJAVA%
echo %ENV_VAR_VALUE% | findstr /C:"javaw" >nul
if %errorlevel% equ 0 (
    echo tomcat is running in the background
    pause
)

3.3 端口检查

端口检查的检测项包括:

巡检项

编号

检测项

集群节点是

否分别检查

是否支持

快速修复

健康标准及修改建议
0301websocket端口仅输出信息

包括:端口号

0302集群端口

检测集群端口是否畅通

健康:端口间畅通

不健康:端口存在不畅通

修改建议:集群端口连通性状态异常

0303宕机检测端口

检测:

1)宕机自动检测是否开启

2)宕机端口是否畅通

优化建议:建议开启宕机检测并保证端口可用

0301 websocket端口

WebSocket 主要用于刷新 token、用户被踢出、平台消息、内存和 CPU 显示、平台日志处当前系统在线人数、数据连接编辑状态的确定。

WebSocket 不开放影响 socket 通信,访问可能异常断开。

用户可根据自己的工程情况选择合适的 WebSocket 端口配置方法,详情请参见下表:

方案场景配置方法
容器Websocket方案容器Websocket方案,无需任何用户操作,系统可自动使用Web容器自带的WebSocket进行连接,端口复用http端口
  • 只需用户环境满足生效条件,则自动使用该方案

  • 若用户环境不满足生效条件,则可考虑自行配置socket.io方案

容器Websocket方案
socket.io方案单机环境配置 WebSocket 端口单机配置WebSocket端口
集群环境配置 WebSocket 端口集群配置WebSocket端口
HTTPS 环境配置 Websocket 端口HTTPS环境配置WebSocket
仅对外开放一个端口不额外给WebSocket对外开放端口

0302 集群端口

管理员登录数据决策平台,点击「管理系统>智能运维>集群配置」。

  • 可查看集群各个节点的端口,无法使用的节点飘红。

  • 可编辑节点端口,鼠标悬浮即可出现编辑按钮。

1729564930345920.png

0303 宕机检测端口

管理员数据决策平台,点击「管理系统>智能运维>宕机处理」。

  • 可查看宕机自动处理工具使用的端口。默认端口为12100。

  • 可修改端口,点击「保存」即可。

  • 可点击「测试」,测试端口可用性。

3.png

3.4 网络检查

检查文件服务器、外接数据库、状态服务器和应用之间通信是否正常,是否能够ping通,是否存在丢包情况。

3.5 磁盘检查

磁盘检查的检测项包括:

巡检项

编号

检测项

集群节点是

否分别检查

是否支持

快速修复

健康标准及修改建议
0501顺序读取

仅输出信息

包括:顺序读取的速度(若低于100,则不显示具体数值,仅提示「速率小于100MB/S」)

注:windows系统下若权限不足,请手动使用命令检测「winsat disk -drive 盘符 -seq -read」

0502顺序写

仅输出信息

包括:顺序写的速度(若低于100,则不显示具体数值,仅提示「速率小于100MB/S」)

注:windows系统下若权限不足,请手动使用命令检测「winsat disk -drive 盘符 -seq -write」

0504小文件创建

仅输出信息

包括:每秒创建小文件个数

0505小文件删除仅输出信息

包括:每秒删除小文件个数

0506磁盘空间

1)FineDataLink:

健康:磁盘总大小≥100GB

不健康:磁盘总大小<100GB

修改建议:建议磁盘总大小高于100GB

2)FineReport:

健康:磁盘总大小≥100GB

不健康:磁盘总大小<100GB

修改建议:建议磁盘总大小高于100GB

3)FineBI:

健康:磁盘总大小≥400GB

不健康:磁盘总大小<400GB

修改建议:建议磁盘总大小高于400GB

0507已使用磁盘空间

仅输出信息

包括:已使用的磁盘空间大小

0508空闲磁盘空间

1)FineDataLink:

健康:磁盘余量高于50GB

不健康:磁盘余量不足50GB

修改建议:磁盘余量不足50GB,建议清理磁盘大文件避免影响使用

2)FineReport:

健康:磁盘余量高于10GB

不健康:磁盘余量不足10GB

修改建议:磁盘余量不足10GB,建议清理磁盘大文件避免影响使用

3)FineBI:

健康:磁盘余量高于50GB

不健康:磁盘余量不足50GB

修改建议:磁盘余量不足50GB,建议清理磁盘大文件避免影响使用

0509顺序读取(非缓冲池)

仅输出信息

包括:非缓冲池顺序读取的速度(若低于100,则不显示具体数值,仅提示「速率小于100MB/S」)

0510顺序写入(非缓冲池)

仅输出信息

包括:非缓冲池顺序写入的速度(若低于100,则不显示具体数值,仅提示「速率小于100MB/S」)

3.6 非容器化部署信息

非容器化部署的检测项包括:

巡检项

编号

检测项

集群节点是

否分别检查

是否支持

快速修复

健康标准
0601进程用户

仅输出信息

包括:用户名称

0602服务器主要文件夹权限

仅输出信息

包括:缓存文件夹、resources、assets、assist、finedb的权限

注:文件服务器权限不输出

0603多进程检测

健康:帆软应用所需最大内存+其他进程使用内存<总物理内存

不健康:帆软应用所需最大内存+其他进程使用内存≥总物理内存

修改建议:建议帆软工程不要与其他应用服务共用服务器,否则会有宕机风险

3.7 环境检查

环境检查的检测项包括:

巡检项

编号

检测项

集群节点是

否分别检查

是否支持

快速修复

健康标准
0701vm.max_map_count

健康:vm.max_map_count≥262144

不健康:vm.max_map_count<262144

修改建议:建议配置 vm.max_map_count 参数为 262144

0702最大文件打开数

1)FineReport/FineDataLink:

健康:open_files≥65535

不健康:open_files<65535

修改建议:建议open_files参数配置不低于65535

2)FineBI:

健康:open_files≥131070

不健康:open_files<131070

修改建议:建议open_files参数配置不低于131070

0703vm.overcommit_memory

健康:overcommit_memory=0

不健康:overcommit_memory≠0

修改建议:建议vm.overcommit_memory参数配置为0

0704vm.overcommit_ratio

健康:overcommit_ratio=50

不健康:overcommit_ratio≠50

修改建议:建议vm.overcommit_ratio参数配置为50

0705gblic内存泄露相关配置

检测是否配置了export MALLOC_ARENA_MAX参数

健康:export MALLOC_ARENA_MAX=1

不健康:未配置/配置其他值

修改建议:建议配置export MALLOC_ARENA_MAX=1

0706redis淘汰策略

健康:redis的淘汰策略是maxmemory-policy noeviction

不健康:redis的淘汰策略不是maxmemory-policy noeviction

修改建议:建议redis的淘汰策略设置为maxmemory-policy noeviction,否则可能因为redis的key被意外淘汰而造成不可预估的后果

0707最大进程数nproc

健康最大进程数nproc大于等于266240

不健康:最大进程数nproc小于266240

修改建议:建议最大进程数nproc参数配置不低于266240


0701 vm.max_map_count



参数简介

vm.max_map_count是一个Linux系统内核参数,用于控制在一个进程中允许mmap映射内存区域的最大数量。

如果该参数的值太小,那么在使用一些应用程序时,可能会出现内存映射错误。 

配置建议建议配置 vm.max_map_count 参数为 262144
修改方式

1)在/etc/sysctl.conf文件中添加/修改参数值

vm.max_map_count=262144

2)运行以下命令使更改生效

sysctl -p

0702 最大文件打开数



参数简介

open_files是指一个进程可以同时打开的文件描述符的最大数量。

文件描述符是Unix系统中用于访问文件(包括管道、套接字和其他文件操作)的唯一标识符。

配置建议

建议FineReport和FineDataLink工程的open_files参数配置不低于65535

建议FineBI工程的open_files参数配置不低于131070

修改方式

1)删除系统级别限制

检查/etc/profile文件中,是否存在 ulimit -n xxx 相关语句

若存在,删除相关语句,并使用 source /etc/profile 语句重新加载 shell 环境

2)修改用户级别限制

打开Linux的软硬件限制文件/etc/security/limits.conf,在文件尾部添加如下代码: 

* soft nofile 65535

* hard nofile 65535

上述命令中,hard表示系统的硬限制,soft表示用户的软限制。

部分系统需要将「*」替换为具体用户名才生效,例如 root soft nofile 65535

3)加载 pam_limits.so 模块

打开/etc/pam.d/login 文件,确保其中包含以下行(通常位于 session 部分):

如果不存在,直接添加;如果已存在但被注释(以 # 开头),取消注释

session required pam_limits.so

该操作是为了确保用户登录终端时,系统能够加载 pam_limits.so 模块,从而应用 limits.conf中定义的资源限制

4)终端重新登录并重启帆软应用

配置完成后,终端用户重新登录,并重启帆软应用,配置方可生效。

可使用ulimit -n命令,根据返回值确认是否修改成功。

0703 overcommit_memory



参数简介

vm.overcommit_memory 是一个Linux内核参数,它控制了系统是否允许进程分配超过可用内存的内存量。

当参数值为0时,内核将检查是否有足够的可用内存来满足提交的内存需求。如果有足够的空闲内存,则允许进程继续分配内存;否则分配请求将失败并返回错误。

配置建议建议vm.overcommit_memory参数配置为0
修改方式

1)在/etc/sysctl.conf文件中添加/修改参数值

vm.overcommit_memory=0

2)运行以下命令使更改生效

sysctl -p

0704 overcommit_ratio



参数简介

vm.overcommit_ratio 是一个 Linux 内核参数,它指定了系统 VMware 超大页管理器(Memory Ballooning)和 Swap 空间使用的比例。

当参数值为50时,内核使用适当的 Swap 两倍大小作为另一个备用空间,用于模拟物理内存。

配置建议建议vm.overcommit_ratio参数配置为50
修改方式

1)在/etc/sysctl.conf文件中添加/修改参数值

vm.overcommit_ratio=50

2)运行以下命令使更改生效

sysctl -p

0705 gblic内存泄露相关配置



参数简介为了防止glibc中的内存泄漏,可以通过在环境变量中设置MALLOC_ARENA_MAX来限制glibc在分配和释放动态内存时使用的堆空间数量。
配置建议建议配置export MALLOC_ARENA_MAX=1
修改方式

1)关闭Tomcat服务器。

2)进入%Tomcat_HOME%/bin目录,打开 startup.sh 文件。

3)在文件开头添加/修改行:export MALLOC_ARENA_MAX=1

4)保存对 startup.sh 文件的修改并关闭。

5)在终端中运行 startup.sh 文件,重启Tomcat并应用新的环境变量设置。

0706 redis淘汰策略



策略简介

Redis淘汰策略设置为noeviction时,当达到最大内存限制时,不会淘汰任何现有数据,并拒绝新的写入操作(包括写命令、数据更新等)

使用该策略可以确保所有数据都不会被自动删除,从而保持数据的完整性,避免内存不足导致数据丢失。

修改方式在 Redis 安装目录下,找到 redis.conf 配置文件,找到配置项 maxmemory-policy,将其设置为 noeviction

修改后,需要重启 Redis 服务以使配置生效。

0707 最大进程数nproc



参数简介

在 Linux 系统中,nproc 表示当前用户可以启动的最大进程数。这个限制通常在系统级别设置,但也可以针对单个用户进行配置。

如果 nproc 限制过低,当达到 nproc 的限制,可能会导致应用程序无法启动新的进程,从而影响用户体验或系统功能。

配置建议建议最大进程数 nproc 参数配置不低于 266240
修改方式

以 root 用户身份编辑 /etc/security 或 /etc 文件夹下的 limits.conf文件

添加或修改以下行(username 是要设置限制的用户名,请自行修改。soft 是软限制,是默认值。hard 是硬限制,是最大值):

# 对特定用户设置 nproc 限制

username soft nproc 266240

username hard nproc 266240

# 对所有用户设置 nproc 限制

* soft nproc 266240

* hard nproc 266240

3.8 Java 虚拟机检查

Java虚拟机的检测项包括:

巡检项

编号

检测项

集群节点是

否分别检查

是否支持

快速修复

健康标准
0801堆外NIO内存

bi-web:建议配置JVM NIO占用大于等于1536MB,且小于等于2GB

bi-engine-worker:建议配置JVM NIO占用大于等于max(6GB,xmx*0.4GB)

bi-engine-master:建议配置JVM NIO占用大于等于768MB

fr、fdl:建议配置JVM NIO占用小于等于2GB

bi6.0且小版本在6.0.16及之后:建议配置JVM NIO占用大于等于xmx*0.4GB

bi6.0且小版本在bi6.0.16之前:建议配置JVM NIO占用大于等于4GB

0802
堆外fineIO读内存

建议配置JVM fineIO读内存占用堆外内存至少2GB

0803堆外fineIO写内存

建议配置JVM fineIO写内存占用堆外内存至少1GB

0804垃圾回收器类型

1)bi-web、fr、fdl

建议 JVM 使用垃圾回收器类型为 ParallelScavenge

2)bi-engine-worker、bi-engine-master

如使用JDK8,建议 JVM 使用垃圾回收器类型为 ParallelScavenge

如使用JDK11,建议 JVM 使用垃圾回收器类型为 G1GC

0805DisableExplicitGC参数

健康:不配置DisableExplicitGC参数

不健康:配置了DisableExplicitGC参数

修改建议:建议取消DisableExplicitGC参数配置

0806JDK版本

bi-web、fr、fdl:建议使用小版本在202及以上的JDK8

bi-engine-worker、bi-engine-master:建议使用JDK11,或小版本在202及以上的JDK8

0807headless模式

健康:已配置-Djava.awt.headless=true

不健康:未配置-Djava.awt.headless=true

修改建议:建议配置 -Djava.awt.headless=true 以启用 headless 模式

0808dump导出

健康:已配置HeapDumpOnOutOfMemoryError及HeapDumpPath

不健康:未配置HeapDumpOnOutOfMemoryError及HeapDumpPath

修改建议:建议配置HeapDumpOnOutOfMemoryError及HeapDumpPath以保证正常导出dump

0809BytecodeRecompilationCutoff配置

健康:-XX:PerBytecodeRecompilationCutoff = -1

不健康:-XX:PerBytecodeRecompilationCutoff-1

修改建议:建议配置-XX:PerBytecodeRecompilationCutoff=-1

0810PerMethodRecompilationCutoff配置

健康:-XX:PerMethodRecompilationCutoff = -1

不健康:-XX:PerMethodRecompilationCutoff≠ -1

修改建议:建议配置-XX:PerMethodRecompilationCutoff=-1

0811安装包部署

注:FineBI特有检查项

健康:非exe方式部署
不健康:exe方式部署
修改建议:建议使用运维平台部署

0813codecache配置

fr和fdl:建议CodeCacheSize大于等于512M

bi6:建议-XX:ReservedCodeCacheSize大于等于1024m

bi-web:

建议CodeCacheSize至少大于等于768M

当容器内存限制在6~8G时,建议CodeCacheSize大于等于768M

当容器内存限制在8G以上时,建议CodeCacheSize大于等于1GB

bi-engine-worker:

建议CodeCacheSize至少大于等于768M

当容器内存限制在32~64G时,建议CodeCacheSize大于等于1GB

bi-engine-master:

建议CodeCacheSize至少大于等于256M

当容器内存限制在6~16G时,建议CodeCacheSize大于等于256M

当容器内存限制在16~32G时,建议CodeCacheSize大于等于512M

当容器内存限制在32G以上时,建议CodeCacheSize大于等于1GB

0814语言配置-Duser.country

健康:-Duser.country=CN

不健康:-Duser.country≠CN

修改建议:建议配置-Duser.country=CN

0815语言配置-Duser.language

健康:-Duser.language=zh

不健康:-Duser.language≠zh

修改建议:建议配置-Duser.language=zh
0816zip相关配置-Dsun.zip.disableMemoryMapping

健康:-Dsun.zip.disableMemoryMapping=true

不健康:-Dsun.zip.disableMemoryMapping≠true

修改建议:建议配置-Dsun.zip.disableMemoryMapping=true
0817堆内老年代与新生代大小比例

健康:-XX:NewRatio=2

不健康:-XX:NewRatio≠2

修改建议:建议堆内老年代与新生代大小比例为 2,即-XX:NewRatio=2

0818栈空间

健康:-Xss小于等于1024

不健康:-Xss大于1024

修改建议:建议单线程使用栈空间不超过1024KB,即 -Xss 的值不超过 1024。例如-Xss
0819debug模式

健康:未配置参数 -agentlib:jdwp 和 -Xrunjdwp

不健康:配置了参数 -agentlib:jdwp 和 -Xrunjdwp

修改建议:建议取消debug模式,删除两个参数 -agentlib:jdwp 和 -Xrunjdwp
0820堆内内存

健康:

fr、fdl、bi6:堆内内存小于等于32766MB或大于等于48GB

bi-web:堆内内存大于等于6GB且小于等于32766MB

bi-engine-worker堆内内存大于等于12800MB且小于等于32766MB

bi-engine-master堆内内存大于等于2420MB且小于等于32766MB

修改建议:

为保证应用响应性能,建议配置为32766m或以内

bi6额外提醒:如果需要使用更大内存,在保证物理机内存充足的情况下,可以配置为48G~64G,但可能带来一定的响应性能下降

0821xms配置

健康:Xms=Xmx

不健康:Xms≠Xmx

修改建议:建议配置Xms=Xmx

0822JDK位置仅输出信息
0823元数据空间配置

fr、fdl、bi6:

建议MaxMetaspaceSize大于等于2G

bi-web:

建议MaxMetaspaceSize至少大于等于768M

当容器内存限制在6~8G时,建议MaxMetaspaceSize大于等于768M

当容器内存限制在8G以上时,建议MaxMetaspaceSize大于等于1GB

bi-engine-worker:

建议MaxMetaspaceSize至少大于等于768M

当容器内存限制在32~64G时,建议MaxMetaspaceSize大于等于1GB

bi-engine-master:

建议MaxMetaspaceSize至少大于等于256M

当容器内存限制在6~16G时,建议MaxMetaspaceSize大于等于256M

当容器内存限制在16~32G时,建议MaxMetaspaceSize大于等于512M

当容器内存限制在32G以上时建议MaxMetaspaceSize大于等于1GB

0824dump输出所需磁盘空间

健康:dump输出目录剩余磁盘 > 堆内存*2

不健康:dump输出目录剩余磁盘≤堆内存*2

修改建议:建议清理「dump输出目录」的磁盘空间至「2*堆内存」以保证正常导出dump

0801 堆外NIO内存

1)建议值

产品
建议值
FineBI6.1及以上

bi-web:建议配置JVM NIO占用大于等于1536MB,且小于等于2GB

bi-engine-worker:建议配置JVM NIO占用大于等于max(6GB,xmx*0.4GB)

bi-engine-master:建议配置JVM NIO占用大于等于768MB

FineReport

FineDataLink

建议配置JVM NIO占用小于等于2GB
FineBI6.0且小版本在6.0.16及之后建议配置JVM NIO占用xmx*0.4GB
FineBI6.0且小版本在bi6.0.16之前建议配置JVM NIO占用大于等于4GB

2)修改方式

NIO由-XX:MaxDirectMemorySize这个参数控制。请根据自身工程部署情况选择修改方法。

部署方式
修改方案
运维平台部署的项目

运维平台部署的项目,默认为工程配置了该参数,一般无需修复

如存在问题,请使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复

如无法使用快速修复,请使用「运维平台>项目>维护>组件管理」更改项目组件配置

非运维平台部署的项目

操作系统为Linux

中间件类型为Tomcat

  • 如项目已接入运维平台,推荐使用运维平台的「系统巡检」界面的「快速修复」按钮进行修复

  • 如项目未接入运维平台,推荐使用帆软应用的「管理系统>智能运维>健康巡检」界面的「快速修复」按钮进行修复

  • 无创建、读写文件的权限,无法使用「快速修复」,可手动配置:

1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。

如果文件不存在,可以创建一个新的setenv.sh文件。

2)在文件末尾添加以下行:

JAVA_OPTS="$JAVA_OPTS -XX:MaxDirectMemorySize=2g"

3)配置完成后重启工程生效。

非运维平台部署的项目

操作系统为Windows

中间件类型为Tomcat

  • 如项目已接入运维平台,推荐使用运维平台的「系统巡检」界面的「快速修复」按钮进行修复

  • 如项目未接入运维平台,推荐使用帆软应用的「管理系统>智能运维>健康巡检」界面的「快速修复」按钮进行修复

  • 无创建、读写文件的权限,无法使用「快速修复」,可手动配置:

1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。

如果文件不存在,可以创建一个新的setenv.bat文件。

2)文件末尾添加以下行:

set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=2g

3)配置完成后重启工程生效

0802 堆外fineIO读内存

1)建议值

建议配置JVM fineIO读内存占用堆外内存至少2GB。

2)修改方式

fineIO 读内存由-Dfineio.read_mem_limit这个参数来设置。请根据自身工程部署情况选择修改方法。

读内存的默认单位为 GB,支持小数,但不支持使用 g、m 等。建议读内存为写内存的2-3倍,缓存大小建议与写内存大小一致。

部署方式
修改方案
运维平台部署的项目

运维平台部署的项目,默认为工程的bi6/fr/fdl组件配置了该参数,一般无需修复

如存在问题,请使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复

如无法使用快速修复,请使用「运维平台>项目>维护>组件管理」更改项目组件配置

非运维平台部署的项目

操作系统为Linux

中间件类型为Tomcat

  • 如项目已接入运维平台,推荐使用运维平台的「系统巡检」界面的「快速修复」按钮进行修复

  • 如项目未接入运维平台,推荐使用帆软应用的「管理系统>智能运维>健康巡检」界面的「快速修复」按钮进行修复

  • 无创建、读写文件的权限,无法使用「快速修复」,可手动配置:

1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。

如果文件不存在,可以创建一个新的setenv.sh文件。

2)在文件末尾添加以下行:

JAVA_OPTS="$JAVA_OPTS -Dfineio.read_mem_limit=2"

3)配置完成后重启工程生效。

非运维平台部署的项目

操作系统为Windows

中间件类型为Tomcat

  • 如项目已接入运维平台,推荐使用运维平台的「系统巡检」界面的「快速修复」按钮进行修复

  • 如项目未接入运维平台,推荐使用帆软应用的「管理系统>智能运维>健康巡检」界面的「快速修复」按钮进行修复

  • 无创建、读写文件的权限,无法使用「快速修复」,可手动配置:

1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。

如果文件不存在,可以创建一个新的setenv.bat文件。

2)文件末尾添加以下行:

set JAVA_OPTS=%JAVA_OPTS% -Dfineio.read_mem_limit=2

3)配置完成后重启工程生效

0803 堆外fineIO写内存

1)建议值

建议配置JVM fineIO写内存占用堆外内存至少1GB。

2)修改方式

fineIO 写内存由-Dfineio.write_mem_limit这个参数来设置。请根据自身工程部署情况选择修改方法。

写内存的默认单位为 GB,支持小数,但不支持使用 g、m 等。建议读内存为写内存的2-3倍,缓存大小建议与写内存大小一致。

部署方式
修改方案
运维平台部署的项目

运维平台部署的项目,默认为工程的bi6/fr/fdl组件配置了该参数,一般无需修复

如存在问题,请使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复

如无法使用快速修复,请使用「运维平台>项目>维护>组件管理」更改项目组件配置

非运维平台部署的项目

操作系统为Linux

中间件类型为Tomcat

  • 如项目已接入运维平台,推荐使用运维平台的「系统巡检」界面的「快速修复」按钮进行修复

  • 如项目未接入运维平台,推荐使用帆软应用的「管理系统>智能运维>健康巡检」界面的「快速修复」按钮进行修复

  • 无创建、读写文件的权限,无法使用「快速修复」,可手动配置:

1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。

如果文件不存在,可以创建一个新的setenv.sh文件。

2)在文件末尾添加以下行:

JAVA_OPTS="$JAVA_OPTS -Dfineio.write_mem_limit=1"

3)配置完成后重启工程生效。

非运维平台部署的项目

操作系统为Windows

中间件类型为Tomcat

  • 如项目已接入运维平台,推荐使用运维平台的「系统巡检」界面的「快速修复」按钮进行修复

  • 如项目未接入运维平台,推荐使用帆软应用的「管理系统>智能运维>健康巡检」界面的「快速修复」按钮进行修复

  • 无创建、读写文件的权限,无法使用「快速修复」,可手动配置:

1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。

如果文件不存在,可以创建一个新的setenv.bat文件。

2)文件末尾添加以下行:

set JAVA_OPTS=%JAVA_OPTS% -Dfineio.write_mem_limit=1

3)配置完成后重启工程生效

0804 垃圾回收器类型

1)建议值



帆软应用组件:bi-web/fr/fdl默认使用JDK8,建议 JVM 使用垃圾回收器类型为 ParallelScavenge
bi计算引擎组件:bi-engine-worker/bi-engine-master

默认使用JDK11,建议 JVM 使用垃圾回收器类型为 G1GC

支持使用JDK8,建议 JVM 使用垃圾回收器类型为 ParallelScavenge

2)修改方式

本节介绍设置垃圾收集器为Parallel Scavenge(并行收集器)的方法。

如需设置为G1GC,将下文语句中的ParallelGC调整为G1GC即可

部署方式
修改方案
运维平台部署的项目

1)进入项目挂载目录/fanruanxxx/fr/mount目录,寻找名为setenv.sh的文件

2)在文件末尾添加/修改以下行:

JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelGC"

3)配置完成后重启工程生效。

非运维平台部署的项目

操作系统为Linux

中间件类型为Tomcat

1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。

如果文件不存在,可以创建一个新的setenv.sh文件。

2)在文件末尾添加以下行:

JAVA_OPTS="$JAVA_OPTS -XX:+UseParallelGC"

3)配置完成后重启工程生效。

非运维平台部署的项目

操作系统为Windows

中间件类型为Tomcat

1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。

如果文件不存在,可以创建一个新的setenv.bat文件。

2)文件末尾添加以下行:

set JAVA_OPTS=%JAVA_OPTS% -XX:+UseParallelGC

3)配置完成后重启工程生效

0805 DisableExplicitGC 参数

1)建议值

-XX:+DisableExplicitGC参数的作用是禁用 System.gc()。System.gc() 是一种保护机制,例如堆外内存满时清理它的堆内引用对象。

建议不对 DisableExplicitGC 参数进行配置,此项配置会导致 System.gc()被禁用,影响系统稳定性。

2)修改方式

本节介绍删除 DisableExplicitGC 参数的步骤。

部署方式
修改方案
运维平台部署的项目

运维平台部署的项目,默认不配置该参数,一般无需修复

如存在问题,请使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复

非运维平台部署的项目

操作系统为Linux

中间件类型为Tomcat

  • 如项目已接入运维平台,推荐使用运维平台的「系统巡检」界面的「快速修复」按钮进行修复

  • 如项目未接入运维平台,推荐使用帆软应用的「管理系统>智能运维>健康巡检」界面的「快速修复」按钮进行修复

  • 无创建、读写文件的权限,无法使用「快速修复」,可手动配置:

1)进入%Tomcat_HOME%\bin目录,寻找名为catalina.shsetenv.sh的文件。

2)在文件中查找是否存在XX:+DisableExplicitGC,若存在,删除相关配置

3)保存修改后重启工程生效

非运维平台部署的项目

操作系统为Windows

中间件类型为Tomcat

  • 如项目已接入运维平台,推荐使用运维平台的「系统巡检」界面的「快速修复」按钮进行修复

  • 如项目未接入运维平台,推荐使用帆软应用的「管理系统>智能运维>健康巡检」界面的「快速修复」按钮进行修复

  • 无创建、读写文件的权限,无法使用「快速修复」,可手动配置:

1)进入%Tomcat_HOME%\bin目录,寻找名为catalina.batsetenv.bat的文件。

2)在文件中查找是否存在XX:+DisableExplicitGC,若存在,删除相关配置

3)保存修改后重启工程生效

0806 JDK版本

1)建议值

  • 对于帆软应用组件(bi-web、fr、fdl)

建议使用小版本在202及以上的JDK8

  • 对于bi计算引擎组件(bi-engine-worker、bi-engine-master)

默认使用且建议使用JDK11

支持使用小版本在202及以上的JDK8

2)检查方式

本文仅介绍JDK版本检查方式,如不符合版本要求,请自行查阅相关产品文档升级/重装JDK

部署方式检查方法

运维平台部署的项目

帆软服务器部署包部署的项目

内置JDK版本一定符合要求,无需检查

用户自行准备的JDK部署的项目

命令:java -version

0807 headless 模式

1)建议值

headless 模式是系统的一种工作模式,如果系统属性 java.awt.headless被设置true,那么headless工具包就会被使用。

建议配置 -Djava.awt.headless=true 以启用 headless 模式

2)修改方式

本节展示启用 headless 模式的步骤。

部署方式
修改方案
运维平台部署的项目

运维平台部署的项目,默认为工程的bi6/fr/fdl组件配置了该参数,一般无需修复

如存在问题,请使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复

非运维平台部署的项目

操作系统为Linux

中间件类型为Tomcat

  • 如项目已接入运维平台,推荐使用运维平台的「系统巡检」界面的「快速修复」按钮进行修复

  • 如项目未接入运维平台,推荐使用帆软应用的「管理系统>智能运维>健康巡检」界面的「快速修复」按钮进行修复

  • 无创建、读写文件的权限,无法使用「快速修复」,可手动配置:

1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。

如果文件不存在,可以创建一个新的setenv.sh文件。

2)在文件末尾添加以下行:

JAVA_OPTS="$JAVA_OPTS -Djava.awt.headless=true"

3)配置完成后重启工程生效。

非运维平台部署的项目

操作系统为Windows

中间件类型为Tomcat

  • 如项目已接入运维平台,推荐使用运维平台的「系统巡检」界面的「快速修复」按钮进行修复

  • 如项目未接入运维平台,推荐使用帆软应用的「管理系统>智能运维>健康巡检」界面的「快速修复」按钮进行修复

  • 无创建、读写文件的权限,无法使用「快速修复」,可手动配置:

1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。

如果文件不存在,可以创建一个新的setenv.bat文件。

2)文件末尾添加以下行:

set JAVA_OPTS=%JAVA_OPTS% -Djava.awt.headless=true

3)配置完成后重启工程生效

0808 dump导出

1)建议值

建议配置HeapDumpOnOutOfMemoryError 及 HeapDumpPath以保证正常导出dump

2)修改方式

1)-XX:+HeapDumpOnOutOfMemoryError参数表示当JVM发生OOM时,自动生成DUMP文件。

2)-XX:HeapDumpPath=${目录}参数表示生成dump文件的路径,也可以指定文件名称,例如:-XX:HeapDumpPath=${目录}/java_heapdump.hprof。

如果不指定文件名,默认为:java_<pid>_<date>_<time>_heapDump.hprof。

本节展示 Tomcat 环境下设置dump导出的步骤。

注:若有setenv.sh/setenv.bat文件,优先将启动参数加在该文件中,若无setenv文件,则加在catalina.sh/catalina.bat文件中。

  • Windows:%Tomcat%/bin目录下的catalina.bat/setenv.bat文件中新增配置,配置完成后重启工程。

set JAVA_OPTS=%JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=${目录}

  • Linux:%Tomcat%/bin目录下的catalina.sh/setenv.sh文件中新增配置,配置完成后重启工程。

JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError  -XX:HeapDumpPath=${目录}"

0810 PerMethodRecompilationCutoff配置

1)建议值

建议recompilationCutoff相关参数配置值为-1

2)修改方式

没有配置 RecompilationCutoff 参数/配置的 RecompilationCutoff 参数太小,可能会导致 spider 引擎数据更新缓慢。

本节展示 Tomcat 环境下设置 recompilationCutoff 参数的步骤。

注:若有setenv.sh/setenv.bat文件,优先将启动参数加在该文件中,若无setenv文件,则加在catalina.sh/catalina.bat文件中。

  • Windows:%Tomcat%/bin目录下的catalina.bat/setenv.bat文件中新增配置,配置完成后重启工程。

set JAVA_OPTS=%JAVA_OPTS% -XX:PerMethodRecompilationCutoff=-1 -XX:PerBytecodeRecompilationCutoff=-1

  • Linux:%Tomcat%/bin目录下的catalina.sh/setenv.sh文件中新增配置,配置完成后重启工程。

JAVA_OPTS="$JAVA_OPTS -XX:PerMethodRecompilationCutoff=-1 -XX:PerBytecodeRecompilationCutoff=-1"

0811 安装包部署

注:仅FineBI系统检测该项

建议使用web容器方式部署。详情请参见:Tomcat 服务器部署

0813 codecache配置

1)建议值

建议配置-XX:ReservedCodeCacheSize=250m

2)修改方式

ReservedCodeCacheSize参数是调整内存大小的一个设置参数,值的大小设置直接影响到Code Cache的大小。

如果Code Cache的空间不足,可能会导致JVM无法正常运行,导致性能持续降低。

注:若有setenv.sh/setenv.bat文件,优先将启动参数加在该文件中,若无setenv文件,则加在catalina.sh/catalina.bat文件中。

  • Windows:%Tomcat%/bin目录下的catalina.bat/setenv.bat文件中新增配置,配置完成后重启工程。

set JAVA_OPTS=%JAVA_OPTS% -XX:ReservedCodeCacheSize=250m

  • Linux:%Tomcat%/bin目录下的catalina.sh/setenv.sh文件中新增配置,配置完成后重启工程。

JAVA_OPTS="$JAVA_OPTS -XX:ReservedCodeCacheSize=250m"

0815 语言配置-Duser.language

1)建议值

建议配置-Duser.country=CN、-Duser.language=zh

2)修改方式

为了防止中文出现乱码现象,要配置好Tomcat 的语言编码。

注:若有setenv.sh/setenv.bat文件,优先将启动参数加在该文件中,若无setenv文件,则加在catalina.sh/catalina.bat文件中。

  • Windows:%Tomcat%/bin目录下的catalina.bat/setenv.bat文件中新增配置,配置完成后重启工程。

set JAVA_OPTS=%JAVA_OPTS% -Duser.country=CN -Duser.language=zh

  • Linux:%Tomcat%/bin目录下的catalina.sh/setenv.sh文件中新增配置,配置完成后重启工程。

JAVA_OPTS="$JAVA_OPTS -Duser.country=CN -Duser.language=zh"

0816 zip相关配置-Dsun.zip.disableMemoryMapping

1)建议值

建议配置-Dsun.zip.disableMemoryMapping=true

2)修改方式

配置该参数,可预防 jvm crash

注:若有setenv.sh/setenv.bat文件,优先将启动参数加在该文件中,若无setenv文件,则加在catalina.sh/catalina.bat文件中。

  • Windows:%Tomcat%/bin目录下的catalina.bat/setenv.bat文件中新增配置,配置完成后重启工程。

set JAVA_OPTS=%JAVA_OPTS% -Dsun.zip.disableMemoryMapping=true

  • Linux:%Tomcat%/bin目录下的catalina.sh/setenv.sh文件中新增配置,配置完成后重启工程。

JAVA_OPTS="$JAVA_OPTS -Dsun.zip.disableMemoryMapping=true"

0817 堆内老年代与新生代大小比例

1)建议值

建议 JVM 老年代与新生代大小比例设置为 2

2)修改方式

堆内老年代与新生代大小比例建议为 2(-XX:NewRatio=2,JVM的默认值);NewRatio 大小正常生效需要用户不限制新生代大小。

在设置-Xmx、-Xms参数的位置,添加 NewRatio 的值即可,本节展示 Tomcat 环境下设置 NewRatio 的步骤。

注:若有setenv.sh/setenv.bat文件,优先将启动参数加在该文件中,若无setenv文件,则加在catalina.sh/catalina.bat文件中。

  • Windows:%Tomcat%/bin目录下的catalina.bat/setenv.bat文件中新增配置,配置完成后重启工程。

set JAVA_OPTS= -Xms512M -Xmx1024M -Xss1024K

  • Linux:%Tomcat%/bin目录下的catalina.sh/setenv.sh文件中新增配置,配置完成后重启工程。

JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M -Xss1024K"

0818 栈空间

1)建议值

建议单线程使用栈空间不超过1024KB

2)修改方式

建议单线程使用栈空间不超过1024KB,即 -Xss 的值不超过 1024 。

在设置-Xmx、-Xms参数的位置,添加 -Xss 的值即可,本节展示 Tomcat 环境下设置 -Xss 的步骤。

注:若有setenv.sh/setenv.bat文件,优先将启动参数加在该文件中,若无setenv文件,则加在catalina.sh/catalina.bat文件中。

  • Windows:%Tomcat%/bin目录下的catalina.bat/setenv.bat文件中新增配置,配置完成后重启工程。

set JAVA_OPTS= -Xms512M -Xmx1024M -Xss1024K

  • Linux:%Tomcat%/bin目录下的catalina.sh/setenv.sh文件中新增配置,配置完成后重启工程。

JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M -Xss1024K"

0819 debug模式

1)建议值

建议取消debug模式

2)修改方式

debug模式由两个参数控制:-agentlib:jdwp 和 -Xrunjdwp,删除这两个参数即可取消debug模式

  • Windows:%Tomcat%/bin目录下的catalina.batsetenv.bat文件中删除-agentlib:jdwp 和 -Xrunjdwp参数,配置完成后重启工程。

  • Linux:%Tomcat%/bin目录下的catalina.shsetenv.sh文件中删除-agentlib:jdwp 和 -Xrunjdwp参数,配置完成后重启工程。

0821 xms配置

参数介绍服务器类型参考文档

-Xmx 参数:最大堆内内存

-Xms 参数:初始化内存大小

注1:Xmx/Xms 与数字之间不要有空格

注2:建议配置Xms=Xmx,以防止内存扩容失败情况

Tomcat 服务器
Tomcat 服务器内存修改
WebLogic 服务器WebLogic 服务器内存修改
WebSphere 服务器WebSphere 服务器
JBoss 服务器JBoss 服务器
Resin 服务器Resin 服务器内存修改

0823 元数据空间配置

1)参数简介:

元数据空间(Metaspace)是 Java 虚拟机(JVM)用于存储类元数据的区域。在 JVM 中,元数据包括类的结构信息、方法信息、字段信息等。

元数据空间配置 MaxMetaspaceSize 用于设置元数据空间的最大大小。当元数据空间超过这个限制时,JVM 会发生垃圾回收以释放不再使用的元数据。

2)建议配置:

建议配置 MaxMetaspaceSize 参数为 2G

3)修改方式:

本节展示 Tomcat 环境下设置 MaxMetaspaceSize 的步骤。

  • Windows:进入%Tomcat_HOME%\bin目录。寻找名为setenv.bat的文件。如果文件不存在,可以创建一个新的setenv.bat文件。在文件中添加以下行来设置,配置完成后重启工程。

set JAVA_OPTS=%JAVA_OPTS% -XX:MaxMetaspaceSize=2G

  • Linux:进入%Tomcat_HOME%\bin目录。寻找名为setenv.sh的文件。如果文件不存在,可以创建一个新的setenv.sh文件。在文件中添加以下行来设置,配置完成后重启工程。

JAVA_OPTS="$JAVA_OPTS -XX:MaxMetaspaceSize=2G"

3.9 服务联通性检查

服务联通性检查的检测项包括:

巡检项

编号

检测项

集群节点是

否分别检查

是否为宕

机检查项

是否支持

快速修复

健康标准
0901Redis联通检测工程与Redis组件之间是否联通
0902文件服务器联通检测工程与文件服务器组件之间是否联通
0903FineDB联通检测工程与FineDB数据库之间是否联通

3.10 业务检查

业务检查的检测项包括:

巡检项

编号

检测项

集群节点是

否分别检查

是否支持

快速修复

健康标准
1001finedb

检测finedb数据库的类型

健康:finedb迁移到了外接数据库

不健康:finedb使用内置HSQL数据库

修改建议:建议将finedb迁移至更稳定的外接数据库中。

1002日志级别

检测「管理系统>智能运维>平台日志>全局设置」中的「系统日志级别」

健康:日志级别高于debug级别

不健康:日志级别为debug级别

修改建议:建议设置日志级别为 info。

1003日志清理

检测「管理系统>智能运维>平台日志>全局设置」中「自动清理」周期

健康:配置了自动清理,自动清理超过三个月的日志

不健康:未配置自动清理

修改建议:建议开启平台日志自动清理并配置清理周期小于六个月。

1004自动备份磁盘占用限制

检测「管理系统>智能运维>备份还原>全局设置」中设置的自动备份可占用磁盘大小

健康:各模块自动备份可占磁盘不超过1024M

不健康:各模块自动备份可占磁盘超过1024M

修改建议:建议各模块自动备份可占磁盘不超过1024M。

1005自动备份保留数量限制

检测「管理系统>智能运维>备份还原>全局设置」中设置的自动备份保留数量

健康:各模块成功/失败自动备份可分别保留不超过5份

不健康:各模块成功/失败自动备份可分别保留超过5份

修改建议:建议自动备份默认保存不超过5份。

1006定时调度任务清理配置

检测定时调度任务>调度对象中,文件处理方式的设置

健康:仅保留最近一次或任务结束即清理

不健康:其他文件处理方式

修改建议:建议定时调度调度对象文件处理设置为「仅保留最近一次」。

1007内存数据行数限制

注:仅FineBI系统检测该项

检测「管理系统>系统管理>常规>BI参数」 中的「数据访问量」参数

健康:不超过100w

不健康:超过100w

修改建议:建议数据访问量不超过100w。

1008快速分析单元格数限制

注:仅FineBI系统检测该项

检测系统的spider_fast_compute_limit_unit参数值

健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_unit参数值不超过10000000

不健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_unit参数值超过10000000

1009快速分析内存大小限制

注:仅FineBI系统检测该项

检测系统的spider_fast_compute_limit_memory参数值

健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_memory参数值不超过500000000

不健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_memory参数值超过500000000

1010快速分析更新单元格数限制

注:仅FineBI系统检测该项

检测系统的spider_update_fast_compute_limit_cell参数值

健康:DistributedOptimizationConfig.spiderConfig.spider_update_fast_compute_limit_cell参数值不超过100000000

不健康:DistributedOptimizationConfig.spiderConfig.spider_update_fast_compute_limit_cell参数值超过100000000

1011快速分析行数限制

注:仅FineBI系统检测该项

检测系统的spider_fast_compute_limit_row参数值

健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_row参数值不超过10000000

不健康:DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_row参数值超过10000000

1012spark计算结果内存大小限制

注:仅FineBI系统检测该项

检测系统的spiderConfig.spark_driver_maxResultSize参数值

健康:DistributedOptimizationConfig.spiderConfig.spark_driver_maxResultSize参数值不超过10000000

不健康:DistributedOptimizationConfig.spiderConfig.spark_driver_maxResultSize参数值超过10000000

1013spark内存大小限制
注:仅FineBI系统检测该项

检测系统的spark_memory_fracrtion参数值

修改建议:建议spark_memory_fraction 参数设置不超过0.3*堆内内存的1/8且最大不超过0.6

1014外接库的数据库编码/字符集仅输出信息

包括finedb外接数据库的数据库编码/字符集

外接数据库配置步骤请参见:配置外接数据库

1015集群参数配置

仅输出信息

检测「管理系统>智能运维>集群配置>参数配置」中的内部转发参数

集群参数配置请参见:集群参数配置

1016更新资源无限制时间段配置

注:仅FineBI系统检测该项

仅输出信息

检测「管理系统>系统管理>常规>抽取参数」 中的「更新高性能时间区间」参数

BI参数配置请参见:BI/Spider参数

1017二级缓存开启情况

仅输出信息

检测系统是否配置二级缓存

二级缓存开启及配置请参见:指定ehcache缓存路径

1018sql执行时长限制

检测「管理系统>智能运维>负载管理>模板限制>通用限制」中的sql执行时长限制

健康:开启了sql执行时长限制

不健康:未开启sql执行时长限制

修改建议:建议开启系统管理-智能运维-负载管理-模板限制-通用限制-sql执行时长限制功能。

1019单模板单元格数限制

检测「管理系统>智能运维>负载管理>模板限制>通用限制」中的单模板单元格限制

健康:开启了单模板单元格限制

不健康:未开启单模板单元格限制

修改建议:建议开启系统管理-智能运维-负载管理-模板限制-通用限制-单模板单元格限制功能。

1020导入excel单元格数限制

检测「管理系统>智能运维>负载管理>模板限制>通用限制」中的导入Excel单元格限制

健康:开启了导入Excel单元格限制

不健康:未开启导入Excel单元格限制

修改建议:建议开启系统管理-智能运维-负载管理-模板限制-通用限制-导入excel单元格限制功能。

1022单数据集行数限制

检测「管理系统>智能运维>负载管理>模板限制>通用限制」中的单数据集行数限制

健康:开启了单数据集行数限制

不健康:未开启单数据集行数限制

修改建议:建议开启系统管理-智能运维-负载管理-模板限制-通用限制- 单数据集行数限制功能。

1023负载预警开启

仅输出信息

检测「管理系统>智能运维>负载管理>负载监控」中是否开启「智能预警」

详情请参见:负载管理

1024脏数据检测

注:仅FineBI系统检测该项

检测是否存在脏数据

健康:0条脏数据

不健康:x条脏数据

修改方法:有X条脏数据,建议在「BI工具」-「检测」-「脏数据」中进行排查清理

1025是否开启云端运维

仅输出信息

检测系统是否开启云端运维

云端运维功能请参见:云端运维

1026密码强度限制检测

检测「管理系统>系统管理>登录」中是否开启「密码强度限制」

健康:开启了密码强度限制

不健康:未开启密码强度限制

修改建议:未开启密码强度限制,密码强度较低可能容易被攻击,导致安全问题,建议在[管理系统]-[系统管理]-[登录]中打开密码强度限制

1027提交记录数限制

检测「管理系统>智能运维>负载管理>模板限制」中是否开启「提交记录数限制」

健康:开启了提交记录数限制

不健康:未开启提交记录数限制

修改建议:建议开启管理系统-智能运维-内存管理-模板限制-通用限制- 提交记录数限制

1028单个图表导出数据量限制检测「管理系统>智能运维>负载管理>模板限制」中是否开启「单个图表导出数据量限制」

健康:开启了单个图表导出数据量限制

不健康:未开启单个图表导出数据量限制

修改建议:建议开启管理系统-智能运维-内存管理-模板限制-通用限制- 提交记录数限制

1029模板限制放宽检测「管理系统>智能运维>负载管理>模板限制」中是否配置「放宽限制」

健康:未单独放宽限制

不健康:为部分模板放宽限制

修改建议:不建议设置放宽模板,可能因放宽模板导致系统资源占用过多最终宕机

1030抽数缓存启用

检测「管理系统>抽数缓存」中是否开启缓

健康:开启缓存

不健康:未开启缓存

修改建议:建议开启抽数缓存中的开启缓存设置

1031抽数缓存空间限制

仅当上一步抽数缓存开启后,检测该

仅输出信息

检测「管理系统>抽数缓存」中的缓存内存空间限制值

1032决策报表并行计算启用

检测「管理系统>系统管理>常规」中是否开启「并行计算报表块

健康:开启并行计算报表块

不健康:未开启并行计算报表块

修改建议:建议开启管理系统-系统管理-常规-决策报表计算全局设置-并行计算报表块功能

1033宕机处理工具开启检测「管理系统>智能运维>宕机处理>宕机自动处理工具」中是否开启「宕机自动处理」

健康:开启宕机自动处理

不健康:未开启宕机自动处理

修改建议:建议开启管理系统-智能运维-宕机处理-宕机自动处理工具-宕机自动处理功能

1034宕机处理工具自动输出堆栈检测「管理系统>智能运维>宕机处理>宕机自动处理工具」中是否开启「宕机导出内存堆栈」

健康:开启宕机导出内存堆栈

不健康:未开启宕机导出内存堆栈

修改建议:建议开启管理系统-智能运维-宕机处理-宕机自动处理工具-宕机导出内存堆栈功能

1035生命周期设置仅输出信息
1036spark内存比例

注:仅FineBI系统检测该项

仅输出信息

检测系统中以下参数值

DistributedOptimizationConfig.spiderConfig.spark_memory_fraction

1037更新相关配置

注:仅FineBI系统检测该项

仅输出信息

检测系统中以下参数值

SystemOptimizationConfig.spiderConfig.threadPoolStrategy

SystemOptimizationConfig.tableLoadThreadPoolNum

DistributedOptimizationConfig.spiderConfig.spider_high_performance_resource_time

SystemOptimizationConfig.baseTableLoadDynamicThreadCoreSizeStr

SystemOptimizationConfig.fastTableLoadDynamicThreadCoreSizeStr

1038更新sql复杂度限制

注:仅FineBI系统检测该项

仅输出信息

检测系统中以下参数值

systemOptimizationConfig.optimizeSqlMaxComplexity

1039gzip配置

健康:

工程版本在FR11.0.21/BI6.0.15之前,未开启 Gzip 压缩

工程版本在FR11.0.21/BI6.0.15及之后,无论是否开启 Gzip 压缩,均为健康情况

不健康:

工程版本在FR11.0.21/BI6.0.15之前,开启了 Gzip 压缩

修改建议:

建议关闭gzip或升级至FR11.0.21/BI6.0.15及之后的版本,否则可能会出现宕机风险

1040长短查询配置注:仅FineBI系统检测该项

仅输出信息

检测系统中以下参数值

DistributedOptimizationConfig.spiderConfig.spider_query_timeout_open

1041logdb配置

如为三节点及以上集群环境,且工程当月日均访问量大于1W

建议将logdb切换至elasticsearch,避免出现性能及宕机问题

1042内存测量配置

仅输出信息

检测系统中以下参数值

ExecuteRecordConfiguration.asyncRecord

1043引擎配置注:仅FineBI系统检测该项

仅输出信息

检测系统中以下参数值

DistributedOptimizationConfig.spiderConfig.spark_sql_constraintPropagation_enabled

DistributedOptimizationConfig.spiderConfig.spider_restrictions_column_long_text

DistributedOptimizationConfig.spiderConfig.spider_query_condition_count_restriction

SystemOptimizationConfig.shutdownCacheEngine

1044外接配置库连接池配置

健康:外接配置库默认连接池大小,大于等于100

不健康:外接配置库默认连接池大小,小于100

修改建议:建议外接配置库默认连接池大小设置为100(具体配置方法,请查阅对应数据库产品的帮助文档)

1045周开始于配置一致性

注:仅FineBI6.1系统检测该项

检测所有bi-web、bi-engine-worker、bi-engine-master组件的周开始于设置是否一致

健康:周开始于设置一致

不健康周开始于设置不一致

1046中文排序配置一致性

注:仅FineBI6.1系统检测该项

检测所有bi-web、bi-engine-worker、bi-engine-master组件的中文排序设置是否一致

健康:周开始于设置一致

不健康周开始于设置不一致

1047宕机处理工具运行状态

运维平台对项目进行宕机自动重启、自动生成dump文件等操作,依赖项目内置的宕机处理工具

因此必须确保宕机处理工具正常运行,否则相关功能可能都无法使用

1048外接配置库参数设置

检测外接配置库的db.properties文件中的指定参数值

如参数值不满足要求,则判定为不健康

1001 finedb

管理员登录帆软应用,点击「管理系统>系统管理>常规>外接数据库」,将finedb迁移至更稳定的外接数据库中。

外接数据库迁移的具体操作步骤请参见:配置外接数据库

6.png

1002 日志级别

管理员登录帆软应用,点击「管理系统>智能运维>平台日志>全局设置」。

在「系统日志级别」中设置日志级别为 info,点击「保存」即可。

日志级别设置请参见:日志简介

7.png

1003 日志清理

管理员登录帆软应用,点击「管理系统>智能运维>平台日志>全局设置」。

在「操作日志清理」中开启「自动清理」并配置清理周期小于六个月。

操作日志自动清理设置请参见:日志简介

8.png

1004 自动备份磁盘占用限制

管理员登录帆软应用,点击「管理系统>智能运维>备份还原>全局设置」。

在「自动备份」中,建议各模块自动备份可占磁盘不超过1024M。备份还原设置请参见:备份还原

9.png

1005 自动备份保留数量限制

管理员登录帆软应用,点击「管理系统>智能运维>备份还原>全局设置」。

在「自动备份」中,建议自动备份默认保存不超过5份。备份还原设置请参见:备份还原

注:正式环境中,建议保留较多备份数量。

10.png

1026 密码强度限制检测

管理员登录帆软应用,点击「管理系统>系统管理>登录」 。

在「密码策略设置」中,建议开启「密码强度限制」,并自定义设置密码强度。

详情请参见:密码策略设置

11.png

1033 宕机处理工具开启

管理员登录帆软应用,点击管理系统>智能运维>宕机处理 。

在「宕机自动处理工具」中,建议开启「宕机自动处理」

详情请参见:宕机处理

1034 宕机处理工具自动输出堆栈

管理员登录帆软应用,点击管理系统>智能运维>宕机处理 。

在「宕机自动处理工具」中,建议开启宕机导出内存堆栈

详情请参见:宕机处理

1047 宕机处理工具运行状态

运维平台对项目进行宕机自动重启、自动生成dump文件等操作,依赖项目内置的宕机处理工具。

因此必须确保宕机处理工具正常运行,否则相关功能可能都无法使用。

如检测宕机处理工具运行异常,请参考文档 确保宕机处理工具可用

1048 外接配置库参数设置

检测外接配置库的db.properties文件中的指定参数值,如参数值不满足要求,则判定为不健康。

1)健康标准

注1:下文中的参数名基本不带hibernate.前缀,无论是否含有该前缀都支持读取,共存时不带前缀的优先。

注2:traceSessionLeak和-DtraceSessionLeak为同一参数,优先读取-DtraceSessionLeak。

参数
说明健康值推荐值
minIdle

最小空闲连接

连接池最小连接数量

>05
maxWait

最大等待时间

获取连接时最大等待时间,单位毫秒

30000~9000060000
testWhileIdle

开启空闲回收器检

连接池中的最小空闲连接以内的连接,空闲时间超过minEvictableIdleTimeMillis,则会执行keepAlive操作

truetrue
testOnBorrow

获取连接前检

申请连接时检测连接是否有效,做了这个配置会降低性能

falsefalse
testOnReturn

归还连接前检

归还连接时检测连接是否有效,做了这个配置会降低性能

falsefalse
hibernate.connection.provider_class用以整合Druid数据库连接池com.fr.config.FineDBDruidConnectionProvidercom.fr.config.FineDBDruidConnectionProvider
validationQueryTimeout

校验语句的超时时间,单位

防止连接超时而一直等待

1~6030
keepAlive

空闲连接可用性定期检

检查到需要留下的连接保证其可用,解决数据库或者防火墙主动断开长时间不活跃连接的场景

truetrue
removeAbandoned用于连接泄露定位排查falsefalse
logAbandoned用于连接泄露定位排查falsefalse
traceSessionLeak控制是否开启会话泄露检查falsefalse
-DtraceSessionLeak(JVM参数)

控制是否开启会话泄露检查

falsefalse

2)修改方法-db.properties文件

用户需要通过手动修改db.properties文件中的参数值,以修复该检测项

该操作可能存在一定危险性,付费用户请联系帆软技术支持协助处理

1、备份工程

运维平台部署的项目:备份项目

非运维平台部署的项目:非容器化工程备份还原 3.1节

2、关闭工程

运维平台部署的项目:组件管理

非运维平台部署的项目:关闭或重启FineBI工程

3、修改db.properties

打开工程/webroot/WEB-INF/config目录下的db.properties,根据上文的参数,对参数值进行修正,修改后保存。

如为集群工程,请对每个工程节点下的db.properties进行同步

注:上文中的参数名基本不带hibernate.前缀,无论是否含有该前缀都支持读取,共存时不带前缀的优先。

4、启动工程

运维平台部署的项目:组件管理

非运维平台部署的项目:关闭或重启FineBI工程

3)修改方法-JVM参数

如检测出-DtraceSessionLeak参数不正确,需要修改Tomcat的相关配置文件

部署方式
修改方案
运维平台部署的项目

运维平台部署的项目,默认不配置该参数,一般无需修复。

非运维平台部署的项目

操作系统为Linux

中间件类型为Tomcat

1)进入%Tomcat_HOME%\bin目录,寻找名为catalina.shsetenv.sh的文件。

2)在文件中查找是否存在-DtraceSessionLeak参数,若存在,修改参数值为false

3)保存修改后重启工程生效

非运维平台部署的项目

操作系统为Windows

中间件类型为Tomcat

1)进入%Tomcat_HOME%\bin目录,寻找名为catalina.batsetenv.bat的文件。

2)在文件中查找是否存在-DtraceSessionLeak参数,若存在,修改参数值为false

3)保存修改后重启工程生效

4. 基本维护编辑

在应用日常的正常运行过程中,维护事务相对简单,在有需要的时候能够查看应用的运行日志,或查看应用的各项监控指标是否存在异常即可

4.1 应用启停

应用日常的维护工作中,经常会需要对应用进行启停重启等操作。

  • 单机环境依赖较少,无严格顺序需求。

  • 集群环境相关组件较多,为尽量降低应用使用的风险,请尽量按以下顺序进行启停

4.1.1 启动顺序

由于应用的正常运行对组件有依赖,因此需要先启动相关组件,再启动应用。顺序为:

1)负载均衡组件(Nginx)

2)状态服务器组件(Redis)

3)文件服务器组件(FTP)

4)外接数据库组件(Mysql)

5)帆软应用(集群依次启动各节点即可)

各组件和应用可以配置开机自启动,便于在重启服务器后自动启动恢复服务:

4.1.2 停止顺序

对于应用的停止顺序没有严格要求,但由于组件的关闭会直接导致应用不可用,因此建议先关闭帆软应用(kill命令避免进程残留),再关闭各个组件

4.2 日志查看

1)内容说明

帆软应用通常涉及以下几类日志:

日志类型
日志存储日志内容
系统日志

默认存储在%FR_HOME%\logs\fanruan.log

设计器端允许修改日志存储位置

服务器端不允许修改日志存储位置

记录系统运行过程中的一些信息
操作日志

存储在%FR_HOME%\webapps\webroot\logs\cubes

允许修改日志存储位置

FineReport11.0.4/FineBI5.1.22及之后版本支持实时备份

记录普通用户和管理员的使用动作
补充日志

存储在%FR_HOME%\bin\error.txt

不允许修改日志存储位置

记录设计器预期外的报错
gc.log默认存储在%FR_HOME%/logs/gclogs用来分析服务器gc(垃圾回收)的情况
catalina.out

Tomcat部署情况下存在

默认存储在%FR_HOME%/logs

tomcat及应用运行日志
catalina.log

Tomcat部署情况下存在

默认存储在%FR_HOME%/logs

tomcat自身运行日志
access.log

Tomcat部署情况下存在

默认存储在%FR_HOME%/logs

tomcat及应用访问日志,记录访问请求详情

2)如何通过帆软功能快捷运维

帆软提供下载日志功能,管理员登录数据决策系统,点击「管理系统>智能运维>系统日志」,其中「系统日志」Tab提供相应功能。

通过此功能可实现下载指定时间的指定日志,并支持查看日志存储位置。

12.png

4.3 监控指标

1)指标说明

日常运行中,运维人员主要需要关注以下各指标是否存在异常:

指标
监控内容
内存通过命令行或可视化查看服务器的内存使用情况,是否出现内存占用过高(80%及以上)
CPU通过命令行或可视化查看服务器的CPU使用情况,是否出现CPU占用过高(80%及以上)
磁盘空间通过命令行或可视化查看帆软应用所在磁盘目录的磁盘空余情况,是否磁盘剩余空间过小(不足10GB)

2)如何通过帆软功能快捷运维

帆软提供内存管理页面,点击「管理系统>智能运维>负载管理」,其中「负载监控」Tab提供相应功能。

通过此功能可实现可视化查看帆软应用而非整个服务器的近期「负载曲线」、「内存曲线」和「CPU曲线」,快速了解帆软应用运行及压力状况。

13.png

帆软提供磁盘运维功能,点击「管理系统>智能运维>磁盘运维」,其中「磁盘使用情况分析」Tab提供相应功能。

通过此功能可实现可视化查看帆软应用重点相关磁盘目录的使用情况,及时避免出现磁盘不足。

14.png

5. 异常维护编辑

5.1 异常警告

如需对帆软应用的异常及时感知,需实现对帆软应用各项指标的监控告警,实现的方案有以下几点建议:

1)如使用的是云服务器(如阿里云、华为云等),可使用云服务厂商提供的监控类云服务,对服务器的资源异常进行监控

2)自行开发实现对于帆软应用的监控,如基于promthues组件等

3)针对系统负载过高的场景,帆软提供智能预警功能,检测到负载状态过高时将提醒运维人员。

管理员登录数据决策系统,点击「管理系统>智能运维>负载管理」,其中「负载监控」内可进行智能预警配置。

15.png

4)针对系统出现宕机的场景,帆软提供宕机通知功能,检测到系统宕机时将提醒运维人员。

管理员登录数据决策系统,点击「管理系统>智能运维>宕机处理」,其中「宕机处理」内可进行宕机通知配置。

16.png

5)针对系统磁盘空间不足的场景,帆软提供磁盘预警功能,检测到应用相关磁盘空间不足时,将提醒运维人员。

管理员登录数据决策系统,点击「管理系统>智能运维>磁盘运维」,其中「磁盘预警设置」tab页内可进行磁盘预警配置。

17.png

5.2 宕机处理

当应用出现异常时,宕机可能会随之发生,此时为了业务的可用,需要快速恢复应用,同时应尽量保存宕机时刻的日志信息,方便进行宕机原因定位及风险排除,避免再次出现类似异常。对于宕机,应进行以下运维动作:

1)保证系统环境有jdk工具,当应用发生宕机时,及时导出dump文件

  • 进入到对应的jdk的bin目录

  • 以linux+tomcat为例,查看pid的方式为使用ps -ef|grep tomcat管道过滤命令,查看对应的服务器进行pid。

  • 使用命令jmap -dump:format=b,file=文件名 [pid]来生成dump。

2)自行开发对帆软应用是否存活的监控,并在发现其不可用时告知到运维人员,并通过自动化脚本重启应用,或人工进行监控及应用重启

重启或停止应用时需确保完全关闭工程相关进程,详情请参见:关闭或重启FineDataLink工程

3)在宕机发生后自行通过dump分析宕机原因或联系技术支持协助定位,并尽快排除宕机风险。

4)针对宕机场景,帆软提供应用存活监控功能,管理员登录数据决策系统,点击「管理系统>智能运维>宕机处理」。

通过「宕机处理」可以实现宕机消息通知,宕机日志自动导出,及宕机后自动重启恢复。

18.png

5)针对宕机定位,帆软提供宕机自助处理功能,管理员登录数据决策系统,点击「管理系统>智能运维>宕机处理」。

通过「宕机自助向导」可以对大多数的宕机原因给出分析结果并提供改进建议。

19.png

6. 备份与升级编辑

6.1 备份还原

帆软系统需要定期进行备份,以确保在用户误操作、版本回退等场景下能够及时恢复。

FineDataLink 提供备份还原功能,支持对平台配置信息、FDL 任务、JAR 包、插件进行备份还原,详情请参见:备份还原

注:建议生产环境每天都进行备份。

21.png

6.2 更新升级

注:本节仅介绍小版本升级方式,大版本升级请联系帆软技术人员进行协助。

为满足客户的新需求以及对历史版本存在的问题进行修复,FineDataLink 在不断地更新迭代。为了能获得更好的功能体验,客户往往也要跟随更新版本。

FineDataLink 独立部署工程支持在线一键升级,具体操作请参考:FineDataLink一键升级

20.png