更新时间:2023-11-14 GMT+08:00

日志搜索

您可以通过本操作设置关键字和时间范围进行日志搜索。

  1. 在云日志服务管理控制台,单击“日志管理”。
  2. 在日志组列表中,单击日志组名称前对应的按钮。
  3. 在日志流列表中,单击日志流名称,进入日志详情页面。
  4. 在右上角选择时间范围。
    时间范围有三种方式,分别是相对时间、整点时间和自定义时间。您可以根据自己的实际需求,选择时间范围。
    • 相对时间:表示查询距离当前时间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. 在日志详情页面,有以下搜索方式:
    1. 在页面搜索区域中,鼠标单击搜索框,下拉框中显示如下:
      • 结构化配置字段或索引配置字段。内置字段不展示在该下拉提示框中,但输入内置字段时,下拉提示框会自动关联匹配。
      • 关键词:有“NOT”、“AND”、“OR”、“:”和“:*”五种,除“NOT”外的其他关键词需要输入关键词后,才会展示在下拉提示框里。
        • 当输入关键字时,可使用Tab键自动补全下拉提示框中显示的第一个关键词。
        • 关键词不区分大小写。
      • 历史记录:可以记录20条,但搜索提示框仅展示最新3条记录。
      • 快速查询:展示已创建的快速查询字段。
      • 搜索语法说明:常用的搜索语法。

      输入待搜索的关键字,或在弹出的下拉框中选择待搜索的字段和关键词,单击“查询”,开始搜索。

      显示包含搜索关键字的日志。

      • 内置字段有appName、category、clusterId、clusterName、collectTime、containerName、hostIP、hostIPv6、hostId、hostName、nameSpace、pathFile、podName、serviceID,默认简化显示,并且hostIP、hostName、pathFile默认显示在最前面。
      • 结构化配置的字段按照key:value显示。
    2. 在原始日志页面中,鼠标悬浮指向日志内容中的字段,单击蓝色字体的日志内容,支持复制、添加到查询、从查询中排除的方式搜索日志。
    3. 对已创建快速分析的字段,单击选择字段可直接将其添加到页面搜索框中,进行搜索。

      通过单击字段添加到搜索框中,如果是同一字段,则将直接替换该方式添加的字段,不会进行AND搜索;如果是不同字段,则对不同字段进行AND搜索。

    4. 在页面搜索区域,使用键盘的"↑""↓"箭头,选择待搜索的关键字或搜索语法,单击Tab键或Enter键选中后,单击“查询”,开始搜索。

日志搜索的常用操作

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

表1 常用操作

操作

说明

创建快速查询

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

分享日志

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

刷新日志

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

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

复制

单击复制日志内容。

查看上下文

单击查看日志上下文。

简化字段详情

单击查看简化字段详情。

换行/取消换行

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

默认开启换行按钮。

下载日志

单击按钮,在弹出的下载日志页面中单击“本地下载”。

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

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

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

全部折叠/全部展开

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

说明:

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

版面设置

鼠标悬浮在按钮上,单击“版面设置”,在弹出的版面设置页面中,设置字段是否简化显示和可见性。

  • 是否简化显示:开启该按钮,日志的字段内容将简化显示。
  • 可见性:当关闭字段的可见性时,日志内容中将不显示。

JSON设置

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

说明:

默认开启格式化,JSON默认展开层级为2层。

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

不可见字段列表

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

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

搜索语法及样例

搜索语法

表2 搜索语法

条件

说明

关键字精确搜索

针对日志中的关键字进行精确搜索,大小写敏感。关键词指相邻两分词符之间的单词。

如果对分词符规则不熟悉,建议在关键词后加上*,例如:error*,帮助搜索。

短语精确搜索

针对日志中的短语进行精确搜索,大小写敏感。

&&

搜索结果的交集。

||

搜索结果的并集。

AND

搜索结果的交集。

and

搜索结果的交集。

OR

搜索结果的并集。

or

搜索结果的并集。

NOT

搜索结果不包含NOT后的关键字。

not

搜索结果不包含not后的关键字。

?

模糊搜索能力,?放在关键字中间或末尾,用于替代一个字符。

>

搜索结构化long或float类型字段大于某个数值,例如:num>10。

