问题排查复盘

5月份中旬一天晚上,业务需求上线后反馈,该业务对应的搜索功能有问题,晚上10点多开始排查,到凌晨2点,最后大致定位了问题,并行修改后恢复,虽然问题不是很大,但是当时上线的业务对业绩比较重要,当时公司很多大佬都在等问题的解决,亚历山大,最后定位到的问题很简单,就是下游某个服务超时,但是整体过程离奇曲折,特此记录,总结经验。
首先最大的问题,下游服务那么多,具体是哪个服务出问题导致了最后的问题,这个当下无法通过工具定位,是最大的问题,公司里虽然工具都有,链路工具tracing skywalking,日志工具elk,链路工具基本平时不使用,因为不好用,有些线程都没有串起来,所以当第一步无法定位大致的问题服务时,就靠大胆猜测,结果还猜错了,在错误的问题上折腾了一个小时。
第二,排查到出问题的下游链路时,由于接口没有对超时打日志,所以无法很明确的定位问题,只能临时继续加日志上线,另外,线上日志全部打开后,日志量太多导致有的被遗弃,没有收集起来,还得去机器上看日志。
最终虽然解决了问题,但是能看出来,这是一个工程问题,下次还是无法避免,所以我们要建设一些工具,另外,还需要体系化的建设排查问题的方法论。
1.工具:
tracing:要善于使用skywalking,在错误请求上把链路id打出来,根据链路id先定位大致的错误的服务。
logging:现在打日志是纵向的,开一个应用的日志,就把这个应用模块所有访问的日志都打出来了,只需要打印错误链路的日志,而且需要横向的在各服务上把错误链路的日志都打出来。
2.方法论:
首先做程序员代码就是最大的确定性,不能靠猜哪里有问题,再去看,猜其实是先有的手段无法满足定位,所以只能靠猜,这是下下策。最好的方式是通过metrics—>tracing—>logging的顺序分析问题,比直接去查日志更高效,首先得加上监控告警,通过告警发现问题,第二,通过tracing发现该问题发生在微服务链路的哪个环节,最后,在根据日志找到最根本的问题。

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

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

相关文章

抖音a-bogus加密解析(三)

要补的环境我给提示,大家自行操作,出了问题就是因为缺环境,没补好 window global; // reading _u未定义 window.requestAnimationFrame function () {} // XMLHttpRequest 未定义 window.XMLHttpRequest function () {} window.onwheelx …

Vue3实战笔记(45)—VUE3封装一些echarts常用的组件,附源码

文章目录 前言一、柱状图框选二、折线图堆叠总结 前言 日前使用hooks的方式封装组件,在我使用复杂的图标时候遇到了些问题,预想在onMounted中初始化echarts,在使用hooks的时候,组件没有渲染完,使用实例会出现各种各样…

Qt Creator(1)【概述篇】

阅读导航 引言一、Qt概述1. 什么是Qt2. Qt的发展史3. Qt支持的平台4. Qt的优点5. Qt的应用场景 二、Qt下载安装 引言 在探索编程和软件开发的旅程中,我们已经奠定了坚实的基础,通过学习C语言和C,我们不仅掌握了结构化编程和面向对象编程的核…

HIVE3.1.3+ZK+Kerberos+Ranger2.4.0高可用集群部署

目录 一、集群规划 二、介质下载 三、基础环境准备 1、解压文件 2、配置环境变量 四、配置zookeeper 1、创建主体 2、修改zoo.cfg 3、新增jaas.conf 4、新增java.env 5、重启ZK 6、验证ZK 五、配置元数据库 六、安装HIVE 1、创建Hiver的kerberso主体 2…

网站笔记:huggingface model memory calculator

