页面树结构

版本比较

标识

  • 该行被添加。
  • 该行被删除。
  • 格式已经改变。

...

可以通过什么方式获取用户在smartbi操作时相关的知识库执行SQL?

解决方案

smartbi v95 版本以上(不含v97)2021年中后版本支持,v97版本2022年3月中旬版本支持版本以上(不含v97)2021年6月后版本支持,v97版本2022年3月中旬后版本支持


具体步骤如下:

1、修改系统监控日志级别管理员角色打开系统监控新增一行

管理员角色打开系统监控-log4j信息

Image Added


在如下图区域输入框新增一行lo4j信息日志级别:common.repository.sql        DEBUGsql下拉框选择 DEBUG,或trace(可以输出执行耗时)

 

填写完成后,点击修改按钮。填写完成后,点击底部的修改按钮。


2、实时查看执行sql

有两种方式在smartbi界面上实时查看相关的知识库执行sql日志,根据实际需要灵活选择。

...

系统监控-日志,点击开始监控,然后用户去smartbi界面操作,再看系统监控输出用户日志 ,就能看到执行了哪些sql,就能看到执行了哪些sql,如下图,sql is后面拼接的字符串是一条sql语句:

Image Modified


左边一长串的字符串是会话id,同一个用户的会话会一样,左边较长字符串是会话id,[]里面是用户名里面是用户名,

上面这个图的用户名是c,代表这个sql是c用户操作产生的上面这个图的用户名是c,代表这个sql是c用户操作产生的,

若日志太多 ,可在过滤输入框输入会话id过滤,可在过滤输入框输入会话id过滤,

NOT_LOGGED_IN : 代表还没有登录的会话标识IN  代表还没有登录的会话标识,

会话id一致,代表同一个用户在一个客户端上操作的记录。

Image Modified


上图中sql中带有“上图中sql中经常是带有“?”的,其执行时候实际的值在后面的中括号里面,最终的sql需要根据对应字段的数据类型和中括号中的值按顺序替换问号,并确认这个替换的值在sql中需不需要添加单引号。”的,其执行时实际的值会打印在后面的中括号中,实际执行的sql语句需要将中括号中的值按顺序替换上图sql的问号,并根据数据库表对应字段的数据类型确定替换问号的值需不需要添加单引号。

如果打出来的sql语句没有问号 ,则中括号里面一般是空的。,则中括号内一般为空。


(2)用户日志查看

当在线用户比较多的时候,系统监控看到的日志可能特别多,容易造成浏览器卡顿,不方便排查,此时如果操作的用户如果有用户日志的操作权限,该用户打开用户日志,点击开始监控,也是可以看到相关的基于知识库执行的sql语句,并且用户日志中看到的sql,都是由当前的用户的操作发起的,不需要进行过滤查找。

Image Modified


3、导出日志

对于步骤2(1)的系统监控查看的日志,如需导出,可通过系统运维-系统日志导出

...