<

搜索结构化long或float类型字段小于某个数值,例如:num < 10。

=

搜索结构化long或float类型字段等于某个数值,例如:num = 10。

>=

搜索结构化long或float类型字段大于等于某个数值,例如:num >= 10。

<=

搜索结构化long或float类型字段小于等于某个数值,例如:num <= 10。

:

用于字段查询(Key:Value),例如:request_method:GET。

如果字段名称或者字段值内有空格、冒号(:)等保留字符,请使用双引号("")包裹字段名称或者字段值,例如"file info":apsara。

""

使用双引号("")包裹一个语法关键词,可以将该语法关键词转换成普通字符。例如:"and"。

表示查询包含and的日志,此处的and不代表运算符。

在字段查询中双引号("")内的所有词被当成一个整体。

\

转义符号,用于转义双引号(""),转义后的引号表示符号本身。例如日志内容为instance_id:nginx"01",您可以使用instance_id:nginx\"01\"进行查询。

*

通配符查询,*只能放在关键字后,可以匹配零个、单个、多个字符。例如:host:abcd*c。

说明:

云日志服务会在所有日志中为您查询到符合条件的100个词,返回包含这100个词并满足查询条件的所有日志。

in

查询某字段值处于某数值范围内的日志,中括号表示闭区间,小括号表示开区间,两个数字之间使用空格分隔。例如

request_time in [100 200]或request_time in (100 200]。

说明:

in只能为小写字母;仅支持long或float类型字段。

()

用于提高括号内查询条件的优先级(支持 and、or、not查询条件)。例如:(request_method:GET or request_method:POST) and status:200。

key:#"abc def"

字段查询。配置字段索引后,可以指定字段名称和字段值(Key:Value)进行查询。

#"abc def"

全文查询。配置分词符后,云日志服务根据您设置的分词符将整条日志拆分成多个词。可以指定关键字(字段名、字段值)和查询规则进行查询。

如果原始日志中本身包含搜索语法的关键字(&&、||、AND、OR、NOT、*、?、:、>、<、=、>=、<=、"),则不支持使用这些关键字来搜索日志。

搜索规则

  • 支持模糊搜索能力。

    例如:输入error*,可以查找所有含有error的日志且高亮以error开头的日志内容。

  • 支持键与值格式的多条件组合搜索,格式为:key1:value1 AND key2:value2或key1:value1 OR key2:value2。输入或选择key1:value1进行搜索后,需添加AND或OR,才可以在搜索框中继续输入或选择key2:value2对两个条件同时进行搜索。
  • 支持单击关键词弹出菜单项,有复制添加到查询从查询中排出三种操作。

    复制:复制该字段

    添加到查询:在查询的语句中添加“AND field: value ”

    从查询中排出:在查询的语句中添加“NOT field: value”

搜索样例:

  • 搜索含有start的所有日志:start。
  • 搜索含有start to refresh的所有日志:start to refresh。
  • 搜索同时包含start和unexpected的日志数据:start && unexpected。
  • 搜索同时包含start和unexpected的日志数据:start AND unexpected。
  • 搜索包含start或者unexpected的日志数据:start || unexpected。
  • 搜索包含start或者unexpected的日志数据:start OR unexpected。
  • 不包含query1的日志数据:NOT content : query1。
  • 搜索日志内容中含有error的所有日志:error*。
  • 搜索日志内容中以“er”开头,以“or”结尾,并且中间有一个字符的所有日志:er?or。
  • 搜索的关键词中含有分词符(:)时,搜索日志: content : "120.46.138.115:80" 或者 content : 120.46.138.115:80 。
  • 搜索包含query1而且包含query2,但不包含query3的日志数据:query1 AND query2 AND NOT content : query3。
  • 输入关键字查询日志时,关键字区分大小写,搜索的日志内容大小写敏感,高亮的日志内容大小写敏感。
  • 全文搜索时,模糊搜索 “*”, “?” 不匹配特殊字符,例如:“-”、空格。
  • 支持关键词模糊匹配搜索,关键词不能以“?”或“*”开头。例如:关键词可以输入"ER?OR"或"ER*R"。
  • 使用关键词搜索时,当单条日志超过255长度时,可能无法精确查询。