使用日志上下文聚合插件使能上下文查询及 Livetail

背景

在排查业务故障时,用户往往需要查看业务日志文件来定位问题。然而,当用户在使用SLS收集业务日志时,同一个Logstore中往往存放着不同的日志(例如同一台主机上不同目录下的文件,抑或是同一个K8S集群节点上不同容器内的文件或标准输出),直接在控制台上点击“查询/分析”按钮并不能直观地得到某一份日志文件的完整上下文内容。

为了解决这个问题,SLS提供了上下文查询和LiveTail功能,使得用户能够快速直观地浏览同一日志文件中的内容:

  • 上下文查询:用户可在指定Logstore中的某条日志后,直接查询某条该条日志的上下文(即该条日志在所在文件中的前后若干条日志);
  • Livetail:实时展示指定日志所在文件的最新日志,类似于对该文件执行tail -f。

然而,在Logtail 1.2.1版本之前,上述两个功能仅针对使用固定解析模式解析日志的场景(如极简模式、完整正则模式等),当额外使用Logtail插件来提升日志解析能力或采集容器的标准输出时,上述两个功能就不再起效。从Logtail 1.2.1版本起,当用户使用Logtail插件来处理日志或采集容器的标准输出时,可以通过配置日志上下文聚合插件来使用上述两个功能。

原理概览

Logtail采用批量发送日志数据的模式,即多条日志会被打包在同一个日志组中进行传送。在这种模式下,为了高效地获取某条日志的上下文或进行Livetail,Logtail在打包日志数据时采用以下策略:

  • 同一个日志组中只存放同一来源的日志,并在日志组的Meta信息中记录代表日志来源的唯一标识符及序号,组内日志按时间顺序排列;
  • 对于存放同一来源日志的日志组,日志组的序号按时间先后顺序依次递增。

在这种模式下,每一条日志都可用(日志组标识符+序号,组内序号)的二元组合进行唯一标识,SLS服务端据此对该二元组合建立索引,从而实现日志上下文的快速查找。

然而,受限于Logtail插件系统的设计,在1.2.1版本前,当用户使用插件系统处理数据或采集容器的标准输出时,Logtail无法执行上述策略。具体来说,由于插件系统的输入模块是以一条条日志的形式向后续模块传递信息,因此日志的来源信息从离开输入模块后便出现缺失,从而导致无法在日志打包阶段(即聚合模块)将同一来源的日志放入同一个日志组中,最终导致日志上下文查询及Livetail功能的失效。

为了解决上述问题,Logtail在现有各模块之间的数据交互上额外增加日志来源信息,同时新增了一个日志上下文聚合插件。由于日志的来源信息得以保留,该插件因此可以依照上文提到的日志打包策略对日志进行打包,从而实现日志的上下文查询及LiveTail。

采集配置设置

下面将介绍当用户使用Logtail插件来处理日志或采集容器的标准输出时,如何设置采集配置以使用上下文查询和Livetail功能。

采集文本日志且使用Logtail插件处理日志

在采集文本日志时,如果使用Logtail插件来解析日志,则需要在插件配置的中额外增加日志上下文插件aggregator_context:

{"global": {...},"processors": [...],"aggregators": [{"type": "aggregator_context","detail": {}}]
}
  • 示例:使用Logtail插件解析单行正则日志,则在控制台的插件配置框内填入以下内容:
{"global": {"DefaultLogQueueSize": 10},"processors": [{"type": "processor_split_log_string","detail": {"SplitKey": "content","PreserveOthers": true}},{"type": "processor_regex","detail": {"SourceKey": "content","Regex": "(\\S+)\\s-\\s(\\S+)","Keys": ["remote_addr","remote_user"]}}],"aggregators": [{"type": "aggregator_context","detail": {}}]
}

采集容器标准输出

当用户在采集容器标准输出时,也需要在插件配置的中额外增加日志上下文插件aggregator_context:

{"inputs": [{"detail": {"Stdout": true,"Stderr": true},"type": "service_docker_stdout"}],"aggregators": [{"type": "aggregator_context","detail": {}}]
}

