不是所有的Linux工具都会让人惊叹,但这个绝对让你叫绝

本文涉及的产品
函数计算FC,每月15万CU 3个月
Serverless 应用引擎免费试用套餐包,4320000 CU,有效期3个月
应用实时监控服务-可观测链路OpenTelemetry版,每月50GB免费额度
简介: 【4月更文挑战第3天】不是所有的Linux工具都会让人惊叹,但这个绝对让你叫绝

今天我要向大家介绍一款非常强大的系统诊断和监控工具——sysdig。它能替代topiftoplsofstrace等工具,让你的工作更加高效。下面让我举几个应用场景,让你亲眼见证它的强大!

什么是sysdig

sysdig是一款开源的系统诊断和监控工具,Sysdig可以看做是 strace + tcpdump + lsof + htop + iftop 以及其他系统分析工具的合集 。能够实时捕获系统的运行状态并以可视化的方式展示。通过sysdig,用户可以深入了解系统的各项指标、进程活动、网络流量等情况,从而更好地进行故障排查、性能优化和安全监控。

安装sysdig

首先,我们需要安装sysdig工具。sysdig提供了多种安装方式,包括源代码编译安装和各种包管理器安装。在大多数Linux发行版上,您可以通过包管理器轻松安装sysdig。例如,在Ubuntu系统上,可以使用以下命令安装:

sudo apt-get  -y install sysdig

安装成功后,通过下面命令查看对应的版本信息

controlplane $ sysdig --version
sysdig version 0.26.4

使用场景

场景一:跟踪进程的系统调用

跟踪进程的系统调用是故障排查中常用的手段,可以帮助您了解应用程序在执行过程中的具体行为。举例来说,假设一个应用程序在处理某个请求时出现了失败,通过跟踪系统调用,您可以得知是在哪个环节出现了问题,或者是因为缺少了哪个依赖库。现在假设您有一台运行Nginx服务的服务器,想要查看该Nginx服务的系统调用,您可以使用以下命令:

sysdig proc.name=nginx
sysdig proc.pid = 进程号

执行完上述命令后,它会实时监听Nginx的进程,如下图

我们在另外一个终端向这个nginx发送一个HTTP请求,这时,sysdig就会捕抓到请求Nginx的所有数据。如下图:

场景二:系统性能分析

这也是sysdig的拿手好戏之一。比如,要查看CPU使用最高的进程,您可以使用以下命令:

sysdig -c  topprocs_cpu

执行上述命令后,如下图:

这将列出使用CPU最高的进程,可以清晰的看出当前系统中哪些进程占用CPU最高,一目了然,非常直观

查看网络使用最高的进程,您可以执行以下命令:

sysdig -c topprocs_net

执行完上述命令后,将列出使用网络最高的进程,可以看出哪些进程使用网络流量比较大。如下图:

要查看读写硬盘最高的进程,您可以执行以下命令:

sysdig -c  topprocs_file

执行上述命令后,如下图:

这里会帮你列出读写硬盘最高的进程,假设你的系统硬盘读写慢,你想知道是那个进程,占用的磁盘IO比较大,就可以通过这个命令得出来,哪个进程现在占用大量的磁盘IO,从而造成硬盘的一个瓶颈。

查看网络链接,您可以执行以下命令:

sysdig -c netstat

执行上述命令后,如下图:

这里面列出的,与我们直接使用netstat命令列出的内容类似,包括监听,网络链接等等。

查看进程列表,您可以执行以下命令:

sysdig -c ps

执行这个命令后,帮你列出当前系统中所有的进程,包括进程ID以及它的文件描述符的限制,如下图:

查看系统打开的文件描述,您可以执行以下命令:

sysdig -c  lsof

执行完这个命令后,将列出系统中打开的所有文件描述符。包括进程PID以及文件,都能看到。如下图:

场景三: 查看某个目录被哪些进程打开

