如何建设一个网站:SystemTap是运维调试利器。
发表日期:2018-11-05 06:32:44

如何建设一个网站:SystemTap是运维调试利器。

 

 只用Wireshark抓包,流程思想和TcpDump是类似的,同样需要选择监听的网卡(这

里包括是否用混杂模式),填写基本的过滤条件和表达式等。考虑到图形界面不适合在服

务器端运行,故在这里不进行阐述。

    在已经拥有TcpDump导出的数据包后,可以将其导入Wireshark查看,界面如图1-5

所示。图1-5显示的界面相当清新。在filter中填写过滤条件时会有自动补全的提示。比

如,只需要写“http.res”,就自动提示了“http.response.code”。在第二行中,显示的是解

码后的信息,并且以协议层次作为树结构展示,这样大大提高了数据的可读性。

    其中,qualifier只能是traceabbrevverboserawsignalreadwrite其中之一,

默认为trace。举例如下。

  -eopen:等价于.e trace=open,表示只跟踪open调用。

  -etraceI =open:跟踪除了open以外的其他调用。

    除了具体的系统调用以外,还可以指定跟踪某一类的系统调用,包括fileprocess

networksignalipc,分别代表文件操作、进程操作、网络操作、信号操作和进程间通信。

    另一个常用qualifiersignal,用来指定跟踪的系统信号,默认为all。如signal=! SIGIO

(或者signal= !io),表示不跟踪SIGIO信号。

    strace的输出中,我们经常看到大量的“ENOENT(No such file or directory)”,这是

因为Linux本身对动态库和头文件等的存放位置是都多处记录的,需要全部查询来进行查

找。比如下面这样。

以在不中断和影响进程运行的情况下,暴露出其内部变量和事件信息等。

    SystemTap的主要工作方式是由使用者书写一种类似awk语法的脚本语言(一般我们

会保存成.stap/.stp文件),然后根据stap脚本自动生成一个临时的内核模块并加载进内核

运行。

    注意它需要使用LinuxUtrace特性来探测用户空间,所以目前对默认不支持Utrace

Debian系服务器来说,SystemTap还不太方便使用。但对于生产线上更常见的RedHat

系服务器,SystemTap无疑是运维调试利器。

 

400-611-0508
全方位的营销咨询
精准的解决方案
一对一贴心服务
地址:北京市丰台科技园汉威国际四区8号楼7层
copynght 2018 yishenzhou.com 版权所有
北京易神州网络技术有限公司
京ICP备06029384号