更新时间:2024-10-28 GMT+08:00

搜索日志

当需要通过日志来分析和定位问题时,使用日志搜索功能可帮您快速在海量日志中查询到所需的日志,还可通过分析日志的来源信息和上下文原始数据快速定位问题。

注意事项

  • 如需使用“日志流”功能,需提前在“菜单开关”中开启日志流的开关,详细操作请参见菜单开关
  • 使用日志分析(新版)功能的区域没有日志流功能。

设置过滤器

  1. 登录AOM 2.0控制台。
  2. 在左侧导航栏中选择“日志分析 > 日志流”。
  3. 在“日志流”页面左侧过滤器中,以不同的视角(云日志视角)及对应的参数对日志进行过滤。并按照界面提示设置日志查询条件。
  4. 单击“查询”,完成过滤器设置。

搜索原始日志

  1. 登录AOM 2.0控制台。
  2. 在左侧导航栏中选择“日志分析 > 日志流”。
  3. 已参考设置过滤器完成过滤器设置。
  4. 在“原始日志”页签右上角选择时间范围。
  5. 按照以下搜索方式搜索原始日志:

    • 在页面搜索区域,输入待搜索的关键字,或在弹出的下拉框中选择待搜索的关键字,单击“查询”搜索。
      • 设置日志结构化后,下拉框会同步显示系统内置字段和结构化配置的字段。
      • 内置字段有appName、category、clusterId、clusterName、collectTime、containerName、hostIP、hostIPv6、hostId、hostName、nameSpace、pathFile、podName、serviceID,默认简化显示,并且hostIP、hostName、pathFile默认显示在最前面。

      • 结构化配置的字段按照key:value显示。
    • 鼠标悬浮指向日志内容中的字段,单击蓝色字体的日志内容,会以该内容为过滤条件显示包含该条件的所有日志。
    • 已创建快速分析的字段,单击选择字段可直接将其添加到页面搜索框中,进行搜索。

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

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

可视化分析日志

可视化提供对结构化后的日志字段进行SQL查询与分析的功能。对原始日志结构化后,等待1~2分钟左右即可对结构化后的日志进行SQL查询与分析。

可视化分析前请先对原始日志进行结构化配置

  1. 登录AOM 2.0控制台。
  2. 在左侧导航栏中选择“日志分析 > 日志流”。
  3. 已参考设置过滤器完成过滤器设置。
  4. 单击“可视化”页签,在SQL查询条件框中选择对应时间,输入SQL语句,单击“查询”搜索。

    • SQL查询约束有:
      • 单次查询返回结果最多10W条。
      • 当聚合结果超过10W时,聚合结果可能存在误差。
    • SQL查询语句中,string类型的where条件的键值有限制:
      • 精确查找value需添加英文单引号, 模糊查找value需添加英文单引号或者双引号,key与SQL内置保留字段名称相同时需添加英文双引号。
      • 建议使用where条件时,使用where "key"='value',或者where "key" like '%value%'。
    • SQL查询语句中,float和long类型的where条件不受限制,但当与关键词冲突时可能会导致查询异常,建议使用where "key"='value',或者where "key" like '%value%'进行查询。

    当设置时间范围内日志量超过10亿行时会触发迭代查询,可以通过迭代查询分多次完成全部日志的查询,界面会显示“查询状态:结果精确”。

  5. 根据SQL查询返回的数据,依照业务需求选择不同图表类型,呈现查询结果。图表类型与配置的详细说明请参见日志数据类图表(表格、柱状图、折线图、饼图、数字图、数字折线图、地图)
  6. 对查询结果可执行以下操作:

    • 单击“新建”,在弹出的“创建可视化图表”中,根据业务需求填写“图表名称”、“可视化对象”,选择需要展示的“图表类型”,单击“确定”,可视化图表保存成功。
    • 单击“保存”,在弹出的“保存可视化图表”对话框中,根据业务需求填写“图表名称”,单击“确定”,可视化图表保存成功;当选中某个可视化图表时,单击“保存”,可对该图表进行修改。
    • 单击“另存为”,在弹出的“保存可视化图表”中,根据业务需求填写“图表名称”,单击“确定”,对已有可视化图表进行复制。

      须先保存一个图表后,才可另存为可视化图表。

    • 单击“下载”,可下载当前SQL查询结果的可视化数据,该文件为.csv。
    • 单击“展开图表”,可展开当前日志流下的可视化图表。
    • 单击“收起图表”,可收起当前日志流下展开的可视化图表。

分析实时日志

  1. 登录AOM 2.0控制台。
  2. 在左侧导航栏中选择“日志分析 > 日志流”。
  3. 已参考设置过滤器完成过滤器设置。
  4. 单击“实时日志”页签,查看对应的实时日志。

    实时日志每隔5秒更新1次,在日志消息区域,最多需要等待1分钟左右,即可查看实时上报的日志。

    同时,还可以通过页面右上方的“清屏”、“暂停”对日志消息区域操作:

    • 清屏:清除日志消息区域已经显示出来的日志。
    • 暂停:暂停日志消息的实时显示,页面定格在当前已显示的日志。

      暂停后,“暂停”会变成“继续”,再次单击“继续”,日志消息继续实时显示。

    如果您正在使用实时查看功能,请停留在实时查看页面,请勿切换页面。如果离开实时查看页面,实时查看功能将会停止,重新开启后上一次查看的实时日志将不会显示。

日志搜索的常用操作

日志搜索的常用操作有添加告警、选择时间段展示日志、刷新等操作,具体请参见表1

表1 常用操作

操作

说明

创建快速查询

单击,创建快速查询

刷新日志

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

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

复制

单击,复制日志内容。

查看上下文

单击,查看日志上下文。

简化字段详情

单击,查看简化字段详情。

换行

单击换行,开启换行功能后,搜索的日志内容将换行显示。
说明:

默认换行开启,默认展示行数为2行。

下载日志

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

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

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

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

JSON设置

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

说明:

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

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

日志折叠设置

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

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

说明:

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

日志时间展示

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

说明:

默认开启展示毫秒。

关键字搜索语法及样例

关键字搜索语法

表2 搜索语法

条件

说明

关键字精确搜索

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

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

短语精确搜索

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

&&

搜索结果的交集。

||

搜索结果的并集。

AND

搜索结果的交集。

OR

搜索结果的并集。

NOT

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

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

*

模糊搜索能力,*只能放在关键字后,用于替代0到n个字符。

如果原始日志中本身包含搜索语法的关键字(&&、||、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 and unexpected。
  • 搜索包含start或者unexpected的日志数据:start || unexpected。
  • 搜索包含start或者unexpected的日志数据:start OR unexpected 或者 start or unexpected。
  • 不包含query1的日志数据:NOT content : 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"。