@cdmonkey
2024-06-25T16:09:08.000000Z
字数 2271
阅读 68
命令总结
使用:
sysdig [option]... [filter]
Opt | LongOpt | Explain |
---|---|---|
-A |
--print-ascii |
只输出数据中文本部分 ,就是人可直接阅读之内容。 |
-b |
--print-base64 |
|
-w |
--write |
将事件捕获(trace)内容写入指定文件。 |
-r |
--read |
从哪里读入事件信息,通常是个 trace 文件。 |
-z |
--compress |
启用 trace 文件压缩。 |
列出指令支持的所有事件(主要是系统调用):
sysdig -L
列出所有过滤器:
sysdig -l
保存为文件使用 -w
。
指定过滤器:
sysdig evt.type=read
sysdig evt.type=read and proc.name=sshd
使用 -c
指定 Chisels,它是一系列预定义功能集合。
sysdig's chisels(类目)是内置脚本,供使用者用于追踪系统调用、查看系统性能瓶颈,它是用强大而且高效的 Lua 脚本语言编写。
sysdig -cl # --list-chisels,列出所有 Chisels
[root@hidocker02 ~]# sysdig -i fdbytes_by.lua
Category: I/O
-------------
fdbytes_by.lua I/O bytes, aggregated by an arbitrary filter field
Groups FD activity based on the given filter field, and returns the key that ge
nerated the most input+output bytes. For example, this script can be used to li
st the processes or TCP ports that generated most traffic.
Args:
[string] key - The filter field used for grouping
依据给定筛选字段对 FD 活动进行分组,并返回生成最多 IO 字节的键。举例说,这个脚本可用于列出生成最多流量的进程及 TCP 端口。
首先,捕获 30M 的包用于分析:
sysdig -w fdbytes_by.scap -C 30
然后:
[root@hidocker02 ~]# sysdig -r fdbytes_by.scap0 -c fdbytes_by fd.type
Bytes fd.type
--------------------------------------------------------------------------------
484.63KB file
18.60KB ipv4
475B netlink
20B unix
8B timerfd
然后:
[root@hidocker02 ~]# sysdig -r fdbytes_by.scap0 -c fdbytes_by fd.directory "fd.type=file"
Bytes fd.directory
--------------------------------------------------------------------------------
182.81KB /lib64
159.31KB /etc
61.08KB /usr/share/locale
52.55KB /proc
11.27KB /dev
11.07KB /dev/pts
6.35KB /proc/net
183B /proc/720
然后:
[root@hidocker02 ~]# sysdig -r fdbytes_by.scap0 -c fdbytes_by fd.name "fd.directory=/lib64"
Bytes fd.name
--------------------------------------------------------------------------------
20.31KB /lib64/libselinux.so.1
20.31KB /lib64/libdl.so.2
20.31KB /lib64/libattr.so.1
20.31KB /lib64/libpthread.so.0
20.31KB /lib64/libpcre.so.1
20.31KB /lib64/libacl.so.1
20.31KB /lib64/libc.so.6
20.31KB /lib64/libcap.so.2
20.31KB /lib64/libnss_files.so.2
最后:
# 看看有哪些程序访问这个目录:
sysdig -r fdbytes_by.scap0 -c fdbytes_by proc.name "fd.directory=/lib64"
# 具体查看某个文件:
sysdig -r fdbytes_by.scap0 -c fdbytes_by proc.name "fd.directory=/lib64 and fd.filename=libnss_files.so.2"
sysdig -c topprocs_cpu
监控用户的操作命令:
sysdig -c spy_users
查看占用网络带宽最多的进程:
sysdig -c topprocs_net
查看读写量最大的文件:
sysdig -c topfiles_bytes
Github
Wiki