1. 概述
1.1 版本
| FineBI版本 | BI运维取数插件 | BI应用共享插件 |
|---|---|---|
| 6.1.6以上 | V2.2.2以上 | V2.3.4以上 |
1.2 应用场景
基于 FineBI 产品,我们识别到用户的IT人员在管理系统的过程中有较多的系统运维与推广的数据分析需求,例如:
希望整体了解BI系统的情况,包括数据资产、权限、平台活跃等
希望对数据更新任务做监控和分析,采取对应优化动作
希望对长期无人使用的数据资产和账号进行清理,并根据血缘判断影响程度
为此,应用市场孵化了一款 “帆软BI运维分析”的看板 ,客户在 FineBI 工程安装后,可分析BI系统数据,辅助企业进行系统运维与推广工作。
1.3 前置条件
1)BI工程版本6.1.6以上,有定时调度功能点,能够连接帆软市场所需要的网址资源,具体可见:网址白名单的1.3。
2)准备数据库:需要准备一个空的数据库用于存储系统数据,供看板使用。该数据库需要为mysql、oracle、sqlserver类型(底层语法是这几种的数据库也可以),其他类型数据库可能会有语法兼容问题。
3)下载并安装BI应用共享插件,6.1版本:「BI应用共享」,7.0版本:「BI应用共享」。
2. 部署BI数据抽取插件
2.1 安装插件
2.1.1 全新安装
如果之前从未安装过「BI运维取数插件」,则直接在插件管理里安装即可。该插件初始化配置好后,会定期将BI工程本身相关的系统数据抽取到提前准备好的数据库中,用于后续的分析。
提示:「BI运维取数插件」插件处于内测阶段,需联系对应技术支持或客户成功获取。
2.1.2 原有插件升级
如果之前安装过「BI运维取数插件」的2.2.0以及更早版本,则除了更新插件外,因为新版本表结构和部分计算逻辑发生了变化,所以还需要做一些额外的处理。
1)备份原来已经抽取到数据库的所有相关表。
2)参考2.2.3调整「数据集更新事实表」和「用户行为事实表」的抽取时间配置。
3)删除原有表,参考2.3调整定时任务的公式,让插件重新建表和抽取数据。
4)参考3.1和3.2重新拉取表并设置定时数据更新,过程中检查下拉取的表字段是否完整。
提示: 「数据集更新事实表」和「用户行为事实表」的数据来源为logdb,如果logdb设置了定期清理, 则可能会缺少数据,此时视情况可以从备份中手动将以前的数据导入到表中。2.2 数据连接配置
2.2.1 新增数据连接
新建一个数据连接,对应提前准备好用于存储BI系统数据的数据库。连接该数据库的账号需要有CREATE、INSERT、UPDATE、DELETE、SELECT权限。

2.2.2 绑定数据连接
1)在系统管理界⾯找到「BI数据抽取配置」选项。
2)在「数据源」下拉框中选择2.2.1中设置好的数据连接,「模式」下拉框如果没有选项则不需要选择。
3)点击「保存」按钮完成配置。

2.2.3 配置事实表的抽取开始时间
1)在「事实表抽取开始时间配置」页面中设置「数据集更新事实表」和「用户行为事实表」的抽取开始时间。该时间决定了抽数插件从什么时间点开始读取系统数据,建议根据需要来设置,避免时间过早导致的大数据量抽取性能问题。
2)插件每次完成抽取后,都会自动将此处的时间更新到本次抽取的时间,下次抽取就会从本次抽取完成的时间点开始读取数据。如果后续遇到数据异常,需要清空表数据重新抽取,则需要手动修改此处时间。
3)只需要关注「数据集更新事实表」和「用户行为事实表」的抽取时间配置即可,其余表在帆软BI运维分析看板中未使用,不需要设置。

2.3 配置定时调度任务
1)在「管理系统>定时调度」中点击「新建」创建定时任务。
2)参考下图配置任务,有几个关键配置信息:
默认用户组:选择指定用户,用于接收数据抽取的结果信息
执行频率:根据需要设置,建议固定为每天的凌晨运行,减少对工作时间的资源占用
处理⽅式:选择「平台通知」
内容:数据更新结果 ${updateBIData('fp_user','fp_department','fp_role','fp_authority_user_result','fp_update_task','fp_entry','fp_resource','fp_sp_usage','fp_data_field','fp_task_execute','fp_user_behavior_detail')}
3)如果工程数据较多,该定时任务需要的时间会比较长(几个小时),过程中不要手动修改相关数据表避免产生脏数据。
4)如果执行失败,可以从定时调度功能的运行监控中查看报错并调整,调整后只需要针对报错的表清空数据并重新更新即可(updateBIData函数中只写报错表的表名即可单独更新该表)。如果是「数据集更新事实表」和「用户行为事实表」报错失败,则还需要参考2.2.3步骤手动设置下抽取时间。以下罗列一些常见的失败情况:
主键冲突:存在脏数据,可以尝试清空表数据后重新更新该表。
字段过长:有些数据的长度较大,会超出默认设置的字段长度,此时可以手动去数据库调整下对应字段的长度设置再更新。
空指针:可能是脏数据,可以尝试清空表数据后重新更新该表。如果仍然不行,找技术支持协助排查。




函数说明

3. 配置公共数据
3.1 拉取数据表
将系统数据抽取到数据库后,下一步则需要在BI的公共数据中加入这些数据表,供看板使用。在公共数据下新建一个文件夹,并拉取数据库中的11张数据表。相关数据表的数据字典参见:BI运维数据字典。

3.2 设置数据定时更新
对11张数据表设置定时全量更新,更新的频率和之前定时任务的频率保持一致,建议一天一次。更新的时间需要在定时任务完成后,否则最新一次周期的数据会有缺失,同时尽量避开业务繁忙的时间段,以免影响业务数据更新。
建议先运行几次定时调度任务和数据更新任务看一下所需要的时间,再评估设置什么时间比较合适。例如定时调度任务需要3h,数据更新任务需要1h,那把定时调度任务设置在每天凌晨1点开始运行,数据更新任务设置在每天早上6点开始运行会比较稳妥。

4. 安装模板
1)在模板市场找到帆软BI运维分析看板,点击「一键应用」按钮。

2)根据提示存到我的分析,等待模板创建成功后点击立即编辑。

3)修改数据源
将所有【原始表】为前缀的数据逐个进行替换,更换为之前拉取好的公共数据中的对应表。匹配字段默认都会自动匹配好,可以检查下是否有未匹配成功的字段,有的话需要手动选一下匹配字段。



4)替换完成之后,点击「更新」,更新成功后即可查看模板。

5. 特此声明
后续帆软官方FineBI 6.1、7.0版本的系统运维分析取数需求都通过本应用进行迭代更新,建议优先考虑本方案。
如果直接从finedb、logdb、接口等其他形式取数分析,可能会因为表结构变动、接口变动等原因导致分析不可用。
