1. 概述
1.1 版本
BI服务器版本 |
---|
6.0 |
1.2 应用场景
针对常见的运维监控诉求场景,给出现有的运维监控功能方案介绍,帮助客户快速实现对于 FineReport 和 FineBI 应用的运维监控。
方案适用于已经完成部署的帆软系统,将会展开介绍帆软应用的日常维护、管理和监控方式。
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)文件位置
%FRBI_HOME%\webapps\webroot\WEB-INF\config\db.properties
2)文件内容
数据决策系统中除平台属性配置以外的所有信息,包括目录树设置、模板定时任务信息等,均存储于 FineDB 数据库。
FineReport/FineBI 支持使用内置 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. 系统巡检
建议管理员使用「健康巡检」功能,对系统进行定期巡检,确保应用所在的环境及应用内配置合理,以保证应用的正常运行。
巡检内容包括系统检查、系统运行状态、端口检查、网络检查、服务联通性检查、业务检查、环境检查、磁盘检查、非容器化部署检查、虚拟机检查。
3.1 系统检查
系统检查的检测项包括:
巡检项 编号 | 检测项 | 集群节点是 否分别检查 | 是否支持 快速修复 | 健康标准及修改建议 |
---|---|---|---|---|
0101 | 操作系统信息 | 是 | 否 | 仅输出信息 |
0102 | 服务器时间 | 是 | 否 | 仅输出信息 |
0103 | 时区信息 | 是 | 否 | 仅输出信息 |
0104 | glibc/gcc版本 | 是 | 否 | 仅输出信息 |
0105 | hostname | 是 | 否 | 仅输出信息 |
0106 | host文件信息 | 是 | 否 | 仅输出信息 |
0107 | CPU主频 | 是 | 否 | 检查主频大于等于 2.4 gh 建议主频大于等于 2.4 gh |
0108 | 核心数 | 是 | 否 | 检查核心数大于 4 核 cpu 核心数推荐大于 4 |
0109 | 内存大小 | 是 | 否 | 检查内存是否大于等于15.5GB 建议物理内存大于等于16G |
0110 | 虚拟内存 | 是 | 否 | 检查是否关闭虚拟内存 输出交换分区大小 建议关闭虚拟内存 |
0111 | 已使用内存 | 是 | 否 | 仅输出信息 |
0112 | 空闲内存 | 是 | 否 | 仅输出信息 |
0113 | CPU信息 | 是 | 否 | 仅输出信息 |
0114 | 服务器字体编码 | 是 | 否 | 仅输出信息 |
0115 | 服务器字体包 | 是 | 否 | 仅输出信息 |
0116 | CPU性能 | 是 | 否 | 检查堆内内存的配置是否在推荐范围内 检查近一周FGC耗时中位数是否小于10S 如不满足以上两点,则CPU性能较差,建议增加CPU核心数、使用性能更好的CPU或适当降低最大堆内内存xmx,避免FGC时间过长影响使用 |
0117 | 系统oom配置 | 是 | 否 | 仅非运维平台部署的项目检查该项 检查/proc/sys/vm/panic_on_oom中的Linux内核参数vm.panic_on_oom是否等于0 建议调整/proc/sys/vm/panic_on_oom配置,通过sysctl -w vm.panic_on_oom=0 修改成不触发panic |
0118 | ProcessUnpackaged配置 | 是 | 否 | 仅输出信息 检查/etc/abrt/abrt-action-save-package-data.conf文件中ProcessUnpackaged的值 |
0110 虚拟内存
- Linux服务器
1)登录宿主机
使用合适的身份验证方式(例如SSH、Console等),登录到运行容器的宿主机。
2)查看当前系统中是否启用了swap分区
使用以下命令查看系统中已经启动的swap分区信息:
sudo swapon -s
如果输出结果为空,则表示当前没有启动swap分区。
3)关闭swap分区
使用以下命令关闭swap分区:
sudo swapoff -a
该命令将关闭所有已经启动的swap分区。
4)永久禁用swap分区
为了避免系统在下一次启动时自动启动swap分区,需要在系统配置文件中进行相应的修改。
以Ubuntu为例,可以按照以下步骤操作:
修改/etc/fstab文件,找到含有swap的行并注释掉或删除该行。
执行以下命令更新grub引导程序:
sudo update-grub
5)验证swap分区是否已经关闭
重启系统后,可以再次执行sudo swapon -s命令查看系统中是否存在已经启动的swap分区。
如果输出结果为空,则表示swap分区已经成功关闭。
- Windows服务器
1)用户查看「系统属性>高级>性能>设置」
2)查看「高级>虚拟内存>更改」
3)取消勾选「自动管理所有驱动器的分页文件大小」
4)选择「自定义大小」并设置
建议初始大小为物理内存1.5倍,最大值为物理内存2倍,请谨慎修改
3.2 系统运行状态
系统运行状态的检测项包括:
巡检项 编号 | 检测项 | 集群节点是 否分别检查 | 是否支持 快速修复 | 健康标准 |
---|---|---|---|---|
0201 | 启动时长 | 是 | 否 | 仅输出信息 包括:本次启动的耗时 |
0203 | 工程启动路径 | 是 | 否 | 仅输出信息 包括:目录路径 |
0204 | 工程下文件夹大小异常情况 | 是 | 否 | 注:仅检测业务工程节点,不检测文件服务器 检查工程WEB-INF下一层的每个文件夹大小 健康:不存在大于5G的文件夹 不健康:存在大于5G的文件夹 修改建议: 建议检查确认对应文件夹的内容并进行清理 提示出超过5G大小的文件夹路径 |
0205 | 插件信息 | 否 | 否 | 仅输出信息 包括:插件名、插件版本、插件是否启用 |
0206 | 注册授权信息 | 否 | 否 | 仅输出信息 包括:工程是否注册 |
0207 | WEB-INF下是否有web.xml | 否 | 否 | 仅输出信息 包括:是/否 |
0208 | 容器版本 | 是 | 否 | 仅输出信息 |
0209 | 工程jar包信息 | 否 | 否 | 仅输出信息 包括:工程各个模块的版本和JAR包日期 |
0211 | 临时输出目录 | 是 | 否 | 仅输出信息 包括:目录路径、目录剩余可用空间 |
0212 | tomcat后台运行 | 是 | 否 | 对于Windows系统、Tomcat容器下的工程: 检测是否使用javaw后台运行tomcat 健康:使用javaw后台运行tomcat 不健康:未使用javaw后台运行tomcat 修改建议:建议使用javaw后台运行tomcat |
0204 清理文件夹
1)WEB-INF文件夹存放着什么
FineReport:FineReport安装目录结构
FineBI:FineBI安装目录结构
2)哪些文件可清理
文件夹/文件 | 用途 | 自动清理 | 手动清理 |
---|---|---|---|
schedule | 1)文件路径: %BI_HOME%\webapps\webroot\WEB-INF\schedule 2)文件用途: 存储定时调度任务产生的中间文件 3)可清理范围: 建议清理 | 不支持自动清理 | 文件层级直接展示到具体的日期(日级别),用户手动选择需要清理的范围即可 推荐清理12个月之外的文件 12个月之内的文件不显示 |
treasure | 1)文件路径: %BI_HOME%\webapps\webroot\WEB-INF\treasures 建议清理 | 保留最近12个月的文件,其余文件清理 | 文件层级直接展示到具体的日期(日级别),用户手动选择需要清理的范围即可 推荐清理12个月之外的文件 12个月之内的文件不显示 |
3)清理方式
管理员登录数据决策系统,点击「管理系统>智能运维>磁盘运维>磁盘清理」。
选择需要扫描的文件类型,点击「开始扫描」,立即开始扫描可以手动清理的冗余文件。
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 端口检查
端口检查的检测项包括:
巡检项 编号 | 检测项 | 集群节点是 否分别检查 | 是否支持 快速修复 | 健康标准及修改建议 |
---|---|---|---|---|
0301 | websocket端口 | 否 | 否 | 仅输出信息 包括:端口号 |
0302 | 集群端口 | 是 | 否 | 检测集群端口是否畅通 健康:端口间畅通 不健康:端口存在不畅通 修改建议:集群端口连通性状态异常 |
0303 | 宕机检测端口 | 是 | 否 | 检测: 1)宕机自动检测是否开启 2)宕机端口是否畅通 优化建议:建议开启宕机检测并保证端口可用 |
0301 websocket端口
WebSocket 主要用于刷新 token、用户被踢出、平台消息、内存和 CPU 显示、平台日志处当前系统在线人数、数据连接编辑状态的确定。
WebSocket 不开放影响 socket 通信,访问可能异常断开。
用户可根据自己的工程情况选择合适的 WebSocket 端口配置方法,详情请参见下表:
方案 | 场景 | 配置方法 |
---|---|---|
容器Websocket方案 | FineBI内置了一个容器Websocket方案 无需任何用户操作,系统可自动使用Web容器自带的WebSocket进行连接,端口复用http端口
| 容器Websocket方案 |
socket.io方案 | 单机环境配置 WebSocket 端口 | 单机配置WebSocket端口 |
集群环境配置 WebSocket 端口 | 集群配置WebSocket端口 | |
HTTPS 环境配置 Websocket 端口 | HTTPS环境配置WebSocket | |
仅对外开放一个端口 | 不额外给WebSocket对外开放端口 |
0302 集群端口
管理员登录数据决策平台,点击「管理系统>智能运维>集群配置」。
可查看集群各个节点的端口,无法使用的节点飘红。
可编辑节点端口,鼠标悬浮即可出现编辑按钮。
0303 宕机检测端口
管理员数据决策平台,点击「管理系统>智能运维>宕机处理」。
可查看宕机自动处理工具使用的端口。默认端口为12100。
可修改端口,点击「保存」即可。
可点击「测试」,测试端口可用性。
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)FineReport: 健康:磁盘总大小≥100GB 不健康:磁盘总大小<100GB 修改建议:建议磁盘总大小高于100GB 2)FineBI: 健康:磁盘总大小≥400GB 不健康:磁盘总大小<400GB 修改建议:建议磁盘总大小高于400GB |
0507 | 已使用磁盘空间 | 是 | 否 | 仅输出信息 包括:已使用的磁盘空间大小 |
0508 | 空闲磁盘空间 | 是 | 否 | 1)FineReport: 健康:磁盘余量高于10GB 不健康:磁盘余量不足10GB 修改建议:磁盘余量不足10GB,建议清理磁盘大文件避免影响使用 2)FineBI: 健康:磁盘余量高于50GB 不健康:磁盘余量不足50GB 修改建议:磁盘余量不足50GB,建议清理磁盘大文件避免影响使用 |
0509 | 顺序读取(非缓冲池) | 是 | 否 | 健康:磁盘性能高于150MB/s 不健康:磁盘性能不足150MB/s 修改建议:磁盘性能较差,可能导致性能问题,建议更换为ssd等性能更好的磁盘 |
0510 | 顺序写入(非缓冲池) | 是 | 否 | 健康:磁盘性能高于150MB/s 不健康:磁盘性能不足150MB/s 修改建议:磁盘性能较差,可能导致性能问题,建议更换为ssd等性能更好的磁盘 |
3.6 非容器化部署信息
非容器化部署的检测项包括:
巡检项 编号 | 检测项 | 集群节点是 否分别检查 | 是否支持 快速修复 | 健康标准 |
---|---|---|---|---|
0601 | 进程用户 | 是 | 否 | 仅输出信息 包括:用户名称 |
0602 | 服务器主要文件夹权限 | 是 | 否 | 仅输出信息 包括:缓存文件夹、resources、assets、assist、finedb的权限 注:文件服务器权限不输出。 |
0603 | 多进程检测 | 是 | 否 | 健康:帆软应用所需最大内存+其他进程使用内存<总物理内存 不健康:帆软应用所需最大内存+其他进程使用内存≥总物理内存 修改建议:建议帆软工程不要与其他应用服务共用服务器,否则会有宕机风险 |
0604 | 集群文件服务方案 | 是 | 否 | 健康:集群文件服务使用文件服务器 不健康:集群文件服务器使用节点间同步 修改建议:建议集群使用文件服务器取代节点间同步,否则会有性能和文件一致性等稳定性风险 |
3.7 环境检查
环境检查的检测项包括:
巡检项 编号 | 检测项 | 集群节点是 否分别检查 | 是否支持 快速修复 | 健康标准 |
---|---|---|---|---|
0701 | vm.max_map_count | 是 | 是 | 健康:vm.max_map_count≥262144 不健康:vm.max_map_count<262144 修改建议:建议配置 vm.max_map_count 参数为 262144 |
0702 | 最大文件打开数 | 是 | 否 | 1)FineReport: 健康:open_files≥65536 不健康:open_files<65536 修改建议:建议open_files参数配置不低于65536 2)FineBI: 健康:open_files≥131070 不健康:open_files<131070 修改建议:建议open_files参数配置不低于131070 |
0703 | vm.overcommit_memory | 是 | 否 | 健康:overcommit_memory=0 不健康:overcommit_memory≠0 修改建议:建议vm.overcommit_memory参数配置为0 |
0704 | vm.overcommit_ratio | 是 | 否 | 健康:overcommit_ratio=50 不健康:overcommit_ratio≠50 修改建议:建议vm.overcommit_ratio参数配置为50 |
0705 | gblic内存泄露相关配置 | 是 | 是 | 检测是否配置了export MALLOC_ARENA_MAX参数 健康:export MALLOC_ARENA_MAX=1 不健康:未配置/配置其他值 修改建议:建议配置export MALLOC_ARENA_MAX=1 |
0706 | redis淘汰策略 | 是 | 否 | 健康:redis的淘汰策略是maxmemory-policy noeviction 不健康:redis的淘汰策略不是maxmemory-policy noeviction 修改建议:建议redis的淘汰策略设置为maxmemory-policy noeviction,否则可能因为redis的key被意外淘汰而造成不可预估的后果 |
0707 | 最大进程数nproc | 是 | 否 | 健康:最大进程数nproc大于等于266240 不健康:最大进程数nproc小于266240 修改建议:建议最大进程数nproc参数配置不低于65535 |
0701 vm.max_map_count
1)参数简介:
vm.max_map_count是一个Linux系统内核参数,用于控制在一个进程中允许mmap映射内存区域的最大数量。
如果该参数的值太小,那么在使用一些应用程序时,可能会出现内存映射错误。
2)建议配置:
建议配置 vm.max_map_count 参数为 262144
3)修改方式:
在/etc/sysctl.conf文件中添加/修改参数值
vm.max_map_count=262144
运行以下命令使更改生效
sysctl -p
0702 最大文件打开数
1)参数简介:
open_files是指一个进程可以同时打开的文件描述符的最大数量。
文件描述符是Unix系统中用于访问文件(包括管道、套接字和其他文件操作)的唯一标识符。
2)建议配置:
建议FineReport工程的open_files参数配置不低于65536
建议FineBI工程的open_files参数配置不低于131070
3)修改方式:
修改参数配置
打开Linux的软硬件限制文件/etc/security/limits.conf,在文件尾部添加如下代码:
* soft nofile 65536
* hard nofile 65536
上述命令中,hard表示系统的硬限制,soft表示用户的软限制。
重启工程并重新登录
配置完成后,终端用户重新登录,并重启Tomcat工程,配置方可生效。
可使用ulimit -n命令,根据返回值确认是否修改成功。
0703 overcommit_memory
1)参数简介:
vm.overcommit_memory 是一个Linux内核参数,它控制了系统是否允许进程分配超过可用内存的内存量。
当参数值为0时,内核将检查是否有足够的可用内存来满足提交的内存需求。如果有足够的空闲内存,则允许进程继续分配内存;否则分配请求将失败并返回错误。
2)建议配置:
建议vm.overcommit_memory参数配置为0
3)修改方式:
在/etc/sysctl.conf文件中添加/修改参数值
vm.overcommit_memory=0
运行以下命令使更改生效
sysctl -p
0704 overcommit_ratio
1)参数简介:
vm.overcommit_ratio 是一个 Linux 内核参数,它指定了系统 VMware 超大页管理器(Memory Ballooning)和 Swap 空间使用的比例。
当参数值为50时,内核使用适当的 Swap 两倍大小作为另一个备用空间,用于模拟物理内存。
2)建议配置:
建议vm.overcommit_ratio参数配置为50
3)修改方式:
在/etc/sysctl.conf文件中添加/修改参数值
vm.overcommit_ratio=50
运行以下命令使更改生效
sysctl -p
0705 gblic内存泄露相关配置
1)参数简介:
为了防止glibc中的内存泄漏,可以通过在环境变量中设置MALLOC_ARENA_MAX来限制glibc在分配和释放动态内存时使用的堆空间数量。
2)建议配置:
建议配置export MALLOC_ARENA_MAX=1
3)修改方式:
关闭Tomcat服务器。
进入%Tomcat_HOME%/bin目录,打开 startup.sh 文件。
在文件开头添加/修改行:export MALLOC_ARENA_MAX=1
保存对 startup.sh 文件的修改并关闭。
在终端中运行 startup.sh 文件,重启Tomcat并应用新的环境变量设置。
0706 redis淘汰策略
1)策略简介:
Redis淘汰策略设置为noeviction时,当达到最大内存限制时,不会淘汰任何现有数据,并拒绝新的写入操作(包括写命令、数据更新等)
使用该策略可以确保所有数据都不会被自动删除,从而保持数据的完整性,避免内存不足导致数据丢失。
2)修改方式:
在 Redis 安装目录下,找到 redis.conf 配置文件,找到配置项 maxmemory-policy,将其设置为 noeviction
修改后,需要重启 Redis 服务以使配置生效。
0707 最大进程数nproc
1)参数简介:
在 Linux 系统中,nproc 表示当前用户可以启动的最大进程数。这个限制通常在系统级别设置,但也可以针对单个用户进行配置。
如果 nproc 限制过低,当达到 nproc 的限制,可能会导致应用程序无法启动新的进程,从而影响用户体验或系统功能。
2)建议配置:
建议最大进程数 nproc 参数配置不低于 65535
3)修改方式:
以 root 用户身份编辑 /etc/security 或 /etc 文件夹下的 limits.conf文件
添加或修改以下行(username 是要设置限制的用户名,请自行修改。soft 是软限制,是默认值。hard 是硬限制,是最大值):
# 对特定用户设置 nproc 限制
username soft nproc 65535
username hard nproc 65535
# 对所有用户设置 nproc 限制
* soft nproc 65535
* hard nproc 65535
3.8 Java 虚拟机检查
Java虚拟机的检测项包括:
巡检项 编号 | 检测项 | 集群节点是 否分别检查 | 是否支持 快速修复 | 健康标准 |
---|---|---|---|---|
0801 | 堆外NIO内存 | 是 | 是 | fr、fdl:建议配置JVM NIO占用堆外内存2GB bi-web:建议配置JVM NIO占用堆外内存2GB bi-engine-worker:建议配置JVM NIO占用堆外内存xmx*0.4GB bi6.0且小版本在6.0.16及之后:建议配置JVM NIO占用堆外内存xmx*0.4GB bi6.0且小版本在bi6.0.16之前:建议配置JVM NIO占用堆外内存4GB |
0802 | 堆外fineIO读内存 | 是 | 是 | 建议JVM fineIO读内存使用堆外内存设置为2G |
0803 | 堆外fineIO写内存 | 是 | 是 | 建议JVM fineIO写内存使用堆外内存设置为1G |
0804 | 垃圾回收器类型 | 是 | 是 | 建议JVM使用垃圾回收器类型为ParallelScavenge |
0805 | DisableExplicitGC参数 | 是 | 是 | 健康:不配置DisableExplicitGC参数 不健康:配置了DisableExplicitGC参数 修改建议:建议取消DisableExplicitGC参数配置 |
0806 | JDK版本 | 是 | 否 | 健康:高于帆软内置的JAVA版本(一般在1.8.202及以上版本) 修改建议:建议使用1.8.202及以上版本JDK |
0807 | headless模式 | 是 | 是 | 健康:已配置-Djava.awt.headless=true 不健康:未配置-Djava.awt.headless=true 修改建议:建议配置 -Djava.awt.headless=true 以启用 headless 模式 |
0808 | dump导出 | 是 | 否 | 健康:已配置HeapDumpOnOutOfMemoryError及HeapDumpPath 不健康:未配置HeapDumpOnOutOfMemoryError及HeapDumpPath 修改建议:建议配置HeapDumpOnOutOfMemoryError及HeapDumpPath以保证正常导出dump |
0809 | BytecodeRecompilationCutoff配置 | 是 | 是 | 健康:-XX:PerBytecodeRecompilationCutoff = -1 不健康:-XX:PerBytecodeRecompilationCutoff≠-1 修改建议:建议配置-XX:PerBytecodeRecompilationCutoff=-1 |
0810 | PerMethodRecompilationCutoff配置 | 是 | 是 | 健康:-XX:PerMethodRecompilationCutoff = -1 不健康:-XX:PerMethodRecompilationCutoff≠ -1 修改建议:建议配置-XX:PerMethodRecompilationCutoff=-1 |
0811 | 安装包部署 | 是 | 否 | 注:FineBI特有检查项 健康:非exe方式部署 |
0813 | codecache配置 | 是 | 是 | FR: 健康:-XX:ReservedCodeCacheSize大于等于512m 不健康:-XX:ReservedCodeCacheSize小于512m 修改建议:建议配置-XX:ReservedCodeCacheSize=512m BI: 健康:-XX:ReservedCodeCacheSize大于等于1024m 不健康:-XX:ReservedCodeCacheSize小于1024m 修改建议:建议配置-XX:ReservedCodeCacheSize=1024m |
0814 | 语言配置-Duser.country | 是 | 否 | 健康:-Duser.country=CN 不健康:-Duser.country≠CN 修改建议:建议配置-Duser.country=CN |
0815 | 语言配置-Duser.language | 是 | 否 | 健康:-Duser.language=zh 不健康:-Duser.language≠zh 修改建议:建议配置-Duser.language=zh |
0816 | zip相关配置-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 |
0819 | debug模式 | 是 | 否 | 健康:未配置参数 -agentlib:jdwp 和 -Xrunjdwp 不健康:配置了参数 -agentlib:jdwp 和 -Xrunjdwp 修改建议:建议取消debug模式,删除两个参数 -agentlib:jdwp 和 -Xrunjdwp |
0820 | 堆内内存 | 是 | 是 | 健康: fr、fdl、bi6:堆内内存小于等于32766m或大于等于48GB bi-web、bi-engine-worker、bi-engine-master:堆内内存小于等于32766m 修改建议: 为保证应用响应性能,建议配置为32766m或以内 bi6额外提醒:如果需要使用更大内存,在保证物理机内存充足的情况下,可以配置为48G~64G,但可能带来一定的响应性能下降 |
0821 | xms配置 | 是 | 是 | 健康:Xms=Xmx 不健康:Xms≠Xmx 修改建议:建议配置Xms=Xmx |
0822 | JDK位置 | 是 | 否 | 仅输出信息 |
0823 | 元数据空间配置 | 是 | 是 |
健康:-XX:MaxMetaspaceSize≥2G 不健康:-XX:MaxMetaspaceSize<2G,或未配置 修改建议:建议最大元数据空间设置为2g
健康:-XX:MaxMetaspaceSize≥1G 不健康:-XX:MaxMetaspaceSize<1G,或未配置 修改建议:建议最大元数据空间设置为1g |
0824 | dump输出所需磁盘空间 | 是 | 否 | 健康:dump输出目录剩余磁盘 > 堆内存*2 不健康:dump输出目录剩余磁盘≤堆内存*2 修改建议:建议清理「dump输出目录」的磁盘空间至「2*堆内存」以保证正常导出dump |
0801 堆外NIO内存
1)建议值
产品 | 建议值 |
---|---|
FineBI6.1 | bi-web:建议配置JVM NIO占用堆外内存2GB bi-engine-worker:建议配置JVM NIO占用堆外内存xmx*0.4GB |
FineReport | 建议配置JVM NIO占用堆外内存2GB |
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=4g" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Windows 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。 如果文件不存在,可以创建一个新的setenv.bat文件。 2)在文件中添加以下行: set JAVA_OPTS=%JAVA_OPTS% -XX:MaxDirectMemorySize=4g 3)配置完成后重启工程生效。 |
0802 堆外fineIO读内存
1)建议值
建议JVM fineIO读内存使用堆外内存设置为2G。
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写内存使用堆外内存设置为1G。
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)建议值
建议 JVM 使用垃圾回收器类型为 ParallelScavenge
2)修改方式
本节介绍设置垃圾收集器为Parallel Scavenge(并行收集器)的方法。
部署方式 | 修改方案 |
---|---|
运维平台部署的项目 | 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.sh和setenv.sh的文件。 2)在文件中查找是否存在XX:+DisableExplicitGC,若存在,删除相关配置 3)保存修改后重启工程生效。 |
非运维平台部署的项目 操作系统为Windows 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%\bin目录,寻找名为catalina.bat和setenv.bat的文件。 2)在文件中查找是否存在XX:+DisableExplicitGC,若存在,删除相关配置 3)保存修改后重启工程生效。 |
0806 JDK版本
1)建议值
建议使用「JDK8」中 1.8.0_181 及以上版本
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
-XX:+HeapDumpOnOutOfMemoryError参数表示当JVM发生OOM时,自动生成DUMP文件。
-XX:HeapDumpPath=${目录}参数表示生成dump文件的路径,也可以指定文件名称,例如:-XX:HeapDumpPath=${目录}/java_heapdump.hprof。
如果不指定文件名,默认为:java_<pid>_<date>_<time>_heapDump.hprof。
2)修改方式
本节展示设置dump导出的步骤。
部署方式 | 修改方案 |
---|---|
运维平台部署的项目 | 1)进入项目挂载目录/fanruanxxx/fr/mount目录,寻找名为setenv.sh的文件 2)在文件中添加以下行(请将/path/to/dump/directory更换为你自己存储 Heap Dump 文件的目录): JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dump/directory" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Linux 中间件类型为Tomcat | 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。 如果文件不存在,可以创建一个新的setenv.sh文件。 2)在文件中添加以下行(请将/path/to/dump/directory更换为你自己存储 Heap Dump 文件的目录): JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dump/directory" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Windows 中间件类型为Tomcat | 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。 如果文件不存在,可以创建一个新的setenv.bat文件。 2)在文件中添加以下行(请将/path/to/dump/directory更换为你自己存储 Heap Dump 文件的目录): set JAVA_OPTS=%JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/path/to/dump/directory 3)配置完成后重启工程生效。 |
0809 BytecodeRecompilationCutoff配置
与下一节「0810 PerMethodRecompilationCutoff配置」一起修改,请参考下一节。
0810 PerMethodRecompilationCutoff配置
1)建议值
没有配置 RecompilationCutoff 参数/配置的 RecompilationCutoff 参数太小,可能会导致 spider 引擎数据更新缓慢。
建议recompilationCutoff相关参数配置值为-1
2)修改方式
本节展示设置 recompilationCutoff 参数的步骤。
部署方式 | 修改方案 |
---|---|
运维平台部署的项目 | 运维平台部署的项目,默认为工程的bi6/fr/fdl组件配置了该参数,一般无需修复 如存在问题,请使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 |
非运维平台部署的项目 操作系统为Linux 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。 如果文件不存在,可以创建一个新的setenv.sh文件。 2)在文件中添加以下行: JAVA_OPTS="$JAVA_OPTS -XX:PerMethodRecompilationCutoff=-1 -XX:PerBytecodeRecompilationCutoff=-1" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Windows 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。 如果文件不存在,可以创建一个新的setenv.bat文件。 2)在文件中添加以下行: set JAVA_OPTS=%JAVA_OPTS% -XX:PerMethodRecompilationCutoff=-1 -XX:PerBytecodeRecompilationCutoff=-1 3)配置完成后重启工程生效。 |
0811 安装包部署
注:仅FineBI系统检测该项
优先推荐使用运维平台部署FineBI工程。详情请参见:部署新项目
如不使用运维平台部署,至少请使用web容器方式部署FineBI工程。详情请参见:Linux 下 Tomcat 服务器部署包
0813 codecache配置
1)建议值
ReservedCodeCacheSize参数是调整内存大小的一个设置参数,值的大小设置直接影响到Code Cache的大小。
如果Code Cache的空间不足,可能会导致JVM无法正常运行,导致性能持续降低。
建议配置-XX:ReservedCodeCacheSize=512m
2)修改方式
本节介绍修改ReservedCodeCacheSize参数的方法。
部署方式 | 修改方案 |
---|---|
运维平台部署的项目 | 运维平台部署的项目,默认为工程的bi6/fr/fdl组件配置了该参数,一般无需修复 如存在问题,请使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 |
非运维平台部署的项目 操作系统为Linux 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。 如果文件不存在,可以创建一个新的setenv.sh文件。 2)在文件中添加以下行: JAVA_OPTS="$JAVA_OPTS -XX:ReservedCodeCacheSize=512m" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Windows 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。 如果文件不存在,可以创建一个新的setenv.bat文件。 2)在文件中添加以下行: set JAVA_OPTS=%JAVA_OPTS% -XX:ReservedCodeCacheSize=512m 3)配置完成后重启工程生效。 |
0814 语言配置-Duser.country
与下一节「0815 语言配置-Duser.language」一起修改,请参考下一节。
0815 语言配置-Duser.language
1)建议值
为了防止中文出现乱码现象,要配置好语言编码。
建议配置-Duser.country=CN、-Duser.language=zh
2)修改方式
部署方式 | 修改方案 |
---|---|
运维平台部署的项目 | 运维平台部署的项目,默认为工程的bi6/fr/fdl组件配置了该参数,一般无需修复 如存在问题,请使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 |
非运维平台部署的项目 操作系统为Linux 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。 如果文件不存在,可以创建一个新的setenv.sh文件。 2)在文件中添加以下行: JAVA_OPTS="$JAVA_OPTS -Duser.country=CN -Duser.language=zh" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Windows 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。 如果文件不存在,可以创建一个新的setenv.bat文件。 2)在文件中添加以下行: set JAVA_OPTS=%JAVA_OPTS% -Duser.country=CN -Duser.language=zh 3)配置完成后重启工程生效。 |
0816 zip相关配置-Dsun.zip.disableMemoryMapping
1)建议值
配置该参数,可预防 jvm crash
建议配置-Dsun.zip.disableMemoryMapping=true
2)修改方式
部署方式 | 修改方案 |
---|---|
运维平台部署的项目 | 1)进入项目挂载目录/fanruanxxx/fr/mount目录,寻找名为setenv.sh的文件 2)在文件中添加以下行: JAVA_OPTS="$JAVA_OPTS -Dsun.zip.disableMemoryMapping=true" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Linux 中间件类型为Tomcat | 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。 如果文件不存在,可以创建一个新的setenv.sh文件。 2)在文件中添加以下行: JAVA_OPTS="$JAVA_OPTS -Dsun.zip.disableMemoryMapping=true" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Windows 中间件类型为Tomcat | 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。 如果文件不存在,可以创建一个新的setenv.bat文件。 2)在文件中添加以下行: set JAVA_OPTS=%JAVA_OPTS% -Dsun.zip.disableMemoryMapping=true 3)配置完成后重启工程生效。 |
0817 堆内老年代与新生代大小比例
1)建议值
堆内老年代与新生代大小比例建议为 2(-XX:NewRatio=2,JVM的默认值);NewRatio 大小正常生效需要用户不限制新生代大小。
2)修改方式
在设置-Xmx、-Xms参数的位置,添加 NewRatio 的值即可,本节展示设置 NewRatio 的步骤。
部署方式 | 修改方案 |
---|---|
运维平台部署的项目 | 1)进入项目挂载目录/fanruanxxx/fr/mount目录,寻找名为setenv.sh的文件 2)在设置-Xmx、-Xms参数的位置,添加 NewRatio 的值,例如: JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M -XX:NewRatio=2" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Linux 中间件类型为Tomcat | 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。 如果文件不存在,可以创建一个新的setenv.sh文件。 2)在设置-Xmx、-Xms参数的位置,添加 NewRatio 的值,例如: JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M -XX:NewRatio=2" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Windows 中间件类型为Tomcat | 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。 如果文件不存在,可以创建一个新的setenv.bat文件。 2)在设置-Xmx、-Xms参数的位置,添加 NewRatio 的值,例如: set JAVA_OPTS=%JAVA_OPTS% -Xms512M -Xmx1024M -XX:NewRatio=2 3)配置完成后重启工程生效。 |
0818 栈空间
1)建议值
建议单线程使用栈空间不超过1024KB,即 -Xss 的值不超过 1024 。
2)修改方式
在设置-Xmx、-Xms参数的位置,添加 -Xss 的值即可,本节展示设置 -Xss 的步骤。
部署方式 | 修改方案 |
---|---|
运维平台部署的项目 | 请使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 |
非运维平台部署的项目 操作系统为Linux 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。 如果文件不存在,可以创建一个新的setenv.sh文件。 2)在设置-Xmx、-Xms参数的位置,添加 Xss 的值,例如: JAVA_OPTS="$JAVA_OPTS -Xms2048M -Xmx8196M -Xss1024K" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Windows 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。 如果文件不存在,可以创建一个新的setenv.bat文件。 2)在设置-Xmx、-Xms参数的位置,添加 Xss 的值,例如: set JAVA_OPTS=%JAVA_OPTS% -Xms512M -Xmx1024M -1024K 3)配置完成后重启工程生效。 |
0819 debug模式
1)建议值
debug模式由两个参数控制:-agentlib:jdwp 和 -Xrunjdwp,删除这两个参数即可取消debug模式
建议取消debug模式
2)修改方式
本文介绍如何取消debug模式。
部署方式 | 修改方案 |
---|---|
运维平台部署的项目 | 运维平台部署的项目,默认不配置该参数,一般无需修复。 |
非运维平台部署的项目 操作系统为Linux 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%\bin目录,寻找名为catalina.sh和setenv.sh的文件。 2)在文件中查找是否存在-agentlib:jdwp 和 -Xrunjdwp参数,若存在,删除相关配置 3)保存修改后重启工程生效。 |
非运维平台部署的项目 操作系统为Windows 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%\bin目录,寻找名为catalina.bat和setenv.bat的文件。 2)在文件中查找是否存在-agentlib:jdwp 和 -Xrunjdwp参数,若存在,删除相关配置 3)保存修改后重启工程生效。 |
0820 堆内内存
与下一节「0821 xms配置」一起修改,请参考下一节。
0821 xms配置
1)参数说明
-Xmx 参数:最大堆内内存
-Xms 参数:初始化内存大小
注1:Xmx/Xms 与数字之间不要有空格
注2:建议配置Xms=Xmx,以防止内存扩容失败情况
2)修改方式
部署方式 | 修改方案 |
---|---|
运维平台部署的项目 | 请使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 |
非运维平台部署的项目 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置:修改内存 |
非运维平台部署的项目 中间件类型为其他 |
0823 元数据空间配置
1)参数简介:
元数据空间(Metaspace)是 Java 虚拟机(JVM)用于存储类元数据的区域。在 JVM 中,元数据包括类的结构信息、方法信息、字段信息等。
元数据空间配置 MaxMetaspaceSize 用于设置元数据空间的最大大小。当元数据空间超过这个限制时,JVM 会发生垃圾回收以释放不再使用的元数据。
2)建议配置:
fr、fdl、bi6:建议配置 MaxMetaspaceSize 参数为 2G
bi-web、bi-engine-worker:建议配置 MaxMetaspaceSize 参数为 1G
3)修改方式:
本节展示设置 MaxMetaspaceSize 的步骤。
部署方式 | 修改方案 |
---|---|
运维平台部署的项目 | 请使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 |
非运维平台部署的项目 操作系统为Linux 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.sh的文件。 如果文件不存在,可以创建一个新的setenv.sh文件。 2)在文件中添加以下行: JAVA_OPTS="$JAVA_OPTS -XX:MaxMetaspaceSize=2G" 3)配置完成后重启工程生效。 |
非运维平台部署的项目 操作系统为Windows 中间件类型为Tomcat | 优先推荐使用「运维平台>项目>健康巡检」界面的「快速修复」按钮进行修复 若无创建、读写文件的权限,可手动配置: 1)进入%Tomcat_HOME%/bin目录,寻找名为setenv.bat的文件。 如果文件不存在,可以创建一个新的setenv.bat文件。 2)在文件中添加以下行: set JAVA_OPTS=%JAVA_OPTS% -XX:MaxMetaspaceSize=2G 3)配置完成后重启工程生效。 |
3.9 服务联通性检查
服务联通性检查的检测项包括:
巡检项 编号 | 检测项 | 集群节点是 否分别检查 | 是否支持 快速修复 | 健康标准 |
---|---|---|---|---|
0901 | Redis联通 | 是 | 否 | 检测工程与Redis组件之间是否联通 |
0902 | 文件服务器联通 | 是 | 否 | 检测工程与文件服务器组件之间是否联通 |
0903 | FineDB联通 | 是 | 否 | 检测工程与FineDB数据库之间是否联通 |
3.10 业务检查
业务检查的检测项包括:
巡检项 编号 | 检测项 | 集群节点是 否分别检查 | 是否支持 快速修复 | 健康标准 |
---|---|---|---|---|
1001 | finedb | 否 | 否 | 检测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 |
1012 | spark计算结果内存大小限制 | 否 | 否 | 注:仅FineBI系统检测该项 检测系统的spiderConfig.spark_driver_maxResultSize参数值 健康:DistributedOptimizationConfig.spiderConfig.spark_driver_maxResultSize参数值不超过10000000 不健康:DistributedOptimizationConfig.spiderConfig.spark_driver_maxResultSize参数值超过10000000 |
1013 | spark内存大小限制 | 否 | 是 | 注:仅FineBI系统检测该项 检测系统的spark_memory_fracrtion参数值 修改建议:建议spark_memory_fraction 参数设置不超过0.3*堆内内存的1/8且最大不超过0.6 |
1014 | 外接库的数据库编码/字符集 | 否 | 否 | 仅输出信息 包括finedb外接数据库的数据库编码/字符集 外接数据库配置步骤请参见:配置外接数据库 |
1015 | 集群参数配置 | 否 | 否 | 仅输出信息 检测「管理系统>智能运维>集群配置>参数配置」中的内部转发参数 集群参数配置请参见:集群参数配置 |
1016 | 更新资源无限制时间段配置 | 否 | 否 | 注:仅FineBI系统检测该项 仅输出信息 检测「管理系统>系统管理>常规>抽取参数」 中的「更新高性能时间区间」参数 BI参数配置请参见:BI/Spider参数 |
1017 | 二级缓存开启情况 | 否 | 否 | 仅输出信息 检测系统是否配置二级缓存 二级缓存开启及配置请参见:指定ehcache缓存路径 |
1018 | sql执行时长限制 | 否 | 否 | 检测「管理系统>智能运维>负载管理>模板限制>通用限制」中的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 | 生命周期设置 | 否 | 否 | 仅输出信息 |
1036 | spark内存比例 | 否 | 否 | 注:仅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 |
1039 | gzip配置 | 否 | 否 | 健康: 工程版本在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 |
1041 | logdb配置 | 否 | 否 | 如为三节点及以上集群环境,且工程当月日均访问量大于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组件的中文排序设置是否一致 健康:周开始于设置一致 不健康:周开始于设置不一致 |
1001 finedb
管理员登录帆软应用,点击「管理系统>系统管理>常规>外接数据库」,将finedb迁移至更稳定的外接数据库中。
外接数据库迁移的具体操作步骤请参见:配置外接数据库
1002 日志级别
管理员登录帆软应用,点击「管理系统>智能运维>平台日志>全局设置」。
在「系统日志级别」中设置日志级别为 info,点击「保存」即可。
日志级别设置请参见:日志简介
1003 日志清理
管理员登录帆软应用,点击「管理系统>智能运维>平台日志>全局设置」。
在「操作日志清理」中开启「自动清理」并配置清理周期小于六个月。
操作日志自动清理设置请参见:日志简介
1004 自动备份磁盘占用限制
管理员登录帆软应用,点击「管理系统>智能运维>备份还原>全局设置」。
在「自动备份」中,建议各模块自动备份可占磁盘不超过1024M。备份还原设置请参见:备份还原
1005 自动备份保留数量限制
管理员登录帆软应用,点击「管理系统>智能运维>备份还原>全局设置」。
在「自动备份」中,建议自动备份默认保存不超过5份。备份还原设置请参见:备份还原
1006 定时调度任务清理配置
管理员登录帆软应用,在「定时调度」中,对「定时调度任务>调度对象」的文件处理方式设置为「仅保留最近一次」。
定时调度任务设置请参见:定时调度任务设置
1007 内存数据行数限制
注:仅FineBI系统检测该项
管理员登录帆软应用,点击「管理系统>系统管理>常规>BI参数」 。
建议「数据访问量」参数值不超过100w。BI参数配置请参见:BI/Spider参数
1008 快速分析单元格数限制
注:仅FineBI系统检测该项
「快速分析单元格数限制」的配置信息记录在 FineDB 的 fine_conf_entity 表中。
请通过「fine_conf_entity可视化配置插件」,配置DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_unit参数值不超过10000000
点击「保存」,并重启FineBI工程,配置生效。
1009 快速分析内存大小限制
注:仅FineBI系统检测该项
「快速分析内存大小限制」的配置信息记录在 FineDB 的 fine_conf_entity 表中。
请通过「fine_conf_entity可视化配置插件」,配置DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_memory参数值不超过500000000
点击「保存」,并重启FineBI工程,配置生效。
1010 快速分析更新单元格数限制
注:仅FineBI系统检测该项
「快速分析更新单元格数限制」的配置信息记录在 FineDB 的 fine_conf_entity 表中。
请通过「fine_conf_entity可视化配置插件」,配置DistributedOptimizationConfig.spiderConfig.spider_update_fast_compute_limit_cell参数值不超过100000000
点击「保存」,并重启FineBI工程,配置生效。
1011 快速分析行数限制
注:仅FineBI系统检测该项
「快速分析内存大小限制」的配置信息记录在 FineDB 的 fine_conf_entity 表中。
请通过「fine_conf_entity可视化配置插件」,配置DistributedOptimizationConfig.spiderConfig.spider_fast_compute_limit_row参数值不超过10000000
点击「保存」,并重启FineBI工程,配置生效。
1012 spark计算结果内存大小限制
注:仅FineBI系统检测该项
「spark计算结果内存大小限制」的配置信息记录在 FineDB 的 fine_conf_entity 表中。
请通过「fine_conf_entity可视化配置插件」,配置DistributedOptimizationConfig.spiderConfig.spark_driver_maxResultSize参数值不超过10000000
点击「保存」,并重启FineBI工程,配置生效。
1018 sql执行时长限制
管理员登录帆软应用,点击「管理系统>智能运维>负载管理>模板限制>通用限制」。
建议开启sql执行时长限制功能。模板限制请参见:模板限制
1019 单模板单元格数限制
管理员登录帆软应用,点击「管理系统>智能运维>负载管理>模板限制>通用限制」。
建议开启单模板单元格限制功能。模板限制请参见:模板限制
1020 导入excel单元格数限制
管理员登录帆软应用,点击「管理系统>智能运维>负载管理>模板限制>通用限制」。
建议开启导入excel单元格限制功能。模板限制请参见:模板限制
1022 单数据集行数限制
管理员登录帆软应用,点击「管理系统>智能运维>负载管理>模板限制>通用限制」。
建议开启单数据集行数限制功能。模板限制请参见:模板限制
1024 脏数据检测
注:仅FineBI系统检测该项
管理员登录帆软应用,点击「BI工具>检测>脏数据」。
检测系统中的脏数据,并进行排查清理。
1026 密码强度限制检测
管理员登录帆软应用,点击「管理系统>系统管理>登录」 。
在「密码策略设置」中,建议开启「密码强度限制」,并自定义设置密码强度。
详情请参见:密码策略设置
1027 提交记录数限制
管理员登录帆软应用,点击「管理系统>智能运维>负载管理」 。
在「模板限制」中,建议开启「提交记录数限制」。
详情请参见:模板限制
1028 单个图表导出数据量限制
管理员登录帆软应用,点击「管理系统>智能运维>负载管理」 。
在「模板限制」中,建议开启「单个图表导出数据量限制」。
详情请参见:模板限制
1029 模板限制放宽
管理员登录帆软应用,点击「管理系统>智能运维>负载管理」 。
在「模板限制」中,不建议为部分模板「放宽限制」。
详情请参见:模板限制
1030 抽数缓存启用
管理员登录帆软应用,点击「管理系统>抽数缓存」,建议开启缓存。
详情请参见:抽数缓存
1032 决策报表并行计算启用
管理员登录帆软应用,点击「管理系统>系统管理」 。
在「常规」中,建议开启「并行计算报表块」。
1033 宕机处理工具开启
管理员登录帆软应用,点击「管理系统>智能运维>宕机处理」 。
在「宕机自动处理工具」中,建议开启「宕机自动处理」。
详情请参见:宕机处理
1034 宕机处理工具自动输出堆栈
管理员登录帆软应用,点击「管理系统>智能运维>宕机处理」 。
在「宕机自动处理工具」中,建议开启「宕机导出内存堆栈」。
详情请参见:宕机处理
1039 gzip配置
1)优先建议升级至 FR11.0.21/BI6.0.15 及之后的版本,即可自行按需决定是否开启「Gzip压缩」
2)如无法升级,请登录帆软应用,点击「管理系统>系统管理>常规」,关闭「Gzip压缩」,点击「保存」
1041 logdb配置
帆软应用的操作日志,默认存储于swift(logdb)
如为三节点及以上集群环境,且工程当月日均访问量大于1W,建议将操作日志切换至elasticsearch存储,避免出现性能及宕机问题。
付费用户请自行准备ElasticSearch,并联系帆软技术支持协助切换。技术支持联系方式:「服务>在线支持」
1045 周开始于配置一致性
检测FineBI6.1项目中的所有bi-web、bi-engine-worker、bi-engine-master组件的周开始于设置是否完全一致。
1)修改bi-web的周开始于设置
管理员登录FineBI系统,点击「管理系统>系统管理>常规」。
修改周开始于设置:星期日/星期一
2)修改bi-engine-worker、bi-engine-master的周开始于设置
管理员登录运维平台,点击对应项目。点击「维护>组件管理」。
找到对应组件,点击「更改配置」按钮,修改周开始于设置:sunday/monday
1046 中文排序配置一致性
检测FineBI6.1项目中的所有bi-web、bi-engine-worker、bi-engine-master组件的中文排序配置是否完全一致。
1)修改bi-web的中文排序设置
管理员登录FineBI系统,点击「管理系统>系统管理>BI参数」。
在基础功能配置中,支持开关中文排序
关闭:代表bytes,表示关闭中文排序
开启:代表pinyin,表示开启中文排序,按照拼音排序
2)修改bi-engine-worker、bi-engine-master的中文排序设置
管理员登录运维平台,点击对应项目。点击「维护>组件管理」。
找到对应组件,点击「更改配置」按钮,修改排序设置:
bytes:表示关闭中文排序
pinyin:表示开启中文排序,按照拼音排序
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 允许修改日志存储位置 | 记录普通用户和管理员的使用动作 |
补充日志 | 存储在%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提供相应功能。
通过此功能可实现下载指定时间的指定日志,并支持查看日志存储位置。
4.3 监控指标
1)指标说明
日常运行中,运维人员主要需要关注以下各指标是否存在异常:
指标 | 监控内容 |
---|---|
内存 | 通过命令行或可视化查看服务器的内存使用情况,是否出现内存占用过高(80%及以上) |
CPU | 通过命令行或可视化查看服务器的CPU使用情况,是否出现CPU占用过高(80%及以上) |
磁盘空间 | 通过命令行或可视化查看帆软应用所在磁盘目录的磁盘空余情况,是否磁盘剩余空间过小(不足10GB) |
2)如何通过帆软功能快捷运维
帆软提供内存管理页面,点击「管理系统>智能运维>负载管理」,其中「负载监控」Tab提供相应功能。
通过此功能可实现可视化查看帆软应用而非整个服务器的近期「负载曲线」、「内存曲线」和「CPU曲线」,快速了解帆软应用运行及压力状况。
帆软提供磁盘运维功能,点击「管理系统>智能运维>磁盘运维」,其中「磁盘使用情况分析」Tab提供相应功能。
通过此功能可实现可视化查看帆软应用重点相关磁盘目录的使用情况,及时避免出现磁盘不足。
5. 异常维护
5.1 异常警告
如需对帆软应用的异常及时感知,需实现对帆软应用各项指标的监控告警,实现的方案有以下几点建议:
1)如使用的是云服务器(如阿里云、华为云等),可使用云服务厂商提供的监控类云服务,对服务器的资源异常进行监控
2)自行开发实现对于帆软应用的监控,如基于promthues组件等
3)针对系统负载过高的场景,帆软提供智能预警功能,检测到负载状态过高时将提醒运维人员。
管理员登录数据决策系统,点击「管理系统>智能运维>负载管理」,其中「负载监控」内可进行智能预警配置。
4)针对系统出现宕机的场景,帆软提供宕机通知功能,检测到系统宕机时将提醒运维人员。
管理员登录数据决策系统,点击「管理系统>智能运维>宕机处理」,其中「宕机处理」内可进行宕机通知配置。
5)针对系统磁盘空间不足的场景,帆软提供磁盘预警功能,检测到应用相关磁盘空间不足时,将提醒运维人员。
管理员登录数据决策系统,点击「管理系统>智能运维>磁盘运维」,其中「磁盘预警设置」tab页内可进行磁盘预警配置。
5.2 宕机处理
当应用出现异常时,宕机可能会随之发生,此时为了业务的可用,需要快速恢复应用,同时应尽量保存宕机时刻的日志信息,方便进行宕机原因定位及风险排除,避免再次出现类似异常。对于宕机,应进行以下运维动作:
1)保证系统环境有jdk工具,当应用发生宕机时,及时导出dump文件
进入到对应的jdk的bin目录
以linux+tomcat为例,查看pid的方式为使用ps -ef|grep tomcat管道过滤命令,查看对应的服务器进行pid。
使用命令jmap -dump:format=b,file=文件名 [pid]来生成dump。
2)自行开发对帆软应用是否存活的监控,并在发现其不可用时告知到运维人员,并通过自动化脚本重启应用,或人工进行监控及应用重启
重启或停止应用时需确保完全关闭工程相关进程,详情请参见:关闭或重启FineBI工程
3)在宕机发生后自行通过dump分析宕机原因或联系技术支持协助定位,并尽快排除宕机风险。
4)针对宕机场景,帆软提供应用存活监控功能,管理员登录数据决策系统,点击「管理系统>智能运维>宕机处理」。
通过「宕机处理」可以实现宕机消息通知,宕机日志自动导出,及宕机后自动重启恢复。
5)针对宕机定位,帆软提供宕机自助处理功能,管理员登录数据决策系统,点击「管理系统>智能运维>宕机处理」。
通过「宕机自助向导」可以对大多数的宕机原因给出分析结果并提供改进建议。
6)设置 dump JVM 参数
建议为工程配置上宕机自动生成 dump 日志的 JVM 参数,配置该参数对工程运行没有性能损耗的影响,仅用于在服务器宕机时生成 dump 日志。
注:其中 /opt/ 路径表示的是宕机文件生成路径,可以根据需要修改文件路径。修改保存后,需要重启 Tomcat 才能使配置生效。
Windows:进入%Tomcat_HOME%\bin目录。寻找名为setenv.bat的文件。如果文件不存在,可以创建一个新的setenv.bat文件。在文件中添加以下行来设置,配置完成后重启工程。
set JAVA_OPTS=%JAVA_OPTS% -XX:+HeapDumpOnOutOfMemoryError
set JAVA_OPTS=%JAVA_OPTS% -XX:HeapDumpPath=/opt/
Linux:进入%Tomcat_HOME%\bin目录。寻找名为setenv.sh的文件。如果文件不存在,可以创建一个新的setenv.sh文件。在文件中添加以下行来设置,配置完成后重启工程。
JAVA_OPTS="$JAVA_OPTS -XX:+HeapDumpOnOutOfMemoryError"
JAVA_OPTS="$JAVA_OPTS -XX:HeapDumpPath=/opt/"
6. 备份与升级
6.1 备份还原
帆软系统需要定期进行备份,以确保在用户误操作、版本回退等场景下能够及时恢复,备份及还原方式如下:
1)自行手动备份:
应用场景:迁移/升级前,手动对工程进行整体异机备份,便于迁移/升级失败后快速回退。
定期将完整工程拷贝并压缩后,放在磁盘空间充足的目录或其他服务器上,并定期备份工程的外接配置数据库
2)通过帆软功能进行定期备份:
应用场景:定期自动对工程关键业务数据进行备份,防止工程出现意外,便于还原。
备份内容:工程中的模板、插件、JAR包、平台配置
备份频率:建议每1周备份1次,保留最近5份备份
备份操作:管理员登录FineBI系统,点击「管理系统>智能运维>备份还原>全局设置」,开启自动备份。
保存位置:工程%BI_HOME%\webapps\webroot\backup目录下
由于这四个项互相存在影响(比如插件和jar包配套、模板和平台目录配套、模板功能和jar包功能关联),因此一定要把同时生成的四者备份一起还原,不可只还原某一项,或还原不同时间节点的备份内容。
6.2 更新升级
帆软产品会持续不断的迭代更新,可能增加新的功能或针对历史版本存在的问题进行修复,为了能获得更好的功能体验,客户往往也要跟随更新版本,本章仅介绍小版本升级方式,大版本升级请联系帆软技术人员进行协助,升级前需确保已进行备份操作,保证升级过程或升级后出现异常可以及时恢复可用状态不至于造成损失,备份方法可参考上一节。
1)人工更新 JAR 包:用户可以获取 JAR 包后手动替换更新, linux 系统和 windows 系统下操作方式一致。
2)用户可以向帆软技术人员索要升级jar包,获取后,替换服务器工程 %TOMCAT_HOME%/webapps/webroot/WEB-INF/lib下的老jar包,重启服务器即可完成升级。
3)BI更新升级前请先运行升级工具,在决策平台中点击「BI升级」进行检测,按指导处理完成升级风险项后进行人工更新。