上下文查询

开发人员无需登录服务器,在大量日志中通过关键字检索日志,日志服务支持通过控制台查看指定日志在原始文件中的上下文信息。

前提条件

  • 已通过Logtail采集到日志。具体操作,请参见通过Logtail采集日志

    重要

    如果您使用了Logtail插件处理文本日志或采集容器标准输出,则必须在Logtail插件配置中添加aggregators配置。更多信息,请参见处理插件概述

  • 已创建索引。具体操作,请参见创建索引

背景信息

日志上下文查询是指定日志来源(机器+文件)和其中一条日志,将该日志在原始文件中的前若干条(上文)或后若干条日志(下文)也查找出来。通过查看指定日志的上下文信息,您可以在业务故障排查中快速查找相关故障信息,方便定位问题。

应用场景

例如,O2O外卖网站在服务器上的程序日志里会记录一次订单成交的轨迹:用户登录>浏览商品>选择物品>加入购物车>下单>订单支付>支付扣款>生成订单。

如果客户下单失败,运维人员需要快速定位问题原因。传统的上下文查询中,需要管理员等相关人员添加机器登录权限,然后运维人员依次登录应用所部署的每一台机器,以订单ID为关键词搜索应用程序日志文件,帮助判断下单失败原因。

在日志服务中,可以按照以下步骤排查。

  1. 在服务器上安装日志采集客户端Logtail,并在日志服务控制台上添加机器组、Logtail采集配置,然后Logtail开始上传增量日志。

  2. 在日志服务控制台日志查询页面,指定时间段根据订单ID找到订单失败日志。

  3. 以查到的日志为基准,向上翻页直到发现与之相关的其它日志信息(例如:信用卡扣款失败)。

image

功能优势

  • 不侵入应用程序,无需改动日志文件格式。

  • 在日志服务控制台上查看任意服务器、文件的指定日志的上下文信息。无需登录服务器查看日志的上下文。

  • 结合事件发生的时间线索,在日志服务控制台指定时间段快速定位可疑日志后再进行上下文查询,快速定位问题。

  • 不用担心服务器存储空间不足或日志文件轮转造成的数据丢失,在日志服务控制台上随时可以查看历史数据。

操作步骤

重要

服务端通过PackId关联日志上下文,PackId可自动生成(由Logtail采集日志或Producer SDK写入日志)或手动生成后上传(通过PutLogs接口)。详细信息,请参见通过PackId机制关联日志上下文

  1. 登录日志服务控制台

  2. 在Project列表区域,单击目标Project。

    image

  3. 在控制台左侧,单击日志存储,在日志库列表中单击目标Logstore。

    image

  4. 可选:输入查询语句,然后选择时间范围。

  5. 原始日志 > 原始页签下,找到目标日志,单击查询日志-004图标。

    上下文

  6. 使用鼠标在当前页面上下滚动查看指定日志的上下文信息。

    • 单击更早,进行向上翻页浏览。

    • 单击更新,进行向下翻页浏览。

    • 单击全部字段,展示页面显示的字段名称(默认全部展示),单击字段名称可以取消显示该字段,再次单击字段名称显示该字段。

    • 过滤文本框中设置过滤字符串,可实现日志列表中只显示包含过滤字符串的日志。

    • 高亮文本框中设置需要高亮显示的字符串,可实现字符串标黄显示。

    image