功能使用

上下文查询

对于选定的日志,在该日志的左上角单击

图标进入上下文查询页面:

此时可以使用鼠标在当前页面上下滚动查看指定日志的上下文信息。界面中的按钮功能如下:

  • 单击更早,进行向上翻页浏览。
  • 单击更新,进行向下翻页浏览。
  • 高亮显示文本框中设置需要高亮显示的字符串,可实现字符串标红显示。
  • 过滤条件文本框中设置过滤字符串,可实现日志列表中只显示包含过滤字符串的日志。
  • 字段过滤下拉菜单中可选择需要展示的字段。

Livetail

对于选定的日志,在该日志的左上角单击

图标进入Livetail页面:

此时该条日志所在文件的最新的日志数据将实时显示在页面底部。界面中的按钮功能如下:

  • 高亮显示文本框中设置需要高亮显示的字符串,可实现字符串标红显示。
  • 过滤条件文本框中设置过滤字符串,可实现日志列表中只显示包含过滤字符串的日志。
  • 字段过滤下拉菜单中可选择需要展示的字段。

原文链接

本文为阿里云原创内容,未经允许不得转载。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/510397.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Koordinator v0.7: 为任务调度领域注入新活力

Koordinator[1]继上次v0.6版本[2]发布后,经过 Koordinator 社区的努力,我们迎来了具有重大意义的 v0.7 版本。在这个版本中着重建设了机器学习、大数据场景需要的任务调度能力,例如 Coscheduling、ElasticQuota 和精细化的 GPU 共享调度能力。…

聊聊日志硬扫描,阿里 Log Scan 的设计与实践

日志 Scan 的发展与背景 大数据快速增长的需要 泛日志(Log/Trace/Metric)是大数据的重要组成,伴随着每一年业务峰值的新脉冲,日志数据量在快速增长。同时,业务数字化运营、软件可观测性等浪潮又在对日志的存储、计算…

注册配置、微服务治理、云原生网关三箭齐发,阿里云 MSE 持续升级

背景 注册中心是日常使用频率很高的微服务组件,通过较低的资源溢价帮助客户缩短微服务的构建周期、提升可用性;微服务治理实现了 0 门槛就能接入全链路灰度、无损上下线、限流降级、环境隔离、数据库治理等能力,轻松完成开源到稳定生产的跨越…

新零售标杆 SKG 全面拥抱 Serverless,实现敏捷交付

项目背景 SKG 公司是一家专注于高端健康产品的研发、设计与制造的企业。专注为消费者提供精致、时尚的高端产品,以及极致的按摩仪产品体验。 随着市场需求的迅速变化,SKG 的 IT 系统也逐渐面临着库存不准确、线上线下渠道无法协同、部署架构不灵活、IT…

Mobius函数计算 定义+代码模板

Mobius函数定义为,输入一个正整数N,当N1时,函数值为1,当N不为1时,首先在稿纸上将它分解质因数,若某质因数的个数大于1,则函数值为0,如N45,453*3*5,3出现了两次&#xff0…

不仅有0.0075元的深度冷归档,更有对下一代云存储的重新定义

前言:重新定义下一代云存储,需要继续保障稳定、安全、可靠和低成本,进一步演进 Serverless 能力,智能适配负载变化,提供智能数据管理能力以及全场景覆盖不断发展的新负载。 阿里云存储的创新活力,不仅拓展了…

一图看懂镜像

原文链接 本文为阿里云原创内容,未经允许不得转载。

数值方法求积分 详解+模板代码

什么是数值积分 数值积分可以用来求定积分的近似值。对于很多函数来说,我们是可以使用初等函数来表示出其积分的,对于这种函数,只需要求出不定积分然后代入值就能得到定积分了。 可是除此之外还有许多难求的函数和没法使用初等函数表示的函数…

用积木讲运维,这样的IT人太会了

积木的拼搭,是件细致工作。用不同的积木,进行组合变换,小孩子可能会用积木搭高楼、搭汽车、搭公路,而IT人则选择通过搭建小积木,讲解可观测的大乾坤。 大家所熟知的日志服务SLS不只是“日志存储”,更是一个…

