更新时间:2024-05-11 GMT+08:00
分享

日志搜索

云日志服务支持管道符特性在一个语句中同时进行搜索和分析。其语法结构主要由三部分构成:针对非结构化数据和半结构化数据的搜索语句、“|”和针对结构化数据的查询的分析语句。语法示例结构:* 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
  • 索引字段名称中含有特殊字符的语句,需要使用半角符号“`”将字段名称包含起来。

操作步骤

  1. 在云日志服务管理控制台,单击“日志管理”。
  2. 在日志组列表中,单击日志组名称前对应的按钮。
  3. 在日志流列表中,单击日志流名称,进入日志详情页面。
  4. 在“搜索分析”页签,在右上角选择时间范围,可以查看原始日志和统计图表。在搜索框由搜索语句和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的日志数据。
    • 自定义:表示查询指定时间范围的日志数据。

  5. 在日志内容下方,单击时间前面的展开图标,支持以Table和JSON形式展示结构化字段。

    • 在Table页签,支持对该字段进行添加到查询、从查询中排除、字段存在、字段不存在、隐藏的方式搜索日志。
    • 在JSON页签,支持查看或者复制日志内容。

  6. 版面设置。

    1. 在下拉框单击编辑版面,进入版面设置页面,版面列表自带默认版面、纯净版面、容器日志默认版面,可以设置字段在版面是否显示。

      云端: 适用于有写权限的用户,版面配置信息保存在云端。

      本地缓存: 适用于只有读权限的用户,版面配置信息缓存在本地浏览器。

    2. 单击新增自定义版面,设置版面名称和版面字段的可见性。
    3. 设置完成后,单击“确定”,返回下拉框显示新增的自定义版面。

  7. 交互式搜索分析,适用于生成简单的分析语句,如果您需要使用更多的函数或者嵌套查询,请手动输入SQL语句。

    1. 单击搜索框前面的按钮,进入交互式搜索分析页面。
    2. 选择日志搜索的内容和条件。支持添加关联关系或添加组。
    3. 设置完成后,支持预览搜索语句。
    4. 在日志分析下方,进行添加指标和分组排序。通过统计函数计算出想要的指标信息,然后基于选定的字段进行分组排序。
    5. 设置完成后,单击“确定”,即可在搜索框快速生成分析语句。

日志搜索的常用操作

日志搜索的常用操作有分享日志、刷新等操作,具体参考如下图所示:

表1 常用操作

操作

说明

交互式搜索

单击搜索框前面的按钮,在交互式搜索页面,根据业务需要选择索引配置的字段,设置过滤方式,也可以通过添加关联关系或添加组进行交互式搜索,设置完成后,支持预览搜索语法。

创建快速查询

单击按钮,创建快速查询。

查看仪表盘

单击按钮,在弹出来的仪表盘页面,可查看已创建的仪表盘。

添加告警

单击按钮,在弹出的页面,支持新建告警规则

分享日志

单击复制当前日志搜索页面的链接,用于分享搜索日志。

刷新日志

单击对日志进行刷新,有两种方式刷新方式:手动刷新和自动刷新。

  • 手动刷新:单击“手动刷新”可直接对日志进行刷新。
  • 自动刷新:选择自动刷新的间隔时间,将对日志进行自动刷新。间隔时间范围为15秒、30秒、1分钟和5分钟。

复制

单击复制日志内容。

查看上下文

单击查看日志上下文。

说明:

支持选择简洁模式查看日志上下文。支持下载上下文内容。

简化字段详情

单击查看简化字段详情。

换行/取消换行

单击按钮,搜索的日志内容将换行显示。若不需要换行,单击按钮,取消换行。
说明:

默认开启换行按钮。

下载日志

单击按钮,在弹出的下载日志页面中单击“本地下载”和“前往创建转储”。

本地下载:将日志文件直接下载到本地,单次下载支持最大5,000条日志。

在下拉框中选择“.csv”或“.txt”,单击“开始下载日志”,可将日志导出至本地。

说明:
  • 选择以CSV格式导出日志后,本地以表格形式保存日志的具体标签信息。
  • 选择导出TXT格式日志后,本地会以.txt格式保存日志的日志内容。

前往创建转储:通过OBS转储任务下载日志文件,单次下载支持最大100万条日志。

单击“前往创建转储”,跳转至配置转储页面,详细请参考日志转储

全部折叠/全部展开

单击设置日志内容展示的行数。若不需要展示日志内容,再单击一次按钮即可关闭展示的日志内容。

说明:

默认不折叠。折叠后,默认显示2行,最多支持展示6行。

JSON设置

鼠标悬浮在按钮上,单击“JSON设置”,在弹出的JSON设置页面中,设置格式化显示。

说明:

默认开启格式化,JSON默认展开层级为2层。若日志包含多个反斜杠,当日志展示为json格式时,会丢失一个反斜杠,因为json解析会将第一个反斜杠作为转义符处理。

  • 开启格式化按钮:设置JSON默认展开层级,最大设置为10层。
  • 关闭格式化按钮:对于JSON格式的日志,将不会格式化层级显示。

日志折叠设置

鼠标悬浮在按钮上,单击“日志折叠设置”,在弹出的日志折叠设置页面中,设置长日志字符个数。

日志超过设置的长日志字符个数时,超出字符将被隐藏,单击“展开”按钮可查看全部内容。

说明:

默认开启自动折叠长日志,字符个数默认为400个。

日志时间展示

鼠标悬浮在按钮上,单击“日志时间展示”,在弹出的日志折叠设置页面中,设置是否展示毫秒、是否展示时区。

说明:

默认开启展示毫秒。

虚拟滚动设置

鼠标悬浮在按钮上,单击“虚拟滚动设置”,在弹出的虚拟滚动设置页面中,设置是否开启虚拟滚动、填写缓冲区大小。

说明:
  • 虚拟滚动可以避免或减少滚动时卡顿的情况,提升操作体验,防止页面卡死。
  • 滚动时数据会重新渲染,一定程度上影响数据流畅性。
  • 缓冲区决定同时加载的数据量大小,缓冲区越大,同时加载的数据越多,但滚动性能会越差。

不可见字段列表

该列表展示版面设置中配置的不可见性字段。

  • 当日志流未配置版面设置时,将不显示按钮。
  • 当日志内容为“CONFIG_FILE”且未配置版面设置时,不可见字段默认有appName、clusterId、clusterName、containerName、hostIPv6、NameSpace、podName和serviceID。
分享:

    相关文档

    相关产品