草庐IT

进阶篇丨链路追踪(Tracing)很简单:常见问题排查

经过前面多篇内容的学习,想必大部分同学都已经熟练掌握分布式链路追踪的基础用法,比如回溯链路请求轨迹,定位耗时瓶颈点;配置核心接口黄金三指标告警,第一时间发现流量异常;大促前梳理应用上下游关键依赖,联系相关方协同备战等等。随着深入使用链路追踪技术,问题发现与诊断方面的能力想必都有大幅提升。但实际生产过程中的问题可能更加棘手:比如接口偶发性超时,调用链只能看到超时接口名称,看不到内部方法,无法定位根因,也难以复现,怎么办?比如接口调用成功,但是业务状态异常,导致结果不符合预期,如何排查?比如大促压测时或发布变更后,发现CPU水位非常高,如何分析应用性能瓶颈点,针对性优化?比如同一份代码,本地调试都

网络故障排查和流量分析利器-Tcpdump命令

Tcpdump是一个在Unix/Linux系统上广泛使用的命令行网络抓包工具。它能够捕获经过网络接口的数据包,并将其以可读的格式输出到终端或文件中。Tcpdump是一个强大的命令行工具,能够捕获和分析网络数据包,为网络管理员和安全专业人员提供了深入了解网络通信的途径。本文将介绍Tcpdump的基本用法、功能和一些常见的应用场景。TcpdumpVSWireshark在我的专栏介绍《Wireshark从入门到精通》了大量关于wireshark图形界面,命令行,插件,使用技巧等诸多内容,为什么还要介绍Tcpdump呢,最主要的原因如下:在处理数十万,数百万数量级的数据包的时候tcpdump展现出比w

最近几个典型 Elasticsearch 线上易出错难排查问题汇集,咱们得避免!

1、主节点设置1个,但是宕机了,集群咋办?有人试过唯一的master所在的主机恢复不了了,可以配置其他数据节点作为master恢复集群吗?1.1问题描述多节点集群,但只设置一个候选主节点,但这个主节点所在的物理机出故障了,怎么办?1.2问题拆解分析第一直觉——这里的关键在于:咱们得有多个候选主节点。如果没有,这个没法再次选主。在Elasticsearch中,集群的稳健性和高可用性是通过多个主节点候选(eligiblemasternodes)实现的,而不是依赖单个主节点候选。如果你的集群只配置了一个候选主节点,且该节点所在的物理机出现故障,这确实会导致问题,因为没有其他节点可以接替成为新的主节点

【Elasticsearch】awareness 配置导致分片无法迁移问题排查

问题现在要进行机房(rack)迁移,ES集群共有三个节点,开启了awarenessallocation对应的attribute为rack(机房),集群中的所有节点都在同一个机房(历史遗留,理论上因为只有一个机房,所以该配置无意义)。进行机房迁移的操作是扩容了三个节点并将之前的三个节点exclude,但发现有部分分片无法迁移。问题排查抽查一个无法迁移分片的索引的分片分布如下问题在于gh-data-rt0728节点上的副本0分片为什么不能迁移到hlsc-data-rt-es0997节点呢?使用_cluster/allocation/explainAPI查看原因(只保留所在节点gh-data-rt0

K8s出现问题时,如何排查解决!

K8s问题的排查1.POD启动异常、部分节点无法启动pod``2.审视集群状态``3.追踪事件日志``4.聚焦Pod状态``5.检查网络连通性``6.审视存储配置``7.研究容器日志``8.K8S集群网络通信``9.问题:Service是否通过DNS工作?``10.总结1、POD启动异常、部分节点无法启动pod容器里管理应用pod是k8S中最小调度单元,POD里面的容器共享pod的空间、资源、网络、存储等。``pod管理一个容器。``pod管理多个容器。pod出现异常的原因:1、资源过剩:大量POD在同一个物理节点,出现资源占用太多导致物理节点宕机。``2、内存和CPU超标:pod中的应用出现

调用内部方法,SpringBoot AOP注解失效问题排查与解决

开发时,遇到这样一个问题。项目使用springboot框架,项目中的task基于quartz实现,其中有个BaseTask代码实现quartz的Job接口,关键代码如下:importorg.quartz.Job;importorg.quartz.JobExecutionContext;importorg.quartz.JobExecutionException;publicabstractclassBaseTaskimplementsJob{@Overridepublicvoidexecute(JobExecutionContextcontext){ //dosomethingbefore..

记一次 MySQL timestamp 精度问题的排查 → 过程有点曲折

开心一刻  下午正准备出门,跟正刷着手机的老妈打个招呼  我:妈,今晚我跟朋友在外面吃,就不在家吃了  老妈拿着手机跟我说道:你看这叫朋友骗缅北去了,tm血都抽干了,多危险  我:那是他不行,你看要是吴京去了指定能跑回来  老妈:还吴京八经的,特么牛魔王去了都得耕地,唐三藏去了都得打出舍利,孙悟空去了都得演大马戏  我:那照你这么说,唐僧师徒取经走差地方了呗  老妈:那可没走错,他当年搁西安出发,他要是搁云南出发呀,上午到缅北,下午他就到西天  我:哈哈哈,那西游记就两级呗,那要是超人去了呢?  老妈:那超人去了,回来光剩超,人留那了问题复现  我简化下业务与项目  数据库: MySQL8.0

线上问题排查回答(转载)

面试官:「你是怎么定位线上问题的?」这个面试题我在两年社招的时候遇到过,前几天面试也遇到了。我觉得我每一次都答得中规中矩,今天来梳理复盘下,下次又被问到的时候希望可以答得更好。下一次我应该会按照这个思路去答:1、如果线上出现了问题,我们更多的是希望由监控告警发现我们出了线上问题,而不是等到业务侧反馈。所以,我们需要对核心接口做好监控告警的功能。2、如果是业务代码层面的监控报警,那我们应该是可以很快地定位出是哪儿的问题,毕竟告警逻辑都是我们写的嘛。如果是服务器资源/所依赖的中间件告警,那我们可能就要花点时间去排查啦。3、不管怎么样,无论是系统告警还是是业务侧反馈系统或者接口出了问题。我们要想想在

记一次 MySQL timestamp 精度问题的排查 → 过程有点曲折

开心一刻  下午正准备出门,跟正刷着手机的老妈打个招呼  我:妈,今晚我跟朋友在外面吃,就不在家吃了  老妈拿着手机跟我说道:你看这叫朋友骗缅北去了,tm血都抽干了,多危险  我:那是他不行,你看要是吴京去了指定能跑回来  老妈:还吴京八经的,特么牛魔王去了都得耕地,唐三藏去了都得打出舍利,孙悟空去了都得演大马戏  我:那照你这么说,唐僧师徒取经走差地方了呗  老妈:那可没走错,他当年搁西安出发,他要是搁云南出发呀,上午到缅北,下午他就到西天  我:哈哈哈,那西游记就两级呗,那要是超人去了呢?  老妈:那超人去了,回来光剩超,人留那了问题复现  我简化下业务与项目  数据库: MySQL8.0

使用 Process Explorer 和 Windbg 排查软件线程堵塞案例分享

目录1、问题说明2、线程堵塞的可能原因分析3、使用Windbg和ProcessExplorer确定线程中发生了死循环