第241210期 – kyanos

第241210期 - kyanos

2.6k star,超强的网络问题分析工具

今天推荐一个开源的网络问题分析工具,它是基于eBPF技术,能够捕获和分析网络请求,如HTTP、Redis和MySQL请求。

它帮助用户快速定位和解决网络异常问题,而无需复杂的抓包、下载和分析步骤。

项目简介

Kyanos 是一个基于 eBPF 的网络问题分析工具,能够捕获和分析网络请求,如 HTTP、Redis 和 MySQL 请求。它帮助用户快速定位和解决网络异常问题,而无需复杂的抓包、下载和分析步骤。

这里简单介绍下ebpf,eBPF 是一项起源于 Linux 内核的革命性技术,可以在特权上下文(如操作系统内核)中运行沙盒程序。它用于安全高效地扩展内核的能力,而无需更改内核源代码或加载内核模块,可以用于更高效的监控、问题排查、安全审计等。

功能特点

  1. 强大的流量过滤功能

    • 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
      
  2. 高级分析能力

    • Kyanos 支持聚合捕获的数据包指标,快速提供关键数据,帮助排查问题。
    • 示例命令:
      kyanos stat http --bigresp
      
  3. 深入的内核级延迟细节

    • Kyanos 提供从请求/响应到达网卡到内核 Socket 缓冲区的内核跟踪点,显示这些细节的可视化格式,帮助识别延迟的具体阶段。
  4. 轻量级且无依赖

    • Kyanos 几乎零依赖,只需一个二进制文件和一行命令,所有结果都显示在命令行中。
  5. 自动 SSL 流量解密

    • 所有捕获的请求和响应结果均以明文显示。

快速开始

  1. 下载 Kyanos

    • release 页面 下载适用于 x86_64 和 arm64 架构的静态链接二进制文件:
      tar xvf kyanos_vx.x.x_linux_x86.tar.gz
      
  2. 运行 Kyanos

    • 运行以下命令开始捕获 HTTP 流量:
      ./kyanos watch http
      
  3. 查看结果

    • 每个请求-响应记录将以表格形式显示,每列捕获该请求的基本信息。可以使用方向键或 j/k 上下移动选择记录,按 Enter 键查看详细信息。

示例

  • 捕获 HTTP 流量并获取延迟细节

    ./kyanos watch http
    
  • 捕获 Redis 流量并获取延迟细节

    ./kyanos watch redis
    
  • 找到最近 5 秒内最慢的请求

    ./kyanos stat --slow --time 5
    

通过以上步骤,你可以使用 Kyanos 快速开始监控和分析网络流量,帮助你更好地理解和解决网络问题。


© 版权声明

相关文章