1. 概述
1.1 版本
| FineBI 版本 | JAR 包版本 | 功能变更 |
|---|---|---|
| 5.1 | 2019-07-15 | - |
| 5.1.7 | 2020-11-05 | 新增数据表:recordOperate 新增数据表:recordWrite |
| 5.1.11 | 2021-04-02 | 新增数据表:BIUpdateTask 新增数据表:BIUpdateTaskDetail |
| 5.1.16 | 2021-09-07 | 删除数据表:errorRecord 新增数据表:templateError |
1.2 功能简介
treasures 数据包的具体 CSV 表结构,下面将详细说明。
2. 数据包获取
以管理员身份进入数据决策系统,点击「管理系统>智能运维>云端运维」,点击「下载日志」即可下载云端运维数据包。如下图所示:

注:下载数据前,需要登录帆软通行证。
3. 数据包整体结构
3.1 月数据包
解压后有多个日数据包+一个月数据包信息文件( json 格式)。如下图所示:

3.2 日数据包
日数据包解压后有 12 张 CSV 表。如下图所示:

3.3 日志导出
服务器日志会以压缩包的形式保存入 treasures.zip 数据包。数据包中有两种文件,分别是:
1)所选月份的日志文件(treasxxxxxx.zip)
2)月数据包信息文件(package.json)

其中,package.json 文件中信息为应用名称、应用 ID 、该月数据包所属月份以及该月数据包所含日数据包的个数。
多月 treasure 压缩包中的 json 文件内容:

单月 treasure 压缩包中的 json 文件内容:

