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

日志检索(检索分析 · Discover)
显示字段比例
鼠标悬停在左侧 state 字段,展示最高频的 state 值 EOF, OK, ERR,同时也可以查看占比。此外,还可以通过点击 加号(+) 或者减号(—)按钮,创建筛选条件,比如通过点击 state 值 为 ERR 右侧 减号(—)按钮,筛选条件中显示 state != ERR 。

日志检索 · 字段值占比(TOP5 分布)
通过搜索过滤结果
在主输入框使用搜索和 SQL 两种模式查询关键字。
注意: 只有有倒排索引的表才支持搜索模式。参考:https://doris.apache.org/zh-CN/docs/table-design/index/inverted-index
在搜索框下面,选择搜索,然后在右侧输入 GET ,单击查询,在搜索模式下,搜索包含关键词 GET 的日志,明细中的 GET 会高亮显示,趋势图的数据条数对应变化。

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

日志检索 · 搜索 / SQL 查询模式切换
查看过滤结果明细
展开日志明细,可选 Table 或 JSON 格式,Table 格式支持交互式创建筛选条件。

日志检索 · 行明细(Table / JSON)
查看上下文并进一步检索
点击右侧上下文检索可以查看这条日志前后 10 条日志,上下文检索中还可以继续添加过滤条件。

日志检索 · 上下文检索(相邻日志)
过滤 VARIANT 数据类型
在 SelectDB Cloud 4.0 中引入一种新的数据类型 VARIANT,它可以存储半结构化 JSON 数据。VARIANT 类型特别适用于处理复杂的嵌套结构,而这些结构可能随时会发生变化。
控制台将会识别 VARIANT 数据类型,自动展开该数据类型的层级,并提供了特殊的过滤方式。
我们以 github_events 表为例,展示如何过滤 VARIANT 数据类型的字段。
在过滤条件中,我们可以选择 VARIANT 数据类型的字段,并选择其中的子字段进行过滤。

日志检索 · VARIANT 子字段值分布与筛选(payload.region)
在 SQL 模式下,我们可以使用 [] 来访问 VARIANT 数据类型的字段。

日志检索 · VARIANT 字段自动展开(payload. 子字段)*