該備忘單提供了使用 Sysdig 的常用命令參數(shù)和使用案例清單
sudo rpm --import https://download.sysdig.com/DRAIOS-GPG-KEY.public
sudo curl -s -o /etc/yum.repos.d/draios.repo https://download.sysdig.com/stable/rpm/draios.repo
sudo yum -y install sysdig
| 參數(shù) | 說明 |
|---|---|
-C 5 | 每個(gè)文件不超過5M |
-W 10 | 保留不超過10個(gè)文件 |
-G 60 | 每個(gè)文件只保留一分鐘內(nèi)的系統(tǒng)活動(dòng) |
-w dump.pcap | 保存到文件 |
-e 1000 | 每個(gè)文件只有1000個(gè)事件 |
-z | 參數(shù)對(duì)保存的內(nèi)容進(jìn)行壓縮 |
-A --print-ascii | 把buffer中數(shù)據(jù)按照ASCII格式打印,方便閱讀 |
-x --print-hex | 把buffer中數(shù)據(jù)按照十六進(jìn)制打印 |
-X --printhex-ascii | 把buffer中數(shù)據(jù)同時(shí)按照ASCII格式和十六進(jìn)制打印 |
-s 1024 | 捕獲buffer的數(shù)據(jù)大小,默認(rèn)為80,設(shè)置過大,文件會(huì)很大 |
-N | 不用把端口號(hào)轉(zhuǎn)成可讀名字 |
-r | 從文件讀取 |
| 事件 | 說明 |
|---|---|
evt.num | 遞增的事件號(hào) |
evt.time | 事件發(fā)生的時(shí)間 |
evt.cpu | 事件被捕獲時(shí)所在cpu |
proc.name | 生成事件的進(jìn)程名字 |
thread.tid | 線程id,單線程則為進(jìn)程id |
evt.dir | 事件方向(direction), > 代表進(jìn)入事件, < 代表退出事件 |
evt.type | 事件的名稱,比如open、stat等,一般為系統(tǒng)調(diào)用 |
evt.args | 事件的參數(shù)。如果為系統(tǒng)調(diào)用,則對(duì)應(yīng)系統(tǒng)調(diào)用的參數(shù) |
| 事件 | 說明 |
|---|---|
httplog | 輸出所有的http請(qǐng)求 |
topprocs_cpu | 輸出按照cpu使用率排序 |
topprocs_net | 按照網(wǎng)絡(luò)使用情況對(duì)進(jìn)程排序 |
fdcount_by | 按照建立連接書對(duì)進(jìn)程排序 |
echo_fds | 輸出進(jìn)程讀寫數(shù)據(jù) |
netsata | 列出網(wǎng)絡(luò)連接情況 |
spy_file | 輸出文件的讀寫數(shù)據(jù),可以提供某個(gè)文件名作為參數(shù) |
spy_ip | 抓取給定ip的數(shù)據(jù)交換 |
spy_port | 抓取給定端口的數(shù)據(jù)交換 |
sysdig -l #事件類型
sysdig -cl #chisels工具類型
$ sysdig
$ sysdig -p"user:%user.name dir:%evt.arg.path" evt.type=chdir
user:ubuntu dir:/root
user:ubuntu dir:/root/tmp
user:ubuntu dir:/root/Download
字段必須用 % 作為前綴,所有 sysdig -l 列出來的字段都可以使用
如果某個(gè)字段在時(shí)間中不存在,默認(rèn)這個(gè)事件會(huì)過濾掉,在這個(gè)字符串最前面加上 * 符號(hào),會(huì)打印所有事件,不存在的字段會(huì)變成 <NA>
$ sysdig -p"*%evt.type %evt.dir %evt.arg.name" evt.type=open
open > <NA>
open < /proc/1285/task/1399/stat
open > <NA>
open < /proc/1285/task/1400/io
open > <NA>
open < /proc/1285/task/1400/statm
open > <NA>
kubernetes pod 客戶端 ip 的 udp 請(qǐng)求# 列出容器監(jiān)聽端口
$ sudo sysdig -pc -A -c netstat container.name=aaa
# 抓取kubernetes pod 的客戶端ip為172.119.100.16,3000端口的的請(qǐng)求內(nèi)容
$ sudo sysdig -A -c echo_fds k8s.pod.name contains datacenter-web-dev and fd.port=3000 and evt.type=read and fd.cip=172.119.100.16 fd.proto=UDP
# 按照建立連接數(shù)量對(duì)進(jìn)程排序 并保存到sysdig.pcap文件中
$ sysdig -c fdcount_by fd.sport "evt.type=accept" -w sysdig.pcap
抓取 kubernetes pod 客戶端 ip 為 172.119.100.16 的 udp 請(qǐng)求
查看 io 錯(cuò)誤最多的進(jìn)程
$ sysdig -c topprocs_errors
查看io錯(cuò)誤最多的文件
$ sysdig -c topfiles_errors
查看磁盤io失敗的調(diào)用
$ sysdig fd.type=file and evt.failed=true
查看httpd打開失敗的文件
$ sysdig "proc.name=httpd and evt.type=open and evt.failed=true"
查看最花費(fèi)時(shí)間的系統(tǒng)調(diào)用
$ sysdig -c topscalls_time
查看系統(tǒng)調(diào)用失敗返回最多的系統(tǒng)調(diào)用
$ 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
打印延遲大于1ms的文件I/O調(diào)用
$ sysdig -c fileslower 1
查看使用硬盤帶寬最多的進(jìn)程
$ sysdig -c topprocs_file
列出大量使用文件描述符的進(jìn)程
$ sysdig -c fdcount_by proc.name "fd.type=file"
查看讀寫bytes最多的文件
$ sysdig -c topfiles_bytes
打印httpd進(jìn)程已經(jīng)讀取中和寫入中的文件
$ sysdig -c topfiles_bytes proc.name=httpd
基本 opensnoop:snoop 文件在發(fā)生時(shí)打開
$ sysdig -p "%12user.name %6proc.pid %12proc.name %3fd.num %fd.typechar %fd.name" evt.type=open
查看活躍中的讀和寫最多的目錄
sysdig -c fdbytes_by fd.directory "fd.type=file"
查看目錄/tmp活躍中的讀寫最多的文件
sysdig -c fdbytes_by fd.filename "fd.directory=/tmp/"
查看所有文件名為passwd的i/O活動(dòng)
sysdig -A -c echo_fds "fd.filename=passwd"
展示FD類型的活躍I/O
sysdig -c fdbytes_by fd.type
抓取 kubernetes pod 的客戶端 ip 為 172.119.100.17,3000 端口的的請(qǐng)求內(nèi)容
$ sudo sysdig -A -c echo_fds k8s.pod.name contains datacenter-web-dev and fd.port=3000 and evt.type=read and fd.cip=172.119.100.17 fd.proto=UDP
查看占用網(wǎng)絡(luò)帶寬最多的進(jìn)程
$ sysdig -c topprocs_net
#顯示主機(jī)192.168.0.1的網(wǎng)絡(luò)傳輸數(shù)據(jù)
#作為二進(jìn)制:
$ sysdig -s2000 -X -c echo_fds fd.cip=192.168.0.1
#作為 ASCII:
$ sysdig -s2000 -A -c echo_fds fd.cip=192.168.0.1
查看連接最多的服務(wù)器端口
#在已建立的連接方面:
$ sysdig -c fdcount_by fd.sport "evt.type=accept"
#就總字節(jié)數(shù)而言:
$ sysdig -c fdbytes_by fd.sport
查看客戶端連接最多的ip
#在已建立的聯(lián)系方面
$ sysdig -c fdcount_by fd.cip "evt.type=accept"
#就總字節(jié)數(shù)而言
$ sysdig -c fdbytes_by fd.cip
列出所有不是訪問apache服務(wù)的訪問連接
$ sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=httpd"
顯示 wordpress1 容器在端口 80 上發(fā)送和接收的數(shù)據(jù):
$ sysdig -A -cecho_fds container.name=wordpress1 and fd.port=80
實(shí)時(shí)打印 mysql 容器接收的所有新連接
$ sysdig -p"%fd.name" container.name=mysql and evt.type=accept
查看哪些文件花費(fèi)時(shí)間做多
$ sysdig -c topfiles_time
查看httpd進(jìn)程哪些文件花費(fèi)最多時(shí)間
$ sysdig -c topfiles_time proc.name=httpd
查看io錯(cuò)誤最多的進(jìn)程
$ sysdig -c topprocs_errors
查看io錯(cuò)誤最多的文件
$ sysdig -c topfiles_errors
查看磁盤io失敗的調(diào)用
$ sysdig fd.type=file and evt.failed=true
查看httpd打開失敗的文件
$ sysdig "proc.name=httpd and evt.type=open and evt.failed=true"
查看最花費(fèi)時(shí)間的系統(tǒng)調(diào)用
$ sysdig -c topscalls_time
查看系統(tǒng)調(diào)用失敗返回最多的系統(tǒng)調(diào)用
$ 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
打印延遲大于1ms的文件I/O調(diào)用
$ sysdig -c fileslower 1
將事件捕獲到跟蹤文件以供以后分析
$ sysdig –w myfile.scap
從跟蹤文件中讀取事件
$ sysdig –r myfile.scap
根據(jù)特定字段過濾事件
$ sysdig proc.name=httpd and evt.type!=open
運(yùn)行鑿子以獲得高級(jí)功能
$ sysdig -c topprocs_cpu
列出所有可用字段
$ sysdig -l
列出所有可用的鑿子
$ sysdig -cl
查看具有容器上下文的進(jìn)程列表
$ sysdig -pc
查看 wordpress1 容器中運(yùn)行的進(jìn)程的CPU使用率
$ sysdig -pc -c topprocs_cpu container.name=wordpress1
查看對(duì)基于 Kubernetes 的 mySQL 服務(wù)發(fā)出的熱門 HTTP 請(qǐng)求
$ sysdig -k http://127.0.0.1:8080 -c httptop k8s.svc.name=mysql
列出使用最多文件數(shù)的進(jìn)程
$ sysdig -c fdcount_by proc.name "fd.type=file"
觀察名為“passwd”的所有文件的 I/O 活動(dòng)
$ sysdig -A -c echo_fds "fd.filename=passwd"
顯示 root 訪問的目錄
$ sysdig -p "%evt.arg.path" "evt.type=chdir and user.name=root"
觀察 ssh 活動(dòng)
$ sysdig -A -c echo_fds fd.name=/dev/ptmx and proc.name=sshd
顯示來自 python 的所有系統(tǒng)日志消息
$ sysdig -c spy_syslog proc.name=python
超尾系統(tǒng)中的所有日志文件
$ sysdig -c spy_logs
$ csysdig -m http://127.0.0.1:8080
使用 Mesos 元數(shù)據(jù)運(yùn)行 Csysdig,Sysdig 基于 curses 的 UI
感谢您访问我们的网站,您可能还对以下资源感兴趣:
国产成人精品999视频&日本一区二区亚洲人妻精品&久久久精品国产99久久精&99热这里只有成人精品国产&精品国产剧情av一区二区&成人亚洲精品久久久久app&国产精品美女高潮抽搐A片