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