作者回复: 确实,很多命令全记住也不容易,我也有很多小本本:)
作者回复: 你把[Time since request: xxx seconds]右单击选择apply as column,然后主窗口里多了一个列。你对这个列右单击选择edit column,就能看到它的fields里面的内容就是http.time了~
作者回复: 你好,这里应该是两个不同的TCP连接: 连接1:a到b 连接2:b的nginx到b自己的php-fpm,通过本地的TCP 9000端口 HTTP事务是在这两个中传输的时候,大部分信息是不变的,特别是payload。所以你可以尝试我在第17讲介绍的方法,当时也是在HAProxy两侧不同TCP连接中定位同一个HTTP事务。具体来说就是利用下面这种过滤器,在连接1和连接2中分别找到它: tcp contains "xxxx"
作者回复: 这种情况是有点无奈。不过可以换一个想法,看看领导的诉求是什么。“常态化抓包”是目标还是手段?看看领导的目标具体是什么,达成这个目标的手段可以是什么,可以不是什么? 我们常犯的错误,是把手段当成了目标:)
作者回复: 两个都对了,厉害了!tshark的功能确实很强大,也很实用,在后续课程里会继续介绍的
作者回复: 这种案例当然有,不过有点过于经验性,我希望这个课程是提供一种具体到细节和原理性的分析。这种分析方法应该是要掌握的,即使你到后期可以做到“通过现象--->可能原因分析---->找到原因”,但脱离了这个抓包分析的能力,就有点不扎实。各种软件的配置项都会变化,我们需要学习的知识最好要少一些“偶然性知识”(比如某个软件的某个配置叫某个名字,在它的值为某个数字的时候会出现某种问题),而多一些“必然性知识”(网络协议是十多年二十多年都不会有大的改变的)。
作者回复: 谢谢你的支持:)
作者回复: 是的,对于我们大规模应用,对各种数据源的依赖性更高。另外,跳数越多,排查复杂度越高,课程里的案例算比较简单的,大规模应用下的问题耗时更长,基本上少不了多次的来回,比如: 第一回:大致确定问题位置,比如是靠近客户端,还是靠近LB,还是靠近服务端 第二回:在这个相对小的范围里利用现有的日志或者打开新的debug日志,进一步缩小范围 第三回:上tcpdump等工具来定位根因