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が全てダンプされます。
他に何ができるのか?
以下の画像の通りlinux OSを構成する各コンポーネントについて、広範に色んな観点で確認ができるようになっています。
