2.6k star,超强的网络问题分析工具
今天推荐一个开源的网络问题分析工具,它是基于eBPF技术,能够捕获和分析网络请求,如HTTP、Redis和MySQL请求。
它帮助用户快速定位和解决网络异常问题,而无需复杂的抓包、下载和分析步骤。
项目简介
Kyanos 是一个基于 eBPF 的网络问题分析工具,能够捕获和分析网络请求,如 HTTP、Redis 和 MySQL 请求。它帮助用户快速定位和解决网络异常问题,而无需复杂的抓包、下载和分析步骤。
这里简单介绍下ebpf,eBPF 是一项起源于 Linux 内核的革命性技术,可以在特权上下文(如操作系统内核)中运行沙盒程序。它用于安全高效地扩展内核的能力,而无需更改内核源代码或加载内核模块,可以用于更高效的监控、问题排查、安全审计等。
功能特点
强大的流量过滤功能:
- Kyanos 不仅可以基于传统的 IP/端口信息进行过滤,还支持基于进程/容器、L7 协议信息、请求/响应字节大小、延迟等进行过滤。
- 示例命令:
./kyanos watch --pids 1234 ./kyanos watch --container-id abc ./kyanos watch redis --keys my-key1,my-key2 ./kyanos watch --resp-size 10000
高级分析能力:
- Kyanos 支持聚合捕获的数据包指标,快速提供关键数据,帮助排查问题。
- 示例命令:
kyanos stat http --bigresp
深入的内核级延迟细节:
- Kyanos 提供从请求/响应到达网卡到内核 Socket 缓冲区的内核跟踪点,显示这些细节的可视化格式,帮助识别延迟的具体阶段。
轻量级且无依赖:
- Kyanos 几乎零依赖,只需一个二进制文件和一行命令,所有结果都显示在命令行中。
自动 SSL 流量解密:
- 所有捕获的请求和响应结果均以明文显示。
快速开始
下载 Kyanos:
- 从 release 页面 下载适用于 x86_64 和 arm64 架构的静态链接二进制文件:
tar xvf kyanos_vx.x.x_linux_x86.tar.gz
- 从 release 页面 下载适用于 x86_64 和 arm64 架构的静态链接二进制文件:
运行 Kyanos:
- 运行以下命令开始捕获 HTTP 流量:
./kyanos watch http
- 运行以下命令开始捕获 HTTP 流量:
查看结果:
- 每个请求-响应记录将以表格形式显示,每列捕获该请求的基本信息。可以使用方向键或 j/k 上下移动选择记录,按 Enter 键查看详细信息。
示例
捕获 HTTP 流量并获取延迟细节:
./kyanos watch http
捕获 Redis 流量并获取延迟细节:
./kyanos watch redis
找到最近 5 秒内最慢的请求:
./kyanos stat --slow --time 5
通过以上步骤,你可以使用 Kyanos 快速开始监控和分析网络流量,帮助你更好地理解和解决网络问题。
© 版权声明
文章版权归作者所有,未经允许请勿转载。