日志搜索
云日志服务支持管道符特性在一个语句中同时进行搜索和分析。其语法结构主要由三部分构成:针对非结构化数据和半结构化数据的搜索语句、“|”和针对结构化数据的查询的分析语句。语法示例结构:* and msg:"hello world" | SELECT avg(value)
目前此功能在邀测中,暂不支持申请开通。
目前支持两种查询方式(以kibana上的查询语句为例):
- 情景1:仅包含sql查询
POST _opendistro/_sql/ { "query": "select current_date() from employee" }
- 情景2:包含lpl查询和sql查询
POST _opendistro/_sql/ { "query": "age >22 | select name, count(name) from employee group by name" }
用户如果仅需要使用lpl语句来查询,可以在管道符“|”的右侧补上select * from table.
数据组织形式
管道符特性针对特定的数据组织形式,对于云日志服务而言,管道符特性的数据主要由两部分构成,一部分是结构化数据,一部分是原始日志。示例如下:
{"id": 1, "name": "Bob", "job": "java", "age": 21, "sal": 8000, "gender": "female", "_log": "name: Bob, job: java, age: 21, sal: 8000, gender: female"}
其中:“id”,“name”,“job”,“age”,“sal”和“gender”是结构化数据的字段,“_log”是原始日志字段。
使用限制
- SQL函数不支持显式转为double、float类型,例如* | select cast(1 as double)
- SQL函数查询字段别名不支持包含.,比如* | select compare(`c.c`,1) as diff from (select count(status) as `c.c`) as t
- 索引字段名称中含有特殊字符的语句,需要使用半角符号“`”将字段名称包含起来。
操作步骤
- 在云日志服务管理控制台,单击“日志管理”。
- 在日志组列表中,单击日志组名称前对应的按钮。
- 在日志流列表中,单击日志流名称,进入日志详情页面。
- 在“搜索分析”页签,在右上角选择时间范围,可以查看原始日志和统计图表。在搜索框由搜索语句和SQL分析语句组成,两者通过管道符|联动,详细请参考SQL函数。
时间范围有三种方式,分别是相对时间、整点时间和自定义。您可以根据自己的实际需求,选择时间范围。
- 相对时间:表示查询距离当前时间1分钟、5分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置相对时间1小时,表示查询18:20:31~19:20:31的日志数据。
- 整点时间:表示查询最近整点1分钟、15分钟等时间区间的日志数据。例如当前时间为19:20:31,设置整点时间1小时,表示查询18:00:00~19:00:00的日志数据。
- 自定义:表示查询指定时间范围的日志数据。
- 在日志内容下方,单击时间前面的展开图标,支持以Table和JSON形式展示结构化字段。
- 在Table页签,支持对该字段进行添加到查询、从查询中排除、字段存在、字段不存在、隐藏的方式搜索日志。
- 在JSON页签,支持查看或者复制日志内容。
- 版面设置。
- 交互式搜索分析,适用于生成简单的分析语句,如果您需要使用更多的函数或者嵌套查询,请手动输入SQL语句。
日志搜索的常用操作
日志搜索的常用操作有分享日志、刷新等操作,具体参考如下图所示:
操作 |
说明 |
---|---|
交互式搜索 |
单击搜索框前面的按钮,在交互式搜索页面,根据业务需要选择索引配置的字段,设置过滤方式,也可以通过添加关联关系或添加组进行交互式搜索,设置完成后,支持预览搜索语法。 |
创建快速查询 |
单击按钮,创建快速查询。 |
查看仪表盘 |
单击按钮,在弹出来的仪表盘页面,可查看已创建的仪表盘。 |
添加告警 |
单击按钮,在弹出的页面,支持新建告警规则。 |
分享日志 |
单击复制当前日志搜索页面的链接,用于分享搜索日志。 |
刷新日志 |
单击对日志进行刷新,有两种方式刷新方式:手动刷新和自动刷新。
|
复制 |
单击复制日志内容。 |
查看上下文 |
单击查看日志上下文。
说明:
支持选择简洁模式查看日志上下文。支持下载上下文内容。 |
简化字段详情 |
单击查看简化字段详情。 |
换行/取消换行 |
单击按钮,搜索的日志内容将换行显示。若不需要换行,单击按钮,取消换行。
说明:
默认开启换行按钮。 |
下载日志 |
单击按钮,在弹出的下载日志页面中单击“本地下载”和“前往创建转储”。 本地下载:将日志文件直接下载到本地,单次下载支持最大5,000条日志。 在下拉框中选择“.csv”或“.txt”,单击“开始下载日志”,可将日志导出至本地。
说明:
前往创建转储:通过OBS转储任务下载日志文件,单次下载支持最大100万条日志。 单击“前往创建转储”,跳转至配置转储页面,详细请参考日志转储。 |
全部折叠/全部展开 |
单击设置日志内容展示的行数。若不需要展示日志内容,再单击一次按钮即可关闭展示的日志内容。
说明:
默认不折叠。折叠后,默认显示2行,最多支持展示6行。 |
JSON设置 |
鼠标悬浮在按钮上,单击“JSON设置”,在弹出的JSON设置页面中,设置格式化显示。
说明:
默认开启格式化,JSON默认展开层级为2层。若日志包含多个反斜杠,当日志展示为json格式时,会丢失一个反斜杠,因为json解析会将第一个反斜杠作为转义符处理。
|
日志折叠设置 |
鼠标悬浮在按钮上,单击“日志折叠设置”,在弹出的日志折叠设置页面中,设置长日志字符个数。 日志超过设置的长日志字符个数时,超出字符将被隐藏,单击“展开”按钮可查看全部内容。
说明:
默认开启自动折叠长日志,字符个数默认为400个。 |
日志时间展示 |
鼠标悬浮在按钮上,单击“日志时间展示”,在弹出的日志折叠设置页面中,设置是否展示毫秒、是否展示时区。
说明:
默认开启展示毫秒。 |
虚拟滚动设置 |
鼠标悬浮在按钮上,单击“虚拟滚动设置”,在弹出的虚拟滚动设置页面中,设置是否开启虚拟滚动、填写缓冲区大小。
说明:
|
不可见字段列表 |
该列表展示版面设置中配置的不可见性字段。
|