Heng30的博客
搜索 分类 关于 订阅

如何使用sysdig跟踪调试内核?

2025-02-18

Sysdig是一款功能强大的开源系统监控和故障排查工具,主要用于Linux系统的监控、分析和诊断。它能够捕获系统的实时活动,并提供详细的系统调用信息,帮助用户深入了解系统行为和性能问题。

主要功能

  • 系统调用捕获:Sysdig能够捕获所有系统调用(如文件操作、网络通信、进程活动等),并生成详细的日志。

  • 实时监控:支持实时查看系统活动,帮助快速定位问题。

  • 容器支持:SysdigDockerKubernetes等容器环境有良好支持,能够监控容器内的系统调用。

  • 脚本化分析:通过内置的Chisels(小型脚本),用户可以自定义分析系统数据。

  • 性能分析:提供 CPU、内存、磁盘 I/O、网络等性能指标的详细分析。

  • 安全监控:能够检测异常行为和安全威胁,适用于安全审计。

安装

sudo apt intall sysdig linux-headers-$(uname -r)

常用命令

  • 实时监控:sysdig

    编号 | 时间 | cpu | 进程名称 | pid,tid | 进入和出来方向 | 事件类型 | 详细信息
    556363 13:40:09.007584137 1 sshd (2134.2134) < ppoll res=1 fds=4:40 4:40 10:f1
    556368 13:40:09.007586962 1 sshd (2134.2134) > rt_sigprocmask
    556369 13:40:09.007587382 1 sshd (2134.2134) < rt_sigprocmask
    556373 13:40:09.007589003 1 sshd (2134.2134) > read fd=10(<f>/dev/ptmx) size=32768
    556384 13:40:09.007597945 1 sshd (2134.2134) < read res=4095 data=27) > .[01;34mppoll.[00m fds=11:u1 3:p1 9:f1 8:f1 8:f4 timeout=0(0s) sigmask= ..
    ...
    
  • 查看特定进程:sysdig proc.name=cat

  • 监控网络活动:sysdig -c topconns

  • 监听指定事件:sudo sysdig evt.type=close

  • 监控文件I/Osysdig -c topfiles_bytes

  • 保存日志:sysdig -w trace.scap

  • 回放日志:sysdig -r trace.scap

希望上面的内容对你有所帮助。