Sysdig是一个强大的开源系统分析和故障排除工具,适用于Linux系统。它能够捕获和检查系统调用及其他内核级事件,让用户实时了解系统活动、进程、网络流量、文件访问等信息。Sysdig通常用于性能监控、安全审计和调试,可以以细粒度跟踪系统的全部活动。它提供了一套丰富的预定义过滤器和输出选项,适用于多种场景,包括容器监控。Sysdig的录制和回放功能使其在事后分析中尤为有价值。
本教程将指导你在Ubuntu 24.04上安装和使用Sysdig监控工具。
前提条件
一台运行Linux的服务器(本教程使用Ubuntu 24.04)。
服务器上已配置root密码。
安装Sysdig
对于基于Debian的操作系统(如Ubuntu和Debian),使用以下命令安装Sysdig:
apt install gnupg software-properties-common curl -y
curl -s https://s3.amazonaws.com/download.draios.com/stable/install-sysdig | bash
对于基于RPM的操作系统(如AlmaLinux、Rocky Linux、CentOS、RHEL和Fedora),使用以下命令安装Sysdig:
rpm --import https://s3.amazonaws.com/download.draios.com/DRAIOS-GPG-KEY.public
curl -s -o /etc/yum.repos.d/draios.repo https://s3.amazonaws.com/download.draios.com/stable/rpm/draios.repo
dnf install sysdig -y
安装完成后,使用以下命令验证Sysdig的安装版本:
sysdig --version
你将看到以下输出:
sysdig version 1.61.10
使用Sysdig
运行csysdig命令可以显示运行中的进程、CPU使用率和内存使用情况:
csysdig

按F2键打开其他菜单:

在这里,你可以使用方向键在左侧面板选择你想要监控的项目,然后按回车键确认。例如,选择connections后按回车,你将看到所有传入连接:

要查看进程和CPU信息,选择Processes CPU后按回车:

如果你想直接从命令行监控所有网络连接,运行以下命令:
sysdig -c netstat

使用以下命令查看HTTP请求日志:
sysdig -c httplog
你将看到所有传入的HTTP请求:
2024-08-23 11:21:17.228051410 < method=GET url=69.87.220.62/ response_code=200 latency=1ms size=3138B 2024-08-23 11:21:23.139933688 < method=GET url=69.87.220.62/ response_code=200 latency=1ms size=3138B
要按照CPU使用率监控进程,运行以下命令:
sysdig -c topprocs_cpu

运行以下命令查看所有可用选项:
sysdig -cl

你还可以使用spy_users模块显示交互式用户活动:
sysdig -c spy_users
你将看到以下输出:
13133 11:38:03 root) free -m 13133 11:38:22 root) df -h
总结
在上述教程中,我们详细介绍了如何在Ubuntu 24.04上安装和使用Sysdig实时监控系统活动。希望这能帮助你排查和解决系统相关问题。