“操作日志报表”界面各报表参数和报表字段所表示的含义说明如下:
列出所有用户在系统执行的操作类型,以供用户按照操作类型查询操作日志。
该项与报表字段的“操作类型”选项匹配。
操作类型的设置入口为 系统运维 > 系统选项 > 公共设置 > 操作日志设置 ,如图:
开始时间
结束时间
设置开始时间、结束时间,用于查询在某时间段内各用户的操作日志记录。
操作类型为“执行SQL”时,用于显示当前操作的执行时长、执行该操作的IP地址、该操作的数据源及SQL语句内容。
示例说明
当用户在系统中执行某一操作后,在操作日志报表中会记录该操作直接产生的操作类型及其间接引起的其他操作类型。
用户打开一个已存在的可视化数据集,在不进行任何操作的前提下单击工具栏的 保存 按钮,已知该数据集只有三个输出字段。我们对这个场景中的操作进行如下分析:
1、打开可视化数据集进入到数据集定制界面时,该操作类型为“浏览可视化数据集”。
2、当对可视化数据集不进行任何操作即保存时,是对可视化数据集进行了更新操作。
在Smartbi中,对可视化数据集的更新处理方式为:先将可视化数据集下原有输出字段一个一个删除后,再重新读取字段载入。因此在该操作中,有以下操作类型记录:
1)分别删除三个输出字段对应的操作类型为“删除资源节点”。
2)保存时对应的操作类型为“修改可视化数据集”。
操作日志原理
Smartbi中操作信息等是储存在知识库中t_operationlog表中。
2、选择“系统运维”界面主菜单 操作日志 ,进入“操作日志报表”界面,如图:
系统内置报表
在“分析展现”界面,展开左侧资源目录区,选择 分析报表 > system > 分析报表 > 操作日志报表 ,打开“操作日志报表”,如图:界面介绍
“操作日志报表”界面如图:该界面主要分为如下几个区:
- 工具栏:用于对操作日志报表进行样式、参数等设置,以满足用户浏览喜好。各工具按钮的详情请参见:工具栏介绍。
- 条件区:列出对操作日志列表的常用筛选条件。
- 常用操作区:“查询报表”用于按照“条件区”设置显示日志结果;“删除日志”用于删除所有日志记录,且删除的同时会生成一条“删除日志”的操作日志。
- 分页区:用于切换日志列表分页。
- 列表区:列表显示所有操作日志,列表支持调整行宽、字段过滤等操作。详情请参见:日志列表。
日志列表
列表字段
操作日志列表,各字段的详细说明如下:列表字段 | 说明 |
---|---|
时间 | 操作执行的时间,默认最新时间置顶降序排列。 |
登录用户 | 操作执行的用户。 |
用户别名 | 操作执行的用户别名。 |
操作类型 | 当前记录的操作类型。 |
描述 | 记录当前操作类型的详细信息,包含了资源ID、路径、别名、请求等信息;其中“refreshBatchId”用于记录刷新批次,便于系统维护人员快速定位操作问题。 |
会话标识 | 记录操作对应的会话ID标识,由系统自动生成。 |
操作标识 | 记录当前操作的操作ID标识,由系统自动生成。 |
操作父标识 | 由于有些操作会衍生出多个操作日志,因此需要记录这些操作所属的操作批次ID,才能便于系统维护人员快速定位操作问题。操作父标识便是用于来记录操作批次ID,其规则如下:打开一个含有电子表格的自助仪表盘,会生成“浏览自助仪表盘”操作记录,同时会衍生出“执行SQL/MDX”、“浏览电子表格”的操作记录,此时“浏览自助仪表盘”操作记录中的“操作标识”就是“执行SQL/MDX”和“浏览电子表格”操作记录的操作父标识。 |
详细信息 | 主要记录操作类型为“执行SQL/MDX”时执行的SQL详情,单击文该列中的按钮,弹出“操作日志详细信息”窗口: |
字段操作
字段列头更多菜单支持如下操作:
上图中的菜单详情请参见:菜单列表。
日志筛选
对日志列表的筛选支持如下两种方式:
条件筛选
“条件区”中的设置项用于实现对日志列表的条件筛选。
- 操作类型:勾选日志显示的操作类型。其备选项在“系统运维 > 系统选项 > 公共设置 > 操作日志设置 ”中进行设置,如下图:
操作类型详情请参见:操作类型。
- 操作标识或父标识:用于输入操作标识或父标识。
- 开始时间、结束时间:用于设置筛选操作的时间段。
字段过滤
在字段列的更多菜单中选择 过滤 > 定制过滤,在弹出的“定制过滤”窗口中设置字段过滤条件。
操作日志物理表
Smartbi中所有操作信息存储在知识库表“t_operationlog”中。
该表的字段结构如下:
字段 | 说明 |
---|---|
c_id |
操作标识。 |
c_type |
操作类型,如:浏览报表,执行sql等操作类型。 |
c_time |
操作执行的时间。 |
c_username |
执行操作时的用户名称。 |
c_useralias |
执行操作时的用户别名。 |
c_sessionid |
会话标识。 |
c_hasmore |
记录当前日志是否有更详细的记录。有的话,在t_operationlog_detail中添加详细信息。 |
c_detial |
详细信息,CLOB类型。 | |
c_source_type | 记录当前操作日志是来自PC还是电脑,移动端还是插件端。 |
c_parentid | 即席查询透视分析(旧)作为电子表格报表的数据集,记录的是对应电子表格的报表ID。 |
c_pid | 操作父标识。 |
系统中的查看操作日志报表,是通过SQL从表t_opreationlog中获取数据结果:
可以实现sql对t可以实现SQL对t_operationlog进行查询,获取需要的信息。
如下sql,查询某个ID为示例:查询某个ID为'I40289b8631416d96014d3170df4704ef'的页面的浏览操作信息。知识库类型为oracle。的页面的浏览操作信息,知识库类型为oracle。查询SQL如下:
代码块 | ||||
---|---|---|---|---|
| ||||
select * from t_operationlog where c_type like '%浏览页面%' and substr(to_char(c_detail),instr(to_char(c_detail ),'id',1,1) +4 ,instr(to_char(c_detail),',',1,1)-instr(to_char(c_detail),'id',1,1)-5)='I40289b8631416d96014d3170df4704ef' |
其中,c_detail字段数据如下:detail字段,即描述数据如下: