sysdig

#转载自http://blog.51cto.com/cstsncv/1982103
#由于原文很多都是英文解释,按照自己的理解随便翻译了下
#原文有部分使用方法没理解,就没有写


# 查看占用网络带宽最多的进程
sysdig -c topprocs_net

# 查看连接最多的端口(以连接的bytes为单位和以连接数为单位)
sysdig -c fdbytes_by fd.sport                  
sysdig -c fdcount_by fd.sport "evt.type=accept" 

# 抓包和读抓包dump.scap文件
sysdig -w dump.scap
sysdir -r dump.scap

# 显示与主机119的网络传输数据(-X和-A参数显示方式不同)
sysdig -s2000 -X -c echo_fds fd.cip=10.10.10.119
sysdig -s2000 -A -c echo_fds fd.cip=10.10.10.119

# 查看连接最多的ip(以连接的bytes为单位和以连接数为单位)
sysdig -c fdcount_by fd.cip "evt.type=accept"
sysdig -c fdbytes_by fd.cip

# 查看不是java进程的访问连接
sysdig -p"%proc.name %fd.name" "evt.type=accept and proc.name!=java"

# 占用磁盘I/O最多的进程
sysdig -c topprocs_file

# 占用fd最多的进程
sysdig -c fdcount_by proc.name "fd.type=file"

# 读写最多的文件(以bytes为单位)
sysdig -c topfiles_bytes

# 读写文件最多的目录(以bytes为单位)
sysdig -c fdbytes_by fd.directory "fd.type=file"

# 打印java程序正在读写的文件
sysdig -c topfiles_bytes proc.name=java

# 在/home/tmDataYuan/oracle目录中读写最频繁的文件
sysdig -c fdbytes_by fd.filename "fd.directory=/home/tmDataYuan/oracle"

# 所有和2300.dmp文件相关的磁盘I/O
sysdig -A -c echo_fds "fd.filename=2300.dmp"

# 查看进程的cpu占用率
sysdig -c topprocs_cpu

# 查看第一个cpu的进程占用率(应该是多个cpu的服务器)
sysdig -c topprocs_cpu evt.cpu=0

# 查看所有的http请求(GET)
sysdig -s 2000 -A -c echo_fds fd.port=80 and evt.buffer contains GET

# 查看所有的SQL查询
sysdig -s 2000 -A -c echo_fds evt.buffer contains SELECT

# 查看花费时间做多的文件
sysdig -c topfiles_time

# 查看java服务在哪些文件上花费时间
sysdig -c topfiles_time proc.name=java

# I/O错误最多的进程
sysdig -c topprocs_errors

# I/O错误最多的文件
sysdig -c topfiles_errors

# 查看所有失败的I/O调用
sysdig fd.type=file and evt.failed=true

# 查看java进程打开失败的文件
sysdig "proc.name=httpd and evt.type=open and evt.failed=true"

# 系统调用时间排行
sysdig -c topscalls_time

# 系统调用返回错误排行
sysdig -c topscalls "evt.failed=true"

# 超过1ms的延迟的文件I/O调用
sysdig -c fileslower 1

 

<think>我们正在Kali Linux上安装sysdig工具。根据Kali Linux基于Debian的特性,我们可以使用包管理器apt进行安装。 然而,需要注意的是,sysdig可能不在Kali Linux的默认仓库中。因此,我们需要先添加Draios(sysdig的开发公司)的APT仓库。 步骤: 1. 安装内核头文件(因为sysdig需要构建内核模块):`apt install -y linux-headers-$(uname -r)` 2. 信任Draios的GPG密钥:`curl -s https://download.sysdig.com/DRAIOS-GPG-KEY.public | apt-key add -` 3. 添加Draios仓库:`curl -s -o /etc/apt/sources.list.d/draios.list http://download.sysdig.com/stable/deb/draios.list` 4. 更新包列表:`apt update` 5. 安装sysdig:`apt install -y sysdig` 但是,由于Kali Linux的滚动更新特性,有时可能会遇到内核头文件版本不匹配的问题。如果遇到,可以尝试安装与当前运行内核匹配的头文件。 另外,也可以考虑使用官方提供的另一种安装方式:通过脚本自动安装。执行: `curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash` 但要注意,使用远程脚本存在一定风险,建议在了解脚本内容后再执行。 我们这里采用第一种方法(手动添加仓库)进行安装。 注意:在安装过程中,sysdig会构建一个内核模块(sysdig-probe),所以需要编译环境。确保已经安装了必要的编译工具(如make, gcc等)。在Kali中,通常这些工具已经安装,但如果没有,可以通过`apt install -y build-essential`来安装。 如果安装过程中遇到问题,请检查错误信息。常见的问题包括内核头文件不匹配、缺少编译工具等。 安装完成后,可以通过运行`sysdig`命令来验证。 另外,Kali Linux默认是非root用户,但很多系统监控工具需要root权限,所以运行sysdig时可能需要使用sudo。 现在,我们按照步骤进行。</think>### 在 Kali Linux 上安装 Sysdig 的步骤 Sysdig 是一个强大的系统监控和故障排查工具。在 Kali Linux 上安装步骤如下: #### 1. 安装依赖项 ```bash sudo apt update sudo apt install -y dkms linux-headers-$(uname -r) curl ``` > 📌 必须安装当前内核对应的头文件(`linux-headers-$(uname -r)`),否则内核模块无法编译[^1] #### 2. 添加官方仓库和 GPG 密钥 ```bash curl -s https://download.sysdig.com/DRAIOS-GPG-KEY.public | sudo gpg --dearmor -o /usr/share/keyrings/draios.gpg echo "deb [signed-by=/usr/share/keyrings/draios.gpg] https://download.sysdig.com/stable/deb stable-$(arch)/" | sudo tee /etc/apt/sources.list.d/draios.list ``` #### 3. 安装 Sysdig ```bash sudo apt update sudo apt install -y sysdig ``` #### 4. 验证安装 ```bash sudo sysdig -v # 查看版本 sudo sysdig -c topcontainers_cpu # 示例命令 ``` #### 常见问题解决: 1. **内核头文件错误**: ```bash sudo apt install linux-headers-$(uname -r) --reinstall sudo /usr/bin/sysdig-probe-loader # 手动加载模块 ``` 2. **DKMS 构建失败**: 检查 `/var/lib/dkms/sysdig/` 下的日志,确保 `gcc` 和 `make` 已安装: ```bash sudo apt install build-essential ``` 3. **容器监控问题**: 需启用容器支持: ```bash sudo sysdig -k http://localhost:8080 # 对 Docker 启用 ``` --- ### 📌 技术说明 Sysdig 通过动态加载内核模块 (`sysdig-probe.ko`) 捕获系统调用,需 DKMS 支持。其架构分为: 1. 内核模块:事件捕获层 2. 用户空间库:`libsinsp`/`libscap` 3. 命令行工具:`sysdig`/`csysdig` 性能开销约 1-5%,建议生产环境测试后部署[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值