Model Memory Utility - a Hugging Face Space by hf-accelerate 这个工具可以计算在 Hugging Face Hub上托管的大型模型训练和执行推理时所需的vRAM内存量。模型所需的最低推荐vRAM内存量表示为“最大层”的大小,模型的训练大约是其大小的4倍(针对Adam…

LeetCode 第399场周赛个人题解

100323. 优质数对的总数 I 原题链接 100323. 优质数对的总数 I 思路分析 签到题 AC代码 class Solution:def numberOfPairs(self, nums1: List[int], nums2: List[int], k: int) -> int:n, m len(nums1), len(nums2)ret 0for i in range(n):for j in range(m):if nu…

关于构建生成式AI产品的思考

在过去的六个月里,我们 LinkedIn 的团队一直在努力开发一种新的人工智能体验。我们希望重新构想我们的会员如何进行求职和浏览专业内容。 生成式人工智能的爆炸式增长让我们停下来思考一年前不可能实现的事情。我们尝试了许多想法,但都没有真正实现&…

1.2 程序员职业发展

目录 1 程序员职业发展方向 2 计算机研究生为何青睐AI赛道 1 程序员职业发展方向 2 计算机研究生为何青睐AI赛道 计算机类研究生,大部分以人工智能作为主赛道,原因如下: 广阔的就业前景:人工智能是当今科技发展的前沿领域&…

7.Redis之String编码方式应用场景业务

1.内部编码 字符串类型的内部编码有 3 种: • int:8 个字节(64位)的⻓整型。 • embstr:⼩于等于 39 个字节的字符串。压缩字符串.适用于表示比较短的字符串。 • raw:⼤于 39 个字节的字符串。普通字…

Vue父组件向子组件传值的方法

Vue 中&#xff0c;父组件向子组件传值主要通过 props 实现。以下是一个详细的代码示例&#xff1a; 父组件 (ParentComponent.vue): <template> <div> <h2>父组件</h2> <child-component :message"parentMessage"></child-compo…

Java的线程的使用

一.两种创建线程的方式 1.继承Thread类&#xff08;匿名内部类&#xff09; 创建方式&#xff1a; 1.定义一个子类继承Thread&#xff0c;重写run方法 2.创建子类对象&#xff0c; 3.调用子类对象的start方法&#xff08;启动还是执行的run方法&#xff09; 优缺点&#x…

公安知识学习与题目练习系统

一、系统概述 系统采用C用户小程序端、管理员Web端架构。通过UniappVueSpringboot主流技术实现。具体功能分为&#xff0c;管理侧&#xff1a;可以维护学习知识点、更新知识点详情&#xff1b;C端用户&#xff1a;可以学习知识点、在线刷题练习的功能。次系统在公安专业知识学习…

绘唐科技绘唐ai工具邀请码

绘唐科技绘唐ai工具邀请码 绘唐AI工具 https://qvfbz6lhqnd.feishu.cn/wiki/QBr4wOAz2ilF4NknrqbcoKRhn2c TensorFlow是一个开源的机器学习框架,由Google开发并维护。它提供了一个灵活且高效的接口,用于构建和训练各种机器学习模型。 TensorFlow的基本概念包括: 1. 张量(…

牛客网刷题 | BC99 正方形图案

目前主要分为三个专栏&#xff0c;后续还会添加&#xff1a; 专栏如下&#xff1a; C语言刷题解析 C语言系列文章 我的成长经历 感谢阅读&#xff01; 初来乍到&#xff0c;如有错误请指出&#xff0c;感谢&#xff01; 描述 KiKi学习了循环&am…

使用Java和XxlCrawler获取各城市月度天气情况实践

目录 前言 一、历史数据获取 1、关于天气后报 2、信息界面分析 二、数据的提取开发 1、PageVo的定义 2、属性定义 3、实际信息抓取 三、信息抓取调试以及可能的问题 1、信息获取成果 2、关于超时的问题 四、总结 前言 这篇文章主要来源于一个我们家小朋友的一个作业…

计算机基础概论:构筑数字社会的硬件基础与交互技术

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 &#x1f3af; 引言&#x1f4bb; 什么是计算机&#xff1f;&#x1f331; 计算机的起源与发展&#x1f6e0;️ 电脑硬件的五大核心组件1. 中央处理器 (CPU) - 智慧的心脏2. 随机存取内存 (RAM) - 快速的记忆体3. 存储设备 …

V-for中 key 值的作用

在 Vue.js 中&#xff0c;v-for 指令用于渲染一个列表&#xff0c;它会基于源数据多次渲染元素或模板块。而 key 是一个特殊的属性&#xff0c;主要用在 Vue 的虚拟 DOM 差异算法中&#xff0c;以提高渲染效率&#xff0c;并确保在重新渲染时组件状态的正确性。 当 Vue.js 使用…

基于Hadoop的城市公共交通大数据时空分析

基于Hadoop的城市公共交通大数据时空分析 “Spatio-temporal Analysis of Urban Public Transportation Big Data based on Hadoop” 完整下载链接:基于Hadoop的城市公共交通大数据时空分析 文章目录 基于Hadoop的城市公共交通大数据时空分析摘要第一章 引言1.1 研究背景1.2 …

安卓手机听书的各种免费方案

categories: Tips tags: Tips 写在前面 最近 Tencent 突然给微信读书上限制了, 普通用户一个月内仅能导入 3 本书, 这就让经常在 weread 上面听书入眠的我很无奈了. 折腾一下备选方案吧, 肯定是免费优先咯. 下面主要从支持 tts 的阅读器/ tts 免费中文引擎两个角度来讲. r…

Linux驱动(3)- LInux USB驱动层次

在Linux系统中&#xff0c;提供了主机侧和设备侧USB驱动框架。 从主机侧&#xff0c;需要编写USB驱动包括主机控制器驱动&#xff0c;设备驱动两类&#xff0c;USB 主机控制驱动程序控制插入其中的USB设备。 USB设备驱动程序控制该设备如何作为从设备与主机进行通信。 1.主机…