sysdig所有命令都是用lua 實現的。可以在sysdig 的預設安裝目錄/usr/share/sysdig/chisels中找到支援的所有lua命令指令碼。下面按型別列出目前支援的所有的命令。也可以編寫自己的命令,參考
網路
檢視占用網路頻寬最多的程序
sysdig -c topprocs_net
顯示主機192.168.0.1的網路傳輸資料 as binary:
sysdig -s2000 -x -c echo_fds fd.cip=192.168.0.1 as ascii: sysdig -s2000 -a -c echo_fds fd.cip=192.168.0.1
檢視連線最多的伺服器端口 :
sysdig -c fdcount_by fd.sport "evt.type=accept" in terms of total bytes: sysdig -c fdbytes_by fd.sport
檢視客戶端連線最多的ip
sysdig -c fdcount_by fd.cip "evt.type=accept" in terms of total bytes sysdig -c fdbytes_by fd.cip
列出所有不是訪問apache服務的訪問連線
sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
容器檢視機器上執行的容器列表及其資源使用情況
sudo csysdig -vcontainers
檢視容器上下文的程序列表
sudo csysdig -pc
檢視執行在wordpress1容器裡cpu的使用率
sudo sysdig -pc -c topprocs_cpu container.name=wordpress1
檢視執行在wordpress1容器裡網路頻寬的使用率
sudo sysdig -pc -c topprocs_net container.name=wordpress1
檢視在wordpress1容器裡使用網路頻寬最多的程序
sudo sysdig -pc -c topprocs_net container.name=wordpress1
檢視在wordpress1 容器裡占用 i/o 位元組最多的檔案
sudo sysdig -pc -c topfiles_bytes container.name=wordpress1
檢視在wordpress1 容器裡網路連線的排名情況
sudo sysdig -pc -c topconns container.name=wordpress1
顯示wordpress1容器裡所有命令執行的情況
sudo sysdig -pc -c spy_users container.name=wordpress1
應用檢視機器所有的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
實時檢視 apache呼叫外部mysql的查詢:
sysdig -s 2000 -a -c echo_fds fd.sip=192.168.30.5 and proc.name=apache2 and evt.buffer contains select
硬碟 i/o
檢視使用硬碟頻寬最多的程序
sysdig -c topprocs_file
列出使用大量檔案描述符的程序
sysdig -c fdcount_by proc.name "fd.type=file"
按讀+寫位元組檢視頂級檔案
sysdig -c topfiles_bytes
列印apache讀取或寫入的頂級檔案 :
sysdig -c topfiles_bytes proc.name=httpd
基本的opensnoop:當snoop檔案在被開啟時 :
sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open
按r+w磁碟排序檢視頂級目錄:
sysdig -c fdbytes_by fd.directory "fd.type=file"
按r+w磁碟排序檢視/tmp目錄中檔案
sysdig -c fdbytes_by fd.filename "fd.directory=/tmp/"
觀察名為「passwd」的檔案上的i/o操作:
sysdig -a -c echo_fds "fd.filename=passwd"
按fd型別顯示i/o活動:
sysdig -c fdbytes_by fd.type
程序和cpu使用率
檢視cpu使用率最高的程序:
sysdig -c topprocs_cpu
檢視cpu 0的程序:
sysdig -c topprocs_cpu evt.cpu=0
觀察程序的標準輸出:
sysdig -s4096 -a -c stdout proc.name=cat
效能和錯誤
檢視花費時間最多的檔案
sysdig -c topfiles_time
檢視apache花費大部分時間的檔案
sysdig -c topfiles_time proc.name=httpd
檢視i/o錯誤最多的級程序:
sysdig -c topprocs_errors
按i/o錯誤檢視頂級檔案:
sysdig -c topfiles_errors
檢視所有失敗的磁碟i/o呼叫:
sysdig fd.type=file and evt.failed=true
檢視httpd開啟失敗的檔案:
sysdig "proc.name=httpd and evt.type=open and evt.failed=true"
檢視花費了大部分時間的系統呼叫:
sysdig -c topscalls_time
檢視返回錯誤的系統呼叫:
sysdig -c topscalls "evt.failed=true"
羅列出開啟失敗的檔案:
sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open and evt.failed=true
列印延遲大於1毫秒的檔案i/o呼叫:
sysdig -c fileslower 1
安全顯示使用者「根」訪問的目錄:
sysdig -p"%evt.arg.path" "evt.type=chdir and user.name=root"
觀察ssh活動:
sysdig -a -c echo_fds fd.name=/dev/ptmx and proc.name=sshd
顯示/etc中開啟的每個檔案:
sysdig evt.type=open and fd.name contains /etc
顯示已啟動「tar」命令的所有登入shell的id:
sysdig -r file.scap -c list_login_shells tar
顯示登入shell使用給定id執行的所有命令:
sysdig -r trace.scap.gz -c spy_users proc.loginshellid=5459
異常監控
topcontainers_error 出錯最多的容器
topfiles_errors 出錯最多的檔案
topprocs_errors 出錯做多的程序
系統狀態監控
lscontainers 羅列正在執行的容器
lsof 列出(並可選地篩選)開啟的檔案描述符.
netstat 列出(並可選地篩選)網路連線.
ps 列出(並可選地篩選)計算機處理的。
Linux find 命令使用示例
按名字查詢 1.查詢home目錄及其子目錄的 txt 檔案 find name txt print 2.查詢當前目錄及其子目錄的 txt 檔案 find name txt print 3.查詢以大寫字母開頭的檔案 find name a z print 按檔案許可權相位查詢 1.查詢許可權為755的...
jar命令使用示例
cd f projects mytestproj war web inf classes com liany common jar cvf webreader1.0.jar class path lib bootstrapconnector.jar lib juh 2.3.0.jar lib jur...
lsof命令使用示例
lsof 命令是什麼?可以列出被程序所開啟的檔案的資訊。被開啟的檔案可以是 1.普通的檔案 2.目錄 3.網路檔案系統的檔案 4.字元裝置檔案 5.函式 共享庫 6.管道,命名管道 7.符號鏈結 8.底層的 socket 字流,網路 socket unix 網域名稱socket 怎樣使用 lsof ...