BCCの概要
- eBPFをバックエンドで実行する可観察ツールです
環境
$ cat /etc/os-release | head -2 NAME="Ubuntu" VERSION="20.04.1 LTS (Focal Fossa)"
How To Install
- 公式ページのインストール手順に記載のように、
apt(1)
で導入可能でした ( 2020年11月現在の内容です。将来的に手順が変わる可能性があると思います)
sudo apt-get install bpfcc-tools linux-headers-$(uname -r)
インストールが完了すると、以下のように /usr/sbin
配下に各種ツールが展開されます
$ dpkg -L bpfcc-tools | grep /usr/sbin | head -5 /usr/sbin /usr/sbin/argdist-bpfcc /usr/sbin/bashreadline-bpfcc /usr/sbin/biolatency-bpfcc /usr/sbin/biosnoop-bpfcc
試してみる
Brendan Gregg氏のホームページで紹介の tcpstates
を実行してみます。
BCCのUbnutu版は、コマンド名の末尾に -bpfcc
がつく命名ルールとなっているようです。
$ file /usr/sbin/tcpstates-bpfcc /usr/sbin/tcpstates-bpfcc: Python script, UTF-8 Unicode text executable
sudo /usr/sbin/tcpstates-bpfcc
でコマンドの実行を開始すると、
以降に発生のTCP ConnectionのState Changesが全てダンプされます。