免费开源!DBdoctor推出开源版系统诊断工具systool

​前言

在开发和运维过程中,经常会遇到难以定位的应用问题,我们通常需要借助Linux系统资源监控工具来辅助诊断。然而,系统的IO、网络、CPU使用率以及文件句柄等信息通常需要通过多个独立的命令工具来获取。在没有部署如Prometheus这样的综合监控系统的情况下,收集这些基础性能指标不仅会增加沟通成本,还会耗费额外的时间。

针对以上难题,DBdoctor推出了一款开源的 Linux 系统监控工具systool,支持一键诊断,欢迎各位小伙伴体验试用,并期待您的宝贵建议,让我们共同推动技术的进步!

工具介绍

systool 是我们基于eBPF以及BCC-tool开发了一款开源的系统诊断小工具。可快速便捷的收集当前系统的负载、CPU使用率、内存消耗、I/O性能和网络状况等关键指标,只需一键操作,就可实现Linux系统的高效监控。

工具编译

确保内核编译配置中包含以下两项:

复制代码
CONFIG_DEBUG_INFO_BTF=yCONFIG_DEBUG_INFO=y

以及安装了llvm编译器,进入项目目录后直接make即可。

工具使用

参数介绍:

  • -C, --noclear 不清除打印

  • -p, --pid=PID 进程号,该工具支持针对单个进程进行分析文件IO以及网络IO

  • -t, --type=TYPE 进程类型,当前支持mysql

  • -v, --verbose 打印eBPF相关的debug信息

以正在压测的MySQL为例,拿到mysqld的进程号后执行./systool -p 27085 -t mysql, 获取到的数据如下:

由上图可知:

  • time : 打印了当前的系统时间

  • loadavg: 打印了当前系统的负载信息

  • sys limits: 打印了当前系统的文件句柄限制、进程数限制以及swap信息

  • cpu: 打印当前CPU的数量及当前指定进程的CPU使用率

  • mem: 打印当前系统的内存大小以及指定进程的内存使用情况

  • soft interrupts : 打印当前系统的软中断情况

  • IO:打印当前进程的IO情况,每个线程的读写次数,读写速率,操作文件名,上级目录名,当type为MySQL时,根据文件名进行文件归类展现文件类型是表或者是UNDO LOG、BIN LOG以及临时文件

  • TCP:打印当前进程(或系统)的TCP协议的网络传输速率

当前MySQL正在进行压测写入,可以看到CPU占用比较高,达到了4.96c; 而在文件IO中可以看到BIN LOG文件在频繁写入,每秒达到了64次,而数据库ffff中表明sbtest8这张表文件有大量的数据写入,每秒有1MB的写入速率。

项目地址

https://github.com/juhaokan

小结

systool工具在对特定进程(如 MySQL)进行分析时,用户可以指定进程并获取详细的文件 IO 和网络传输数据。这种精准的数据收集,可帮助用户迅速识别出可能导致性能下降的因素:比如高 CPU 占用、频繁的文件写入操作以及网络瓶颈等。

通过该工具,可快速的对Linux系统的多个指标进行查看,能够实现对系统状态的全面把握,从而为系统优化和故障修复提供数据支持,辅助问题排查,对问题可以进行一个方向上的初步定位,为日常运维工作提供极大的便利。

*************************************************************************************************************

DBdoctor官网地址:https://www.dbdoctor.cn/?utm=02

相关推荐
冬奇Lab11 小时前
每日一个开源项目(第149篇):RAG-Anything - 把图片、表格、公式当成一等公民的多模态 RAG 框架
人工智能·开源
这个DBA有点耶14 小时前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
这个DBA有点耶15 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技16 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend17 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
ClouGence20 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
太阳之子21 小时前
给你的 AI Agent 装一双"能上网冲浪"的眼睛
开源
冬奇Lab1 天前
每日一个开源项目(第148篇):obsidian-skills - Obsidian CEO 亲写的 AI Agent 格式规范,让 Agent 不再破坏你的 Vault
人工智能·开源·资讯
先吃饱再说2 天前
存储的进化:从 MySQL 到浏览器缓存,数据到底住在哪?
数据库
Nturmoils2 天前
字段太多看不全,ksql 的展开模式和输出控制怎么用
数据库·后端