想要了解某个目录被哪些进程打开,可以使用以下命令:

sysdig fd.name contains /etc

它将会过滤出打开文件描述符中,包含etc的路径,etc目录下的所有的打开文件都能在这里看到。如下图:

写到最后

sysdig是一款强大的系统诊断和监控工具,结合系统调用跟踪和抓包功能,能够实时捕获系统运行状态并以可视化方式展示,提供了丰富的命令行工具和高级功能,可应用于性能优化、故障排查、安全监控等多个场景,是系统管理员和运维工程师的得力助手。

目录
相关文章
|
4月前
|
Linux 开发工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
7种比较Linux中文本文件的最佳工具
|
2月前
|
Linux 数据安全/隐私保护 iOS开发
推荐Linux环境下效能优良的双向文件同步工具
综合上述条件,对于Linux环境下的双向文件同步需求,Unison 和 Syncthing 是两个非常出色的选择。它们都有良好的社区支持和文档资源,适用于不同规模的环境,从个人使用到商业部署。Unison 特别适合那些需要手动干预同步过程、需要处理文件冲突解决的场景。而 Syncthing 更加现代化,适合需要自动、实时的数据同步与备份的环境。对于选择哪一个,这将取决于个人的使用场景和具体需求。
261 16
|
4月前
|
Ubuntu 搜索推荐 Linux
详解Ubuntu的strings与grep命令:Linux开发的实用工具。
这就是Ubuntu中的strings和grep命令,透明且强大。我希望你喜欢这个神奇的世界,并能在你的Linux开发旅程上,通过它们找到你的方向。记住,你的电脑是你的舞台,在上面你可以做任何你想做的事,只要你敢于尝试。
264 32
|
10月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
1032 8
|
6月前
|
自然语言处理 数据库 iOS开发
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
418 12
DBeaver Ultimate Edtion 25.0 Multilingual (macOS, Linux, Windows) - 通用数据库工具
|
5月前
|
运维 安全 Linux
试试Linux设备命令行运维工具——Wowkey
WowKey 是一款专为 Linux 设备设计的命令行运维工具,提供自动化、批量化、标准化、简单化的运维解决方案。它简单易用、高效集成且无依赖,仅需 WIS 指令剧本文件、APT 账号密码文件和 wowkey 命令即可操作。通过分离鉴权内容与执行内容,WowKey 让运维人员专注于决策,摆脱繁琐的交互与执行细节工作,大幅提升运维效率与质量。无论是健康检查、数据采集还是配置更新,WowKey 都能助您轻松应对大规模设备运维挑战。立即从官方资源了解更多信息:https://atsight.top/training。
|
5月前
|
数据采集 运维 安全
Linux设备命令行运维工具WowKey问答
WowKey 是一款用于 Linux 设备运维的工具,可通过命令行手动或自动执行指令剧本,实现批量、标准化操作,如健康检查、数据采集、配置更新等。它简单易用,只需编写 WIS 指令剧本和 APT 帐号密码表文件,学习成本极低。支持不同流派的 Linux 系统,如 RHEL、Debian、SUSE 等,只要使用通用 Shell 命令即可通吃Linux设备。
|
7月前
|
监控 安全 Ubuntu
Linux下如何安装配置Fail2ban防护工具
通过以上步骤,可以在Linux系统中成功安装和配置Fail2ban,从而有效保护服务器免受暴力破解等攻击。Fail2ban通过实时监控日志文件,自动更新防火墙规则,为系统安全提供了一层重要的保护。
1140 36
|
8月前
|
Rust Ubuntu Java
[Linux工具] Makefile
Makefile是Linux环境下用于自动化编译和链接程序的配置文件,常用于简化大型项目的编译流程。通过定义目标文件、依赖文件及生成命令,Makefile能高效管理编译任务。它不仅适用于C语言项目,还可扩展到其他编程语言和非编程任务中。
114 20
[Linux工具] Makefile

热门文章

最新文章