分布式系统日志排查综合场景

news2025/3/15 9:12:37

排查背景

在一个大型分布式电商系统中,用户反馈在进行商品结算时出现了报错。系统由多个子系统构成,包括商品管理系统、订单系统、支付系统等,各子系统分布在不同服务器上,且日志文件分散存储。

排查过程

确定当前位置并切换到可能的日志目录

  •  首先使用pwd命令查看当前所在目录,确认初始位置;
pwd
  • 然后通过和开发团队沟通得知订单系统日志一般存放在/var/log/order_system目录下,使用cd命令切换过去
cd /var/log/order_system
  • 使用ls命令查看该目录下的文件列表,确认日志文件的命名规则,发现有order_20250219.logorder_error.log等文件。
ls

查找包含报错关键字的日志​​​​​

  •  用户反馈结算报错时提到了 “payment_failure” 关键字,使用grep结合cat命令在所有日志文件中递归查找该关键字。
cat * | grep -r "payment_failure"
  • 结果发现order_error.log文件中有相关记录,为进一步查看该文件上下文,使用catgrep的组合,查看关键字前后 5 行内容。
cat order_error.log | grep "payment_failure" -C 5

动态实时查看日志

  • 为了捕捉新的报错信息,使用tail -f命令动态实时查看order_error.log文件。

tail -f order_error.log
  • 在等待过程中,又有新的用户反馈相同问题,实时日志中出现了更多相关报错记录。运维人员发现报错时间集中在 15:00 - 15:30 之间。

根据时间范围筛选日志

  • 使用sed命令,根据时间范围筛选出 15:00 - 15:30 之间的日志记录。
sed -n '/2025-02-19 15:00/,/2025-02-19 15:30/p' order_error.log
  • 从筛选结果中发现报错信息指向了支付系统的一个接口调用失败。

检查相关进程状态

  • 怀疑是订单系统调用支付系统接口的进程出现问题,使用ps -ef命令查看当前所有进程,通过管道符|结合grep命令筛选出与订单系统接口调用相关的进程。假设相关进程名为order_payment_interface
ps -ef | grep order_payment_interface
  • 发现该进程的 CPU 和内存占用率异常高,可能是导致接口调用失败的原因之一。

进一步排查与解决

  • 运维人员根据上述排查结果,联系支付系统团队和开发人员,告知他们订单系统调用支付系统接口时在特定时间出现报错,且相关进程资源占用异常。开发人员根据日志信息和进程状态,进一步深入代码层面排查问题,最终发现是支付系统接口的一个参数校验逻辑在高并发情况下出现了错误,导致订单系统调用失败。修复该问题后,经过测试,用户结算功能恢复正常。

开始(用户反馈支付失败)
│
▼
[阶段1:定位订单系统日志]
│
├─ 命令: pwd: 确认当前所在目录路径,避免误操作其他目录
│
├─ 命令: cd /var/log/order_system 切换到订单系统日志目录,开发团队提供的标准日志存储位置
│
├─ 命令: ls -l *.log 列出目录下所有.log文件,确认日志命名规则(如order_error.log)
│
▼
[阶段2:分析订单系统错误日志]
│
├─ 命令: grep -r "payment_failure" /var/log/order_system 递归搜索订单系统目录下的“payment_failure”关键字,定位具体日志文件
│
├─ 命令: cat /var/log/order_system/order_error.log | grep -C 5 "payment_failure" 查看order_error.log中匹配行的前后5行,分析错误上下文(如订单ID、请求参数)
│
▼
[阶段3:实时监控订单系统日志]
│
├─ 命令: tail -f /var/log/order_system/order_error.log 实时追踪日志尾部更新,观察新产生的支付失败记录
│
▼
[阶段4:按时间筛选关键日志]
│
├─ 命令: sed -n '/2025-02-19 15:00:00/,/2025-02-19 15:30:00/p' order_error.log > time_filtered.log 提取15:00-15:30的日志到新文件,聚焦高并发时段的异常记录
│
▼
[阶段5:检查订单系统进程状态]
│
├─ 命令: ps -ef | grep order_payment_interface 筛选订单系统中调用支付接口的进程,检查PID、CPU和内存占用率
│
▼
[阶段6:关联支付系统问题]
│
├─ 结论: 日志显示支付接口返回“参数校验失败”,进程资源占用异常(如CPU 90%+) 将日志和进程状态提交支付系统团队(示例:内部工单或邮件)
│
▼
[阶段7:支付系统修复]
│
├─ 操作: 支付系统团队修复参数校验逻辑,重启服务
│   └─ 命令: curl -X POST http://payment-system/api/healthcheck 调用支付系统健康检查接口,验证服务恢复
│
▼
结束(用户支付流程验证成功)

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

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

