对于运维平台部署的工程,如在部署时勾选了ElasticSearch组件,ElasticSearch会替换swift(logdb)作为日志存储。
如在工程「管理系统>系统管理>常规」界面看到「ElasticSearch连接配置」,说明已启用ElasticSearch作为日志存储。
请勿参考本文连接工程日志库,如需连工程日志服务,请联系帆软技术支持获取帮助。技术支持联系方式:「服务>在线支持」
1. 概述
1.1 版本
报表服务器版本 |
---|
11.0 |
1.2 应用场景
为了加强对报表工程的管理,随时监控其运行状态,可以在平台中开启日志记录,如下图所示:
注:系统日志级别的设置仅影响系统日志的输出,不影响操作日志。两种日志的区别请参见:日志简介 。
1.3 功能简介
LogDB 数据库是 FineReport 日志监控开启之后,用于保存日志的内置数据库.
本文将简单介绍 LogDB 中各个数据表的含义以及字段的含义。
2. 连接 LogDB 数据库
2.1 新建数据连接
设计器菜单栏点击「服务器>定义数据连接」,新增一个 JDBC 数据连接,将其重命名为 LogDB,设置信息如下表所示:
选项 | 内容 | 备注 |
---|---|---|
数据库 | Others | - |
驱动器 | com.fr.swift.jdbc.Driver | 手动输入驱动器名称 |
URL | jdbc:swift:emb://default | Mac、Windows、Linux 通用 |
用户名和密码 | 空 | - |
设计器数据连接页面如下图所示:
2.2 查看数据表
测试链接成功之后,新建一个 数据库查询 方式的数据集,选择上面创建的数据连接,即可看到日志数据库下面的所有数据表,如下图所示:
注:如果是服务器添加了 LogDB 这个数据连接务必控制 数据连接使用权限 ,否则存在被越权访问并修改配置数据库的风险。
2.3 LogDB 数据表和字段
Logdb 数据库中各个数据表和表字段的含义,请参见:LogDB 表结构
3. 查询语法
本章将简单介绍LogDB支持的查询语法,本文未列举的语法,不确保可用。
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,AVERAVG 这五种聚合方式。
如果SQL语句中不写聚合方式,会默认使用 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
等同于:select COUNT(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/Chart/GraphSwitching/多图表实现统一切换.frm`
4)select sum(consume) from fine_record_execute where tname in (`doc/Chart/GraphSwitching/多图表实现统一切换.frm`, `doc/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'
3.5 like 模糊查询
只支持前后‘%’的用法
注1:支持使用 like 进行模糊查询,不支持 not like 用法 。
注2:目前只支持 '%',暂不支持通配符 ‘_’。
SQL 语句示例:
1)select * from fine_record_execute where tname like '%demo%'