Repolode
hengyoush

hengyoush/kyanos

HTTP、Redis、MySQL、Kafka、DNSの通信をキャプチャし、カーネル内で遅延が発生している箇所を可視化するeBPFベースのネットワーク解析CLI。

代替できる製品:tcpdump

スター
5,080
フォーク
235
未解決の Issue
32
最終コミット
12 時間前

これは何?

Kyanosは、eBPFを利用したネットワーク問題の解析ツールです。HTTP、Redis、MySQL、Kafka、MongoDB、RocketMQ、DNSなどのプロトコルのリクエストとレスポンスをキャプチャでき、別途パケットをキャプチャしてオフラインで解析する必要はありません。

生の通信をキャプチャするだけでなく、プロセス、コンテナ、L7プロトコルのフィールド、バイト数、レイテンシで通信を絞り込めます。また、リモートIPに送信されたレスポンスの最大サイズなどのメトリクスを集計できます。各レコードについて、パケットがプロセス、ネットワークカード、ソケットバッファの間を移動するのにかかった時間を分解して表示するため、リクエストの遅延につながっている段階を特定できます。SSL通信は平文で表示されます。

Kyanosは、結果をターミナルに出力する静的リンク済みの単一バイナリとして提供されています。root権限と、Linux kernel 3.10(3.10.0-957以降)または4.14以降が必要です。

主な機能

  • 01HTTP、Redis、MySQL、Kafka、MongoDB、RocketMQ、DNSのリクエストとレスポンスをキャプチャします。
  • 02PID、コンテナID、プロトコルのフィールド、レスポンスサイズ、レイテンシで通信を絞り込めます。
  • 03ネットワークカードからソケットバッファ、プロセスまでの各段階のレイテンシを表示します。
  • 04一定期間における最大サイズのレスポンスや最も遅いリクエストなどのメトリクスを集計します。
  • 05SSL通信を復号して平文で表示します。
  • 06単一バイナリとして提供され、結果をターミナルに表示します。

ユースケース

  • ホスト上で直近数秒間に発生した、最も遅いリクエストを特定する。
  • Redisなどのリモートサービスとの通信で、レイテンシがカーネル、ネットワーク、アプリケーションのどこで発生しているかを診断する。
  • HTTPサービスで帯域幅が急増した際に、原因となっているIPやリクエストを特定する。
  • 特定のコンテナ宛ての通信に絞り込み、コンテナのワークロードをトラブルシューティングする。

クイックスタート

  1. 1

    リリースページからamd64またはarm64用の静的バイナリをダウンロードします

  2. 2

    ダウンロードしたアーカイブを展開します

    tar xvf kyanos_vx.x.x_linux_amd64.tar.gz
  3. 3

    サポートされているすべてのプロトコルをキャプチャするには、root権限でkyanosを実行します

    sudo ./kyanos watch

使う前に知っておきたいこと

  • eBPFに依存し、カーネル3.10.0-957または4.14以降が必要なため、Linuxのみ対応しています。
  • 実行にはroot権限が必要です。

収録されている特集

トピック

よくある質問

kyanos とは?
HTTP、Redis、MySQL、Kafka、DNSの通信をキャプチャし、カーネル内で遅延が発生している箇所を可視化するeBPFベースのネットワーク解析CLI。 Kyanosは、eBPFを利用したネットワーク問題の解析ツールです。HTTP、Redis、MySQL、Kafka、MongoDB、RocketMQ、DNSなどのプロトコルのリクエストとレスポンスをキャプチャでき、別途パケットをキャプチャしてオフラインで解析する必要はありません。
kyanos は無料で使えますか?ライセンスは?
kyanos は Apache-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
kyanos は今もメンテナンスされていますか?
活発にメンテナンス中。kyanos の最終コミットは 2026年10月24日 です。
kyanos は何に使えますか?
ホスト上で直近数秒間に発生した、最も遅いリクエストを特定する。 Redisなどのリモートサービスとの通信で、レイテンシがカーネル、ネットワーク、アプリケーションのどこで発生しているかを診断する。 HTTPサービスで帯域幅が急増した際に、原因となっているIPやリクエストを特定する。 特定のコンテナ宛ての通信に絞り込み、コンテナのワークロードをトラブルシューティングする。
kyanos のインストール方法は?
リリースページからamd64またはarm64用の静的バイナリをダウンロードします ダウンロードしたアーカイブを展開します: tar xvf kyanos_vx.x.x_linux_amd64.tar.gz サポートされているすべてのプロトコルをキャプチャするには、root権限でkyanosを実行します: sudo ./kyanos watch
kyanos はどこで入手できますか?
ソースコードとインストール手順は GitHub にあります:https://github.com/hengyoush/kyanos

概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。

関連プロジェクト