相关文章

android lmkd.rc 介绍

service service lmkd /system/bin/lmkdclass coreuser lmkdgroup lmkd system readproccapabilities DAC_OVERRIDE KILL IPC_LOCK SYS_NICE SYS_RESOURCEcriticalsocket lmkd seqpacketpasscred 0660 system systemtask_profiles ServiceCapacityLow属于核心服务组&#xff0…

Matlab 双线性插值(二维)

文章目录 一、简介二、实现代码三、实现效果参考资料一、简介 双线性插值是一种 二维插值方法,用于计算 栅格(Grid) 或 像素点 之间的插值值。它主要用于 图像缩放、旋转、变换 等操作,以在新像素位置估算灰度值或颜色值。 如上图所示,假设存在一个二维离散函数(如图像)…

TCP 三次握手四次挥手过程详解

注:本文为 “TCP 的三次握手与四次挥手” 相关文章合辑。 英文引文,机翻未校。 中文引文,未整理去重。 英文引文第二篇,实为国内《稀土掘金技术社区》文章,没检索到原文,此处 “出口转内销” 。 如有内…

程序编译生成的文件

目录 .i 文件 .s 文件 .o文件 总结 在 C 编程中,.i、.s和 .o 文件是编译过程中生成的不同阶段的文件,它们代表不同的含义: .i 文件 全称 :预处理后的文件(Intermediate File)。 含义:.i文件…

C++类的基础题(4)

练习1&#xff1a;&#xff08;简单&#xff09; 基于如下程序&#xff0c;按要求修改和完善。 #include <iostream> using namespace std; class Student {public: Student(int n,float s):num(n),score(s){} void change(int n,float s) {numn;scores;} void displ…

MindGYM:一个用于增强视觉-语言模型推理能力的合成数据集框架,通过生成自挑战问题来提升模型的多跳推理能力。

2025-03-13&#xff0c;由中山大学和阿里巴巴集团的研究团队提出了MindGYM框架&#xff0c;通过合成自挑战问题来增强视觉-语言模型&#xff08;VLMs&#xff09;的推理能力。MindGYM框架通过生成多跳推理问题和结构化课程训练&#xff0c;显著提升了模型在推理深度和广度上的表…

WPS 搭配 Zotero 插件使用

安装Zotero后&#xff0c;Word自动引入了插件&#xff0c;但WPS却没有&#xff0c;做为WPS的重度用户&#xff0c;这是不行的。 解决方案&#xff1a; 1.找到 Zotero.dotm 一般在安装目录下&#xff0c; 2.然后复制到WPS的startup下 我的目录是&#xff1a;C:\Users\lianq…

汽车NVH诊断案例 | 纯电车急加速过大弯底盘异响

引言 失去发动机的掩蔽效应后&#xff0c;新能源电车的NVH问题&#xff0c;成为了困扰维修技师新难点。风噪、胎噪、电机高频啸叫等问题更容易车主识别&#xff0c;根源却难以被有效分辨。如何更精准且高效地识别电车NVH问题根源&#xff1f;今天分享的这个案例&#xff0c;内…

万字长文详解嵌入式电机软件开发

第一章&#xff1a;嵌入式电机概述 1.1 电机类型&#xff1a;选对 “主角” 有多重要&#xff1f; 在嵌入式电机控制系统里&#xff0c;电机就如同故事中的主角&#xff0c;选对了方能使整个剧情顺利推进。不同应用场景对精度、速度、功率以及成本的需求各异&#xff0c;因而了…

电机控制常见面试问题(十二)

文章目录 一.电机锁相环1.理解锁相环2.电机控制中的锁相环应用3.数字锁相环&#xff08;DPLL&#xff09; vs 模拟锁相环&#xff08;APLL&#xff09;4.锁相环设计的关键技术挑战5.总结 二、磁链观测1.什么是磁链&#xff1f;2.为什么要观测磁链&#xff1f;3.怎么观测磁链&am…

