eBPFのフロントエンドツールであるBCCをインストールしたので備忘録
環境
Ubuntu 22.04 server (full install)
カーネルバージョン:5.15.0-101-generic
BCCと依存関係のあるライブラリをインストール
# For Jammy (22.04) sudo apt install -y zip bison build-essential cmake flex git libedit-dev \ libllvm14 llvm-14-dev libclang-14-dev python3 zlib1g-dev libelf-dev libfl-dev python3-setuptools \ liblzma-dev libdebuginfod-dev arping netperf iperf
BCCのインストールとコンパイル
git clone https://github.com/iovisor/bcc.git mkdir bcc/build; cd bcc/build cmake .. make sudo make install cmake -DPYTHON_CMD=python3 .. # build python3 binding pushd src/python/ make sudo make install popd
exampleの実行
cd ~/bcc/examples
$ sudo python3 hello_world.py
実行結果
b' <...>-3632 [002] d...1 1136.279260: bpf_trace_printk: Hello, World!'
b''
b' node-3632 [002] d...1 1136.285979: bpf_trace_printk: Hello, World!'
b''
b' node-3632 [002] d...1 1136.304155: bpf_trace_printk: Hello, World!'
b''
b' cpuUsage.sh-11298 [001] d...1 1136.313026: bpf_trace_printk: Hello, World!'
b''
b' cpuUsage.sh-11298 [001] d...1 1136.321563: bpf_trace_printk: Hello, World!'
b''
b' cpuUsage.sh-11298 [001] d...1 1136.324960: bpf_trace_printk: Hello, World!'
b''
b' cpuUsage.sh-11298 [001] d...1 1136.328242: bpf_trace_printk: Hello, World!'
b''
b' cpuUsage.sh-11298 [001] d...1 1136.331308: bpf_trace_printk: Hello, World!'
b''
b' cpuUsage.sh-11298 [001] d...1 1136.334393: bpf_trace_printk: Hello, World!'
b''
b' cpuUsage.sh-11298 [000] d...1 1137.349559: bpf_trace_printk: Hello, World!'
参考
bcc/INSTALL.md at master · iovisor/bcc (github.com)