4. 数据包构成
4.1 package
应用的基本信息,每个数据包里都包含这个,用于鉴别数据包的来源。
| 字段 | 含义 |
|---|---|
| appname | 应用名称 |
| appid | 应用 id |
| time | 数据包时间,比如 2018-11-01(自动导出情况下:每日凌晨四点导出前一天的包,记为导出日期的前一日) |
| version | 云端运维版本 |
4.2 execute
模板使用情况,记录模板的执行明细。
| 字段 | 备注 |
|---|---|
| id | 主键 |
| tname | 物理模板名字(reportlet 下的完整路径) |
| displayName | 挂载到平台的目录名称(全路径),如果直接访问链接则为空 |
| time | 记录的时间,到秒即可 |
| memory | 报表占用内存,单位 B |
| type | 报表访问方式 |
| consume | 后台耗时 |
| sqlTime | SQL 执行耗时间 |
| reportId | 模板 ID |
| userId | 用户 ID |
| ip | 用户所在ip(加密导出) |
| complete | 是否计算完成 |
| source | 链接访问/平台访问 |
| brower | 浏览器 |
| sessionID | 会话ID,用于与性能埋点表中的前端渲染耗时相关埋点进行关联 |
| node | 加载模板的节点名 |
| error | 模板执行过程中第一个报错信息 |
| webInfo | 模板执行信息 webResolution:当前模板执行在前端访问时的分辨率,记录格式为x*y fullScreen:当前模板执行在前端访问时是否是全屏模式,记录格式为1/0 |
| fineMarkId | 一个用户的标识id(用于判断非登录场景下的用户数) |
4.3 executesql
记录 SQL 的执行记录明细。
| 字段 | 备注 |
|---|---|
| time | 执行时间,时间戳格式 |
| executeid | 执行表 ID |
| dsname | 数据集的名称 |
| sqltime | SQL 执行时间,单位毫秒 |
| rows | 数据集规模,行 |
| columns | 数据集规模,列 |
| connection | 数据连接名 |
| connectionID | 数据连接标识 ID,用于与功能埋点表中的数据源连接相关埋点进行关联 |
4.4 realTime
应用的实时情况,每分钟记录一条。
| 字段 | 备注 |
|---|---|
| time | 记录时间,每分钟一条 |
| node | 节点名 |
| cpu | CPU 利用率 |
| memory | 当前 jvm 内存情况 |
| sessionnum | 存活会话数 |
| onlinenum | 系统在线人数 |
| pid | 进程 pid |
| templateRequest | 正在计算的模板请求数 |
| httpRequest | 总的正在处理的 http 请求数 |
| sessionRequest | 正在处理的带 SessionID 的请求数 |
| fineIO | fineIO占用堆外内存大小,单位 KB |
| NIO | NIO占用堆外内存大小,单位 KB |
| bufferMemUse | 堆外使用总内存,directMem「nio」和mappedMem,单位 KB |
| physicalMemUse | 物理内存已使用空间,单位 KB |
| physicalMemFree | 物理内存空闲空间,单位 KB |
4.5 consumepoint
模板的性能情况,每日记录一次。
| 字段 | 含义 | 备注 |
|---|---|---|
| id | 埋点 id 编号 | |
| source | 埋点来源 | Original 类 1 表示当前系统的 0 表示插件的埋点 -1 表示没有定义来源 |
| time | 开始时间 | 开始时间(时间戳格式) |
| username | 用户名ID | 进行了转码处理 |
| finish | 结束时间 | FineReport 字段,BI 不适用 |
| consume | 耗时,单位 ms | - |
| memory | 内存大小,单位 byte | FineReport 字段,BI 不适用 |
| title | 资源 id | 可以是模板id,分析表id,表id等 |
| text | 资源内容 | FineReport 字段,BI 不适用 |
| type | 操作类型 | FineReport 字段,BI 不适用 |
| comment | 资源备注 | FineReport 字段,BI 不适用 |
| body | 埋点具体信息 | - |
4.6 focusPoint
记录功能点的使用情况,以及各种埋点信息。
| 字段 | 说明 | 备注 |
|---|---|---|
| id | 功能点 id | 例如:FR-F4001 |
| source | 埋点来源 | 功能点的类型 embed 表示当前系统的 plugin 表示插件的埋点 undefined表示没有定义来源 |
| time | 时间 | 使用该功能的时间点 |
| username | 用户名 | 用户名ID |
| title | 标题 | 主要内容 |
| text | 内容 | 功能点的主要信息 |
| body | 埋点具体信息 | 埋点具体信息,一个 json 数据结构,根据不同的埋点里面存放不同的信息(次要信息,可能为空) |
4.7 templateError
错误日志记录表:记录系统中发生过的报错日志。
| 字段 | 含义 |
|---|---|
| tname | 出错的物理模板名字(reportlet下的完整路径) |
| time | 出错记录时间 |
| displayName | 挂载到平台的目录名称(全路径) 如果为空时,判断 platformDisplay是否为0,为零时平台前端显示处理为国际化的“非挂载访问” |
| result | 是否成功预览 1:预览成功 0:预览失败 |
| code | 错误代码 |
| platformDisplay | 是否挂载访问 1:表示挂载访问 0:表示url访问 |
| username | 执行报表的用户 notLogged:表示未登录访问 fromSchedule:表示来自定时调度 |
4.8 gcRecord
记录系统的 GC 信息。
| 字段 | 数据类型 & 单位 | 备注 |
|---|---|---|
| time | long timestamp | 记录时间 |
| gcStartTime | long timestamp | GC 开始时间 |
| gcType | String | GC 类型 |
| gcCause | String | GC 的原因 |
| pid | String | 进程pid |
| node | String | 用户命名的节点名,单机下记为空 |
| duration | long ms | GC 持续时间 |
| youngBeforeUsed | long KB | 年轻代 GC 前使用内存 |
| youngBeforeCommitted | long KB | 年轻代 GC 前申请内存 |
| youngAfterUsed | long KB | 年轻代 GC 后使用内存 |
| youngAfterCommitted | long KB | 年轻代 GC 后申请内存 |
| oldBeforeUsed | long KB | 老年代 GC 前使用内存 |
| oldBeforeCommitted | long KB | 老年代 GC 前申请内存 |
| oldAfterUsed | long KB | 老年代 GC 后使用内存 |
| oldAfterCommitted | long KB | 老年代 GC 后申请内存 |
| metaspaceBeforeUsed | long KB | metaspace GC 前使用内存 |
| metaspaceBeforeCommitted | long KB | metaspace GC 前申请内存 |
| metaspaceAfterUsed | long KB | metaspace GC 后使用内存 |
| metaspaceAfterCommitted | long KB | metaspace GC 后申请内存 |
| heapBeforeUsed | long KB | GC 前堆使用内存 |
| heapBeforeCommitted | long KB | GC 前堆申请内存 |
| heapAfterUsed | long KB | GC 后堆使用内存 |
| heapAfterCommitted | long KB | GC 后堆申请内存 |
| balancePromoterScore | int 分「分值的分」 | 中止计算分值 |
| releasePromoterScore | 同上 | 释放会话分值 |
| loadScore | 同上 | 整体负载分值 |
4.9 processLog
记录云端运维任务运行相关的日志。
| 字段 | 含义 |
|---|---|
| time | 时间 |
| node | 节点 |
| process | 流程 |
4.10 recordOperate
管理日志表,即用户对模块进行操作的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录。
注:5.1.7 及之后版本的 FineBI 新增该表。
字段 | 备注 |
|---|---|
| type | 模块(存国际化的 key) |
| item | 设置项 |
| operation | 操作 |
| username | 用户名 |
| ip | 用户 IP 地址 |
| time | 用户操作时间 |
4.11 recordWrite
填报表:记录填报日志信息,即如果报表进行填报的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录。
注:5.1.7 及之后版本的 FineBI 新增该表。
字段 | 备注 |
|---|---|
| username | 填报报表的用户 |
| tname | 仪表板存放路径 |
| time | 填报时间 |
| result | 是否填报成功 |
| ip | 填报报表的IP地址 |
| displayName | 仪表板的实际名称,非「目录管理」中仪表板的名称 如果直接访问链接则为空 |
| browser | 客户端访问报表所用的浏览器版本 |
| consume | 执行耗时,包括 SQL 执行时间,报表计算时间 |
| body | 用json数据结构记录以下信息(times, max,min,avg)
|
4.12 BIExecute
仪表板访问情况。
| 字段 | 含义 | 备注 |
|---|---|---|
| id | 主键 | - |
| tname | 仪表板名字 | 文件夹名称/……/仪表板名称 FineReport 报表有后缀.cpt |
| displayName | 记录被分享的数据集名称 | 没有挂出的 BI 仪表板显示仪表板名 |
| time | 日志开始时间 | 时间戳格式 |
| memory | 报表占用内存,单位 B | FineReport 字段,BI 不适用 |
| type | 仪表板访问方式,具体列举在下文 | - |
| username | 执行仪表板的用户 | - |
| userrole | 执行仪表板的用户角色 | - |
| consume | BI 仪表板访问耗时,从打开仪表板到所有组件加载完成的时间,单位为毫秒 | 注:该 BI 仪表板访问耗时为 2019-04 之后的版本增加。 |
| sqlTime | sql 执行的总时间 | FineReport字段,BI 不适用 |
| reportID | 仪表板编号 | - |
| userId | 用户 Id | - |
| complete | 是否计算完成 | FineReport字段,BI 不适用 |
| source | 访问方式(integration 是通过 url 访问,single 是平台访问的 ) | FineReport字段,BI 不适用 |
字段 type 具体含义:
| 编码 | 类型 | markString |
|---|---|---|
| 0 | 分页预览 | page |
| 1 | 在线分析 | view |
| 2 | 填报预览 | write |
| 3 | 决策报表预览 | form |
| 4 | 行式引擎 | layer |
| 5 | 在线编辑 | edit |
| 6 | 新填报 | write_plus |
| 7 | 新引擎预览 | page_plus |
| 10 | Excel 分页导出 | excel |
| 11 | Excel 原样导出 | excelO |
| 12 | Excel 整页导出 | excelL |
| 13 | Excel 分页分 sheet 导出 | excelS |
| 14 | PDF 导出 | |
| 15 | Word 导出 | word |
| 16 | SVG 导出 | svg |
| 17 | CSV 导出 | csv |
| 18 | 文本导出 | text |
| 19 | JPG 图片导出 | jpg |
| 20 | PNG 图片导出 | png |
| 21 | GIF 图片导出 | gif |
| 22 | BMP 图片导出 | bmp |
| 23 | WBMP 图片导出 | wbmp |
| 24 | 内置数据集导出模板 | cpt |
| 25 | HTML 导出 | html |
| 26 | 填报 HTML 导出 | write_html |
| 27 | BI 导出 Excel | |
| 30 | Flash 打印 | print_flash |
| 31 | PDF 打印 | print_pdf |
| 32 | Applet 打印 | print_applet |
| 33 | 零客户端打印 | print_noclient |
| 34 | 本地软件打印 | print_native |
| 101 | BI 模板预览 | bi_view |
| 102 | BI 模板编辑 1)记录逻辑:点开一张仪表板进入编辑状态,等待页面全部加载完毕,无论做多少操作或不做操作,记录一次;下次再点模板进去编辑或者刷新网页记录第二次 2)同一张仪表板,每次编辑都会有记录 | bi_edit |
| 103 | BI 模板分享 | bi_share |
| 104 | 记录创建的公共链接操作 | bi_create_publink |
| 105 | 记录公共链接访问情况 | bi_view_share |
| 106 | BI 模板全局导出 PDF | bi_template_export_pdf |
| 107 | BI 模板全局导出 Excel | bi_template_export_excel |
| 108 | BI 组件导出 Excel | bi_component_export_excel |
| 201 | 关闭浏览器或者 Tab 页(BI) | |
| 203 | BI 数据集分享 | bi_analysis_table_share |
4.13 BIUpdateTask
更新任务表
注:5.1.11 及之后版本的 FineBI 新增该表。
| 字段 | 含义 | 备注 |
|---|---|---|
| planId | 任务实例唯一标识,每一次运行都不同 | - |
| taskName | 任务名称 | 表名+任务类型(单表/业务包/全局) |
| startTime | 任务开始时间 | - |
| endTime | 任务结束时间 | - |
| runningResult | 完成状态 | 1 全部成功 2 部分成功 |
| state | 更新状态 | 1 已结束 2 运行 |
| triggerType | 触发方式 | 1 手动 2 定时 |
| roleId | 触发人Id | - |
| roleName | 触发人名称 | - |
| countOverView | 任务中各类型的表的更新情况。JSON | expectBaseTableUpdate 期望的基础表数量 actualBaseTableUpdate 实际成功更新的基础表数量 expectComplexUpdate 期望的自助数据集数量 actualComplexUpdate 实际成功的自助数据集数量 expectRelationUpdate 期望的关联更新数量 actualRelationUpdate 实际成功的关联数量 |
| extra1 | 额外的字段1 | - |
| extra2 | 额外的字段2 | - |
| extra3 | 额外的字段3 | - |
| time | 数据插入时间,swift表清理需要 | - |
4.14 BIUpdateTaskDetail
更新任务明细表
注:5.1.11 及之后版本的 FineBI 新增该表。
| 字段 | 含义 | 备注 |
|---|---|---|
| planId | 任务实例唯一标识,每一次运行都不同 | - |
| loadId | 明细标识,在一个更新任务中唯一 | - |
| loadName | 明细信息的名字 | 表为表名+包名,关联为关联的信息 |
| loadType | 明细类型 | 1 基础表 2 自助数据集 3 关联 |
| updateType | 更新类型 | 1 全量 2 增量 |
| state | 更新状态 | 1 更新中 2 成功 3 部分成功 4 排队等待 5 失败 |
| endTime | 数据更新结束时间 | - |
| effectTime | 生效时间,真正可用 | - |
| startTime | 更新开始时间 | - |
| execption | 失败报错信息 | - |
| failedSonId | 基础表导致的更新失败的表的ID集合 | - |
| extra1 | 额外的字段1 | - |
| extra2 | 额外的字段2 | - |
| extra3 | 额外的字段3 | - |
| time | 数据插入时间,swift表清理需要 | - |
| fatherFailedIds | 更新失败的父表的ID集合 | - |
| tableId | 额外的字段 | - |
| updateCount | 变化的行数,可能有增有减 | - |
| errorCode | 错误代码 | - |
| totalCount | 总行数 | - |
| deleteCount | 增量减行数 | - |
| writeTime | 写文件时间 | - |
| etlFlow | 自助数据集的步骤 | - |
| appendCount | 增量增行数 | - |
| columns | 列 | - |
| jdbcTime | 数据获取时间 | - |
| openTime | sql执行时间 | - |
| infos | 非报错信息(只有国际化的key值和参数) | - |
4.15 honeypot
| 字段 | 含义 | 备注 |
|---|---|---|
| 类型 (id) | 区分类别的父类ID | |
| 参数 (param) | 记录备注信息,主要记录步骤的名称、状态、等内容 | |
| 时间 (time) | 时间 | |
| 用户名 (username) | 用户名 | 经转码处理 |
| 用户类型 (userType) | - | |
| 对象 (target) | 该步骤的操作对象,资源id;记录模板id,分析表id,表id等 | |
| 表转义名 (transferName) | 操作对象的转义名 | |
| 公司 ID (companyName) | license中的公司ID | |
| 项目名字 (projectName) | license中的项目名称 | |
| 版本 (version) | license中的版本号 |
4.16 logpoint
| 字段 | 含义 | 备注 |
|---|---|---|
| 埋点类型编号 | 区分类别的父类ID | |
| 出现报错时间 | - | |
| 错误代码 | 具体的错误代码 | 参考 错误代码 |
5. 其他说明
若导出数据包时该日数据包已存在,则先将该日数据包删除后再导出,即进行覆盖操作。
(例如 2019-03-02 日凌晨四点会导出 2019-03-01 日数据包。而在 2019-03-01 日用户进行过手动下载,已生成当日数据包,2019-03-02 日凌晨四点导出的数据包则会将之前生成的数据包覆盖)。
