报表日志 LogDB 数据库

编辑
  • 文档创建者:文档助手1
  • 浏览次数:24538次
  • 编辑次数:76次
  • 最近更新:youngsforever 于 2019-08-05
  • 1. 描述

    为了加强对报表工程的管理,随时监控其运行状态,可以在平台中设置开启日志查看,如下图所示:

    注:仅影响系统日志的输出,不影响操作日志。

    2. LogDB

    LogDB 是 FineReport 日志监控开启之后保存日志的内置数据库,那么 FineReport 日志都包含哪些内容呢?

    下面来介绍一下,LogDB 数据库中各个数据表的含义以及字段的含义。

    2.1 连接 LogDB 数据库

    点击定义数据连接,新增一个 JDBC 数据连接,设置信息如下表所示:

    选项内容
    数据库 Others
    驱动器 com.fr.swift.jdbc.Driver
    URLjdbc:swift:emb://default(Mac、Windows、Linux通用)
    用户名和密码

    设计器设置页面如下图所示:

    image.png

    2.2 查看数据表

    测试链接成功之后,我们新建一个 数据库查询 ,选择上面创建的数据连接,即可看到日志数据库下面的所有数据表,如下图所示:

    image.png

    注:如果是服务器添加了 LogDB 这个数据连接务必控制这个 数据连接的权限,否则存在被越权访问并修改配置数据库的风险

    查询语法可参见文末章节。

    2.3 数据表和字段对应的含义

    那么 Logdb 数据库中各个数据表和表字段其含义到底是怎么样的呢?

    2.3.1 报表(BI)执行表——fine_record_execute

    报表访问/导出/打印日志,即如果报表访问/导出/打印的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表所示:

      字段  含义
     id 主键
     tname  物理模板名字(reportlet 下的完整路径)
     displayName  挂载到平台的目录名称(全路径),如果直接访问链接则为空
     type  报表访问方式,具体列举在下面的表格中(范围0~103,目前已使用33个编码)
     param  参数
     ip  执行报表的 IP 地址
     username  执行报表的用户
     userrole 执行报表的用户角色
     consume 执行耗时,包括 SQL 执行时间,报表计算时间
     time日志开始时间
     sql SQL 语句
     sqlTime SQL 执行的总时间
     browser 客户端访问报表所用的浏览器版本
     memory

     报表占用内存,单位 B

    ①若因宕机等情况计算中断,记录的是报表开始计算到计算中断所占用的内存(根据格子数估算。一格子占用 0.2KB)。

    ②若计算完成,记录的是报表开始计算到计算完成所生成的格子数。

     reportID 模板编号
     userId 用户 ID
     complete

     是否计算完成

    ①若因宕机等情况计算中断,记录为“0”。

    ②若计算完成,记录为“1”。

     visitType 链接访问/平台访问
     resource 访问方式(integration 是通过 URL 访问,single 是平台访问的 )

    注:userId、complete、visitType、resource 字段需要更新 2019-5-20 以后的 JAR

    字段 type 具体含义:

    编码  类型  markString 
      0  分页预览 page
      1  在线分析 view
      2  填报预览   write
      3  决策报表预览 form
      4  行式引擎 layer
      5  在线编辑 edit
      6  新填报 write_plus
     10  Excel分页导出 excel
     11  Excel原样导出 excelO
     12  Excel整页导出 excelL
     13 Excel分页分sheet导出 excelS
     14 PDF导出 pdf
     15 Word导出 word
     16 SVG导出 svg
     17 CSV导出 csv
     18 文本导出 text
     19JPG图片导出  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打印 flash
     31 PDF打印 
     32  Applet打印 applet 
     33 零客户端打印 
     34 本地软件打印 
    101BI模板预览
    102BI模板编辑
    103BI模板分享


    2.3.2 登录表——fine_record_login

    登录日志,记录用户登录信息:时间、IP 地址、用户名及角色,其各个字段对应的含义如下表:

      字段  含义
      time  登录时间
      ip  登录 ip 地址
      username    登录的用户
      userrole  登陆的用户角色


    2.3.3 邮件表——fine_record_email

    邮件发送日志(只包含工具栏中的“邮件”),即如果报表发送邮件的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:

      字段含义  
      receiver  收件人用户名
      mail  收件人邮箱
      ip  发送邮件的IP地址
      username  发送邮件的用户
      tname  物理模板名字(reportlet 下的完整路径)
      displayName  挂载到平台的目录名称(全路径),如果直接访问链接则为空
      content  邮件内容
      time  发送时间
     result 是否发送成功
     detail 详情

    2.3.4 填报表——fine_record_write

    填报日志,即如果报表进行填报的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:

    字段  含义  
      username  填报报表的用户
      tname    物理模板名字(reportlet 下的完整路径)
      time  填报时间
      sql  SQL 语句
     sqlTime  SQL 执行的总时间
      result  是否填报成功
      ip  填报报表的IP地址
      displayName  挂载到平台的目录名称(全路径),如果直接访问链接则为空
      detail  详情
      browser  客户端访问报表所用的浏览器版本
      consume  执行耗时,包括 SQL 执行时间,报表计算时间

    2.3.5 执行出错日志表——fine_record_error

    执行出错日志,即如果报表执行的过程中报错的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:

      字段  含义
      displayName  挂载到平台的目录名称(全路径),如果直接访问链接则为空
      ip  执行报表的 IP 地址
      msg  错误信息
      time  出错记录时间
      tname  出错的物理模板名字(reportlet 下的完整路径)
      trace  错误路径
      username  执行报表的用户
      userrole  执行报表的用户角色

    注:如果不是模板出错,则 tname 记录为“非模板触发错误”

    2.3.6 fine_function_process

    功能点使用日志,即使报表用功能点的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:

      字段 含义 
      func  功能点(值以数组展示:功能:次数,功能:次数)
      time  记录时间

    2.3.7 常用参数组合表——fine_record_param

    常用参数组合日志,其各个字段对应的含义如下表:

      字段  含义
      templateid  模板 ID
      username    用户
      pgroup  参数(值以数组展示:参数 1:参数值,参数 2:参数值)
      time  记录时间

    2.3.8 短信发送表——fine_record_sms

    短信发送日志,即如果发送短信的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:

      字段  含义
      receiver  收件人用户名
      mobile  接收人手机号
      content  邮件内容
      time  发送时间
      result  是否发送成功
      detail  详情
      sender 发件人用户名

    2.3.9 管理日志表——fine_record_operate

    管理日志,即用户对模块进行操作的时候,将会在该表中添加一条记录,并在相应字段中填写其对应的信息记录,其各个字段对应的含义如下表:

      字段含义  
      type  模块(存国际化的 key)
      item  设置项
      resource  被访问资源
      operation  操作
      username    用户名
      ip  用户 IP 地址
      time  用户操作时间
      detail  详情
      requestParam  请求参数

    2.3.10 SQL 执行表——fine_record_sql

    SQL 执行情况

      字段  含义
      columns  数据集规模,列
      dsname  数据集的名称
      executeid  执行表 ID
      rows  数据集规模,行
      sqltime  SQL 执行时间,单位毫秒

    2.3.11 功能信息表——fine_intelli_focus_point

    设计器功能点使用信息

    字段  含义  
      id  功能点 ID
      text  国际化
      source  功能点的类型,1 是内置 JAR 包的功能点,2 是插件功能点,-1 表示没有定义来源
      time  用户操作时间
     username  用户名
      ip  用户IP地址
     title  平台模板名

    2.3.12 应用实时情况表——fine_real_time_usage

    应用实时情况

      字段含义  
     node 节点名
      cpu  CPU 利用率
      memory  当前 JVM 内存情况
      time  记录时间,每分钟一条
    sessionNum  存活会话数
    onlineNum 系统在线人数
    pid 进程 PID

    注:node、sessionNum、onlineNum、pid 字段需要更新 2019-5-20 以后的 JAR

    2.3.13 模板属性表——fine_tpl_info

    模板属性,每周执行一次,记录一次

      字段  含义
      id  主键
      tid  模板 id
      tname  物理模板名字(reportlets下的完整路径)
      cnums  条件属性个数
      formnums  公式个数
      sheetnums  多 sheet 个数
      dsnums  数据集个数
     compformnums 复杂公式的个数(包括层次坐标、SQL、value 公式)
     submitnums 内置提交的个数
     isfrozen 是否使用了冻结
     isfoldtree 是否使用了折叠树
    widgetnums  控件个数
    filterNums过滤个数
    injectNums参数注入个数
    formula模板内公式使用情况
    JSAPI模板内 JS API 使用情况
     tsize 模板总大小
     imgsize 模板里图片的大小
     execute0-execute4 执行时间的 5 级的分段记录
     mem0-mem4 内存使用量的 5 级的分段记录
     sql0-sql4SQL 执行时间的 5 级的分段记录
     recordtime 记录时间

    注:filterNums、injectNums、formula、JSAPI 字段需要更新 2019-5-20 以后的 JAR

    2.3.14 系统关闭记录——fine_operation_shutdown_record

    描述:记录系统关闭前后的进程信息以及关闭类型。

    字段

    备注

    node节点名
    time当前时间
    pid进程 PID
    startTime进程开始时间
    upTime进程持续时间
    signalName信号量

    2.3.15 容器配置情况(fine_container_entity)

    描述:应用所在容器、服务器的配置信息。每日记录一次。

    字段

    备注

    node节点名
    time时间,到日
    item配置项
    value

    其中itme包括:

    item

    说明

    containerMem容器设置的内存大小
    cpuCPU 核数
    disk磁盘情况
    jdkVersionJDK 版本
    containerVersionWeb 容器版本
    machineMem物理机内存
    system服务器操作系统
    systemNum服务器操作系统位数
    cpuModel处理器型号
    diskSpeed磁盘存取速度
    jarVersionJAR 包版本
    licType注册类型(正式/临时)
    expireTime注册到期时间

    2.3.16 配置信息——fine_record_conf

    描述:每日将 FineDB 中的 fine_conf_entity 表记录一次。去除了fine_conf_entity表中的敏感信息,包括:BI 业务包相关配置、数据连接的密码&用户名&URL、服务器数据集相关信息、连接池中的 SQL 验证查询、集群配置中状态服务器与文件服务器的地址&用户名&密码、邮件服务器配置的用户名&密码(原则是去除任何 SQL 语句、用户名、密码、服务器地址信息)。

    字段

      含义

      id  数据在配置中的位置
     value  数据值
    time时间,到日

    2.3.17 插件使用情况——fine_plugin_usage

    描述:插件的使用情况,每个插件每日记录一次。

    字段

    备注

    time时间,到日
    plugin插件名
    version插件版本
    API插件中所用接口情况
    opration插件运行情况
    register插件注册情况
    enable插件是否启用

    2.3.18——功能点购买情况——fine_function_possess

    描述:功能点购买情况,每日记录一次。

    字段

    备注

    time时间,到日
    function功能点购买情况

    2.3.19 性能信息表——fine_intelli_consume_point

    描述:性能相关信息

    字段

    说明

    备注

    id埋点 id 编号
    source埋点来源Original 类里面 embed 表示当前系统的,plugin 表示插件的埋点,undefined 表示没有定义来源
    time时间开始时间
    endTime结束时间

    consume

    耗时 单位 ms
    memory内存大小 单位 byte
    username操作者
    ip操作 IP
    title资源 ID可以是模板 ID,分析表 ID,表 ID 等
    text资源内容可以是模板名字,分析表名字,等,可以根据
    type操作类型可以表明是进行了哪种操作
    comment资源备注可以是可以是更具体一些的信息,需要直接分析的数据。
    body埋点具体信息一个 JSON 数据结构,根据不同的埋点里面存放不同的信息

    3. 查询语法

    3.1 明细查询

    SQL 语句示例:

    1)select * from fine_record_execute

    2)select tname, displayName, consume from fine_record_execute

    3.2 GROUP BY 查询

    GROUP BY 查询,有 SUM,COUNT, MAX, MIN, AVG 这五种聚合方式,如果什么都不写,会默认 COUNT

    SQL 语句示例:

    1)select sum(consume) from fine_record_execute group by tname, displayName

    2)select consume from fine_record_execute group by tname, displayName

    3)select min(consume), max(consume) from fine_record_execute group by tname, displayName

    3.3 WHERE 过滤条件

    简单的 WHERE 过滤条件,支持 AND, OR, =,<>,>,>=, <,<=, in, isnull 

    SQL 语句示例:

    1)select * from fine_record_execute where consume > 10

    2)select sum(consume) from fine_record_execute where consume > 10 and consume < 100 group by tname, displayName

    3)select consume from fine_record_execute where tname = `doc/Advanced/Chart/GraphSwitching/多图表实现统一切换.frm`

    4)select sum(consume) from fine_record_execute where tname in (`doc/Advanced/Chart/GraphSwitching/多图表实现统一切换.frm`, `doc/Advanced/Chart/Combination/柱形-面积组合图.cpt`) group by tname, displayName

    3.4 todate() 将时间戳转换为普通的日期类型

    todate() 结果的日期格式为:2018-12-18 10:15:26

    SQL 语句示例:

    1)  select todate(time) from fine_record_execute

    2) select * from fine_record_execute where todate(time)<'2018-12-18 10:15:26' and todate(time)>'2018-12-17 10:15:26'

    注: 需要更新 2019-5-20 以后的 JAR。

    3.5 like 模糊查询

    只支持前后‘%’的用法

    SQL 语句示例:

    1)select * from fine_record_execute where tname like '%demo%'

    注:目前只支持 '%',暂不支持通配符 ‘_’,需要更新 2019-5-20 以后的 JAR。

    附件列表


    主题: 部署集成
    标签: 暂无标签 编辑/添加标签
    如果您认为本文档还有待完善,请编辑

    文档内容仅供参考,如果你需要获取更多帮助,付费/准付费客户请咨询帆软技术支持
    关于技术问题,您还可以前往帆软社区,点击顶部搜索框旁边的提问按钮
    若您还有其他非技术类问题,可以联系帆软传说哥(qq:1745114201

    此页面有帮助吗?只是浏览 [ 去社区提问 ]