卡尔曼滤波算法从理论到实践:在STM32中的嵌入式实现

摘要&#xff1a;卡尔曼滤波&#xff08;Kalman Filter&#xff09;是传感器数据融合领域的经典算法&#xff0c;在姿态解算、导航定位等嵌入式场景中广泛应用。本文将从公式推导、代码实现、参数调试三个维度深入解析卡尔曼滤波&#xff0c;并给出基于STM32硬件的完整工程案例…

韦伯望远镜的拉格朗日点计算推导过程,包含MATLAB和python运动轨迹仿真代码

研究过程 起源与提出&#xff1a;1687 年牛顿提出 “三体问题”&#xff0c;旨在研究三个可视为质点的天体在相互之间万有引力作用下的运动规律&#xff0c;但因运动方程过于复杂&#xff0c;难以得到完全解。欧拉的贡献1&#xff1a;1767 年&#xff0c;瑞士数学家莱昂哈德・…

STM32 RS232通信开发全解析 | 零基础入门STM32第五十九步

主题内容教学目的/扩展视频RS232串口电路原理&#xff0c;跳线设置&#xff0c;驱动程序。与超级终端通信。了解电路原理和RS232协议。 师从洋桃电子&#xff0c;杜洋老师 &#x1f4d1;文章目录 一、RS232通信系统架构二、RS232核心原理与硬件设计2.1 电气特性对比2.2 典型电路…

C# net deepseek RAG AI开发 全流程 介绍

deepseek本地部署教程及net开发对接 步骤详解&#xff1a;安装教程及net开发对接全流程介绍 DeepSeekRAG 中的 RAG&#xff0c;全称是 Retrieval-Augmented Generation&#xff08;检索增强生成&#xff09;&#xff0c;是一种结合外部知识库检索与大模型生成能力的技术架构。其…

建筑管理(2): 施工承包模式,工程监理,质量监督

文章目录 一. 施工承包模式1. 施工总承包模式1.1 施工总承包的特点1.2 施工总承包模式中的承包方 2. 平行承包模式3. 联合体与合作体承包模式 二. 工程监理1. 强制实行监理的工程范围1.1 国家重点建设工程1.2 大中型公用事业工程(重点)1.3 成片开发建设的住宅小区工程1.4 必须实…

最节省服务器,手搓电子证书查询系统

用户预算150元&#xff0c;想要一个最简单证书查询系统。前台能查询证书、后台管理员能登录能修改密码&#xff0c;证书能够手动输入修改删除、批量导入导出删除数据、查询搜索。能够兼容苹果、安卓、PC三端浏览器&#xff0c;最后帮忙部署到云服务器上。 用户预算不多&#xf…

STM32F407 IIC通信

1、IIC 介绍 IIC(Inter-Integrated Circuit)总线是一种由数据线 SDA 和时钟线 SCL 构成的两线式串行总线,可发送和接收数据,常用于 MPU/MCU 与外部设备连接通信、数据传输。每个连接到总线的设备都有一个独立的地址,主机可以通过该地址来访问不同设备。因为 IIC 协议比较简单…

jupyter无法转换为PDF,HTMLnbconvert failed: Pandoc wasn‘t found.

无法转为PDF 手动下载工具 https://github.com/jgm/pandoc/releases/tag/3.6.3 似乎跟我想的不大一样&#xff0c;还有新的报错 https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex 不知道下的啥玩意儿 sudo apt-get install texlive-xetex texlive-fon…

使用 Excel 实现绩效看板的自动化

引言 在日常工作中&#xff0c;团队的绩效监控和管理是确保项目顺利进行的重要环节。然而&#xff0c;面临着以下问题&#xff1a; ​数据分散&#xff1a;系统中的数据难以汇总&#xff0c;缺乏一个宏观的团队执行情况视图。​看板缺失&#xff1a;系统本身可能无法提供合适…

vue3怎么和大模型交互?

引言 平时我们都是用的在线的AI工具&#xff0c;直接输入问题&#xff0c;然后AI回答我们&#xff0c;那么怎么把AI接入项目中呢&#xff1f; 这个问题问得好。 方案一&#xff1a;引入第三方已封装好的UI库方案二&#xff1a;自己写 对于方案一&#xff0c;市面上已有一些…