检索分析
检索分析是 SelectDB Studio 推出的,针对于日志分析场景的查询工具,可以方便的对日志进行检索、查询、统计。
检索分析功能介绍
交互式检索分析界面类似于 Kibana Discover 页面,为日志检索进行深度体验优化,分为 4 个区域:
-
顶部的输入区:选择集群、表、时间字段、查询的时间段,主输入框支持关键词检索和 SQL 两种模式。
-
左侧的字段展示和选择区:展示当前表的所有字段,可以选择哪些字段在右边的明细展示区显示,鼠标悬停在字段上会展示这个字段出现最多的 5 个值和出现比例,还可以进一步按值筛选,筛选条件体现在输入区的筛选部分。
-
中间的趋势图展示和交互区:按照一定的时间间隔展示满足条件的日志条数,用户可以在趋势图上框选一段时间来调整查询时间段。
-
下方的明细数据展示和交互区:展示日志明细,可以点开查看某条日志的明细,支持表格和 JSON 两种格式,表格形式还支持交互式创建筛选条件
单击查询 > 检索分析,然后选择表为 internal_schema > audit_log
,Studio 会自动查询表中的字段并选中第一个时间字段。

显示字段比例
- 鼠标悬停在左侧 state 字段,展示最高频的 state 值 EOF, OK, ERR,同时也可以查看占比。此外,还可以通过点击 加号(+) 或者减号(—)按钮,创建筛选条件,比如通过点击 state 值 为 ERR 右侧 减号(—)按钮,筛选条件中显示 state != ERR
字段的占比展示查询的 500 条数据的占比,如果数据量较大,可能会有误差。如果你需要全量的数据占比,可以通过 SQL 查询。我们会在后续版本中优化这个功能。

通过搜索过滤结果
- 在主输入框使用搜索和 SQL 两种模式查询关键字。
在搜索框下面,选择搜索,然后在右侧输入 GET ,单击查询,在搜索模式下,搜索包含关键词 GET 的日志,明细中的 GET 会高亮显示,趋势图的数据条数对应变化。

搜索我们使用匹配任意一个关键字的 MATCH_ANY
语句,可以匹配到日志中任意一个字段。
请注意,搜索结果的高亮会尽可能匹配所有搜索的关键词,但由于一些特殊字符,并不总是能够和搜索关键字完全匹配。
可以在搜索中使用双引号包裹短语,比如 "GET /api/v1/user"
。将会整匹配整个短语。短语使用了 MATCH_PHRASE
来匹配短语。
如果需要更精确的匹配,可以使用 SQL 模式。
如果你对搜索原理或者对 MATCH_ANY
、MATCH_PHRASE
还有疑问,请参考文档 倒排索引 (opens in a new tab)。
通过 SQL 过滤结果
在搜索框下面,选择 SQL,然后在 SQL 模式下,输入 SQL WHERE 条件 request MATCH 'GET'
,单击查询,实现同样的效果。

查看过滤结果明细
展开日志明细,可选 Table 或 JSON 格式,Table 格式支持交互式创建筛选条件。

查看上下文并进一步检索
点击右侧上下文检索可以查看这条日志前后 10 条日志,上下文检索中还可以继续添加过滤条件。

过滤 VARIANT
数据类型
在 Doris 2.1 中引入一种新的数据类型 VARIANT
,它可以存储半结构化 JSON 数据。VARIANT
类型特别适用于处理复杂的嵌套结构,而这些结构可能随时会发生变化。
Studio 将会识别 VARIANT
数据类型,自动展开该数据类型的层级,并提供了特殊的过滤方式。
我们以 github_events 表为例,展示如何过滤 VARIANT
数据类型的字段。
在过滤条件中,我们可以选择 VARIANT
数据类型的字段,并选择其中的子字段进行过滤。

在 SQL 模式下,我们可以使用 []
来访问 VARIANT
数据类型的字段。

FAQ
为什么我看不到数据?
-
请检查集群、表、时间字段是否选择正确。
-
请检查时间段是否选择正确。
-
请检查是否有筛选条件。
我应该怎么为我的表创建倒排索引?
你可以在建表时置顶倒排索引,也可以在已有表上创建倒排索引。
请参考文档 管理索引 (opens in a new tab)。
使用 Variant 类型存储数据有什么教程?
请参考文档 Variant 类型 (opens in a new tab)。
上下文索引中的日志不够精确,有些日志找不到?
使用更高精度的 DateTime
字段,可以提高上下文索引的精确度。比如 DateTime(3)
。