sysdig 是一个超级系统工具,它可以用来捕获系统状态信息,在运维工作中sysdig能很方便的排查异常、定位故障,它还能保存数据进行分析,并且提供强大的命令接口。
在了解sysdig强大之处之前,首先得安装sysdig,我这里是环境是centos6.7.
1.建立gpg信任密钥,配置yum仓库
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
2.安装epel仓库
3.安装内核头
yum -y install kernel-devel-$(uname -r)
4.安装sysdig
yum -y install sysdig
如果安装过程中报下面这个错的话,修改/etc/yum.repos.d/epel.repo 将baseurl的注释取消,mirrorlist的注释掉即可
安装成功,接下来sysdig使用示例
sysdig -cl | less 可以查看sysdig内建的各个系统状态查看相关模块
1.进程和cpu使用率
查看整个cpu使用情况
sysdig -c topprocs_cpu
查看cpu0的使用情况
sysdig -c topprocs_cpu evt.cpu=0
查看进程的标准输出,我这里在执行命令之后用ssh又打开了两个终端
ysdig -s1484 -A -c stdout proc.name=sshd
2.磁盘IO
查看磁盘io使用信息
sysdig -c topprocs_file
查看读写最多的文件
sysdig -c topprocs_file
打印指定程序正在读取或写入的文件
sysdig -c topfiles_bytes proc.name=cp
查看所有文件名为passwd的IO活动
sysdig -A -c echo_fds "fd.filename=passwd"
显示活动的IO类型
sysdig -c fdbytes_by fd.type
3.网络
查看正在使用网络的进程
sysdig -c fdbytes_by fd.type
显示到主机192.168.1.253的往来数据
以二进制显示
sysdig -s2000 -X -c echo_fds fd.cip=192.168.1.253
以 ASCII码显示
sysdig -s2000 -A -c echo_fds fd.cip=192.168.1.253
查看连接最多的服务器端口
sysdig -c fdcount_by fd.sport "evt.type=accept"
按字节数
sysdig -c fdbytes_by fd.sport
查看客户端连接最多的IP
sysdig -c fdcount_by fd.cip "evt.type=accept"
按字节数
sysdig -c fdbytes_by fd.cip
4.应用程序
查看机器所有的http请求
sudo sysdig -s 2000 -A -c echo_fds fd.port=80 and evt.buffer contains GET
查看机器所有的sql select查询
sudo sysdig -s 2000 -A -c echo_fds evt.buffer contains SELECT
查看所有的httpd错误
sysdig "proc.name=httpd and evt.type=open and evt.failed=true"
查看系统调用用用的时间
sysdig -c topscalls_time