https://support.sysdig.com
sysdig 号称相当于可以同时lsof,tcpdump,strace三种命令。
服务器安装:
rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public
curl -s -o /etc/yum.repos.d/draios.repo http://download.draios.com/stable/rpm/draios.repo
yum list dkms
rpm -i http://mirror.us.leaseweb.net/epel/6/i386/epel-release-6-8.noarch.rpm
yum -y install kernel-devel-$(uname -r) #可能安装失败,直接安装相似的软件 yum list kernel-devel-*
yum -y install sysdig
报错提示解决error opening device /dev/sysdig0. Make sure you have root credentials and that the sysdig-probe module is loaded.
sysdig-probe-loader
常用命令: 查看占用高的CPU。sysdig -c topprocs_cpu
查看高的网络。sysdig -c topprocs_net。文件占用: sysdig -c topprocs_file。
sysdig是一个工具箱,包含很多工具,同时选项比较多,这里只选择一些常用的,其余的读者可以自行man sysdig或sysdig -l等来学习;
sysdig -s 指定缓存达到多少字节时保存到磁盘,也就是一行只保留多少字节。
sysdig -w file.scap 把追踪到的数据保存在文件 注意 文件只能用 sysdig命令 才能查看。
sysdig -r file.scap 阅读保存的数据文件。
sysdig -cl 列出可以使用的 chisel,chisel 名为凿子 是一种分析脚本,sysdig自带的,也可以自己创建。
sysdig -c chiselName 指定使用 chiselName的脚本来分析数据。
sysdig -A (--print-ascii) 表示只打印数据中的文本部分 ,人可以直接读取的部分。
sysdig -b (--print-base64) 已base64的格式打印数据,这个对于需要把数据给别的工具分析比较有用。
默认情况下 sysdig会把捕捉到的事件 按照下面的格式打印:
%evt.num(事件的序号),%evt.time(事件发生的时间) %evt.cpu(cpu的序号) %evt.type(事件的名称) %evt.info %proc.name(进程名称) %evt.dir %thread.tid
sysdig -l 可以查看 一个域的用法 比如 sysdig -l fd 。