分布式系统日志上下文查询功能

本文涉及的产品
对象存储 OSS,20GB 3个月
对象存储 OSS,恶意文件检测 1000次 1年
对象存储 OSS,内容安全 1000次 1年
简介: 日志查看方式 随着技术的发展,越来越多的系统从单机转向到分布式,同时对应的日志查看方式除了直接查看文件外,也发展出了各种集中日志管理方式。

日志查看方式

随着技术的发展,越来越多的系统从单机转向到分布式,同时对应的日志查看方式除了直接查看文件外,也发展出了各种集中日志管理方式。其中常见日志查看方式如下:

单线程程序

开发单机程序时诊断非常简单:设置断点,检查断点上下变量状态即可。
当程序部署线上后,可以把断点中内容以日志方式记录下来。出现错误后,还原日志上下文(Context)不难,只要把日志文件中前后N行拿到后都能容易找到问题

DingTalk20170609201400.png

多线程程序

当多线程出现后,还原上下文变得复杂一些,因为不同线程打日志顺序会造成一定干扰。我们可以在日志中记录、筛选线程(ThreadID)来排除其他线程干扰,拿到上下文

DingTalk20170609201456.png

分布式系统

在分布式场景下(比如Docker、LXC、多服务器等),进程会同时跑在不同服务器上,一般通过集中式日志管理(例如Splunk、ELK、日志服务)等查找定位日志。

DingTalk20170609201628.png

这种场景下查找日志非常方便(例如通过"Level:Error","Latency>100000 & Method:HandleRequest"等能对上亿日志进行快速查找),但定位到关键日志后还原上下文却变得很难。因为日志采集、索引都是无序的,为了还原上下文,必须通过时间、机器、线程号来筛选和查找(这种方法一般不够精确),业界并没有好的方法。

日志上下文查看

今天日志服务(原SLS)LogSearch在查询分析基础上,提供了查看上下文的按钮,既可以在控制台上 完全精确 还原任意日志上下文(上下N条日志),并支持对指定内容(比如ThreadId)进行筛选,帮助你快速定位问题。整个过程如图所示:

DingTalk20170609202622.png

使用依赖

  • 只支持使用Logtail客户端收集的日志
  • 指定日志库(Logstore)必须开启索引功能

实际场景

  • Dev在线上通过关键词查询,定位到一个异常日志

DingTalk20170612104019.png

  • 点击上下文查询后,既跳转到前后N条上下文显示框

    • 可以通过“更早”、“更新”等按钮加载更多上下文,也可以点击“返回普通搜索模式”进一步排查
    • 通过筛选框筛选ThreadID,进行精准上下文的过滤

DingTalk20170609203658.png

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
存储 Go
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
本文将探讨几个热门的 go 日志库如 logrus、zap 和官网的 slog,我将分析这些库的的关键设计元素,探讨它们是如何支持日志轮转与切割功能的配置。
100 0
Go 浅析主流日志库:从设计层学习如何集成日志轮转与切割功能
|
25天前
|
NoSQL Java Redis
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件(二)
【分布式技术专题】「分布式技术架构」手把手教你如何开发一个属于自己的分布式锁的功能组件
15 0
|
4月前
|
存储 监控 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(1)
|
4月前
|
SQL 存储 安全
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
带你读《Apache Doris 案例集》——07查询平均提速700% ,奇安信基于 Apache Doris 升级日志安全分析系统(2)
107 0
|
1月前
|
分布式计算 DataWorks 关系型数据库
DataWorks报错问题之报错“查询运行日志失败"如何解决
DataWorks是阿里云提供的一站式大数据开发与管理平台,支持数据集成、数据开发、数据治理等功能;在本汇总中,我们梳理了DataWorks产品在使用过程中经常遇到的问题及解答,以助用户在数据处理和分析工作中提高效率,降低难度。
|
2月前
|
存储 监控 BI
OSS日志查询
实时日志查询功能将OSS与日志服务SLS相结合,允许您在OSS控制台直接查询OSS的访问日志
29 1
|
2月前
|
存储 Prometheus Cloud Native
Grafana 系列文章(十一):Loki 中的标签如何使日志查询更快更方便
Grafana 系列文章(十一):Loki 中的标签如何使日志查询更快更方便
|
3月前
|
数据可视化 API 开发工具
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用相机日志跟踪功能(C++)
Baumer工业相机堡盟工业相机如何通过NEOAPI SDK使用相机日志跟踪功能(C++)
33 0
|
4月前
|
存储 NoSQL 分布式数据库
分布式NoSQL列存储数据库Hbase(一)Hbase的功能与应用场景、基本设计思想
分布式NoSQL列存储数据库Hbase(一)Hbase的功能与应用场景、基本设计思想
146 0
|
4月前
|
SQL 关系型数据库 MySQL
Presto【基础 01】简介+架构+数据源+数据模型+特点(一篇即可入门支持到PB字节的分布式SQL查询引擎Presto)
Presto【基础 01】简介+架构+数据源+数据模型+特点(一篇即可入门支持到PB字节的分布式SQL查询引擎Presto)
56 0

相关产品

  • 日志服务