再谈数据湖3.0:降本增效背后的创新原动力

前言:2022年3月 31 日,阿里云全球数据湖峰会上,阿里云从“湖管理、湖存储和湖计算“这三个方面,为观众带来了“数据湖 3.0” 的重磅升级方案。在时隔两百多天的云栖大会上,阿里云存储对数据湖的能力,进行了…

原码 反码 补码 详解

一. 机器数和真值 在学习原码, 反码和补码之前, 需要先了解机器数和真值的概念. 1、机器数 一个数在计算机中的二进制表示形式, 叫做这个数的机器数。机器数是带符号的,在计算机用一个数的最高位存放符号, 正数为0, 负数为1. 比如,十进制中的数 3 &…

谈谈 PolarDB-X 在读写分离场景的实践

在数据库使用过程中经常会遇到一些场景: 业务写流量一直相对比较稳定,但随着时间,数据不断增加,数据库的压力也会越来越大,写操作会影响到读请求的性能,做任何优化可能都达不到最终的效果;在应…

开源数据库 PolarDB 为什么能捕获娃哈哈的心?

一、娃哈哈的需求 娃哈哈已经使用PostgreSQL多年,使用了大量逻辑复制,且备库仅提供一些业务的只读服务。同时,其重要业务的数据库运行在共享SAN存储上。因此,它存在主备库延迟较大、逻辑复制不稳定且延迟大的痛点。 二、使用Pola…

数据库 PolarDB 开源之路该如何走?听听他们怎么说

阿里巴巴集团副总裁、阿里云数据库事业部负责人李飞飞出席了沙龙并致开场辞:PolarDB 是阿里云的明星产品,做出将PolarDB 开源的决策需要非常大的勇气。将最核心的数据库产品对外开源,且使用了最友好的协议,阿里云是全球头部云厂商…

通过定时 SQL 提取阿里云API 网关访问日志指标

背景 阿里云API网关服务提供API托管服务,提供了强大的适配和集成能力,可以将各种不同的业务系统API实现统一管理。API网关同时支持将API访问日志一键存储到日志服务,通过日志服务强大的查询分析能力,用户可以针对访问日志自定义计…

2022云栖现场|体验阿里巴巴工作数字化实践

越来越多的企业主动拥抱数字化转型,借助数字化工具提高企业运营效率,实现企业目标落地、帮助员工成长。 2022云栖大会,阿里巴巴企业智能带来阿里数字化工作方法与企业IT解决方案,展示着阿里内部在办公协同与IT管理上的实际应用场…

K8s 场景下 Logtail 组件可观测方案升级-Logtail 事件监控发布

背景 随着K8s和云的普及,越来越多的公司将业务系统部署到云上,并且使用K8s来部署应用。Logtail是SLS提供的日志采集Agent,能够非常好的适应K8s下各种场景的日志采集,支持通过DaemonSet方式和Sidecar方式采集Kubernetes集群的容器…

一图看懂,阿里云飞天企业版如何支持政企数智创新

杭州,2022年11月5日 – 今日,在云栖大会专有云技术和应用实践论坛,阿里云重磅发布飞天企业版在建云、管云、用云方面的全面升级,并邀请行业专家、政企客户代表和合作伙伴面向未来十年共话新一代政企IT发展趋势,分享阿里…

关于HTTPDNS,你知道多少?

什么是HTTPDNS? HTTPDNS是面向多端应用(移动端APP,PC客户端应用)的域名解析服务,具有域名防劫持、精准调度、实时解析生效的特性。 HTTPDNS工作流程 客户端直接访问HTTPDNS接口,获取业务在域名配置管理系…

当大火的文图生成模型遇见知识图谱,AI画像趋近于真实世界

导读 用户生成内容(User Generated Content,UGC)是互联网上多模态内容的重要组成部分,UGC数据级的不断增长促进了各大多模态内容平台的繁荣。在海量多模态数据和深度学习大模型的加持下,AI生成内容(AI Gen…