Ubuntu安装BCC

Ubuntu安装BCC

教程

官方文档

安装

这里官方文档中首先讲到的是二进制文件的安装,直接通过apt进行安装

sudo apt-get install bpfcc-tools linux-headers-$(uname -r)

这里安装好后,对于/usr/sbin目录下的部分工具,使用时会报编译错误,无法编译BPF代码

对于低版本的类型的Ubuntu系统,通过以下方式,可以实现安装,并成功使用

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 4052245BD4284CDD
echo "deb https://repo.iovisor.org/apt/$(lsb_release -cs) $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/iovisor.list
sudo apt-get update
sudo apt-get install bcc-tools libbcc-examples linux-headers-$(uname -r)

具体的还需要自行尝试。

我使用的是最新的Ubuntu 20.04版本,上述方法中的lsb_release -cs在网站中是404,不能安装。

在官方的GitHub issue里对此提到,推荐的安装方法是通过源码进行编译安装,因为repo.iovisor.org上的版本老旧,且存在bug。

Ubuntu安装BCC

最后安装官方教程采用源码安装

首先安装依赖

# Trusty (14.04 LTS) and older
VER=trusty
echo "deb http://llvm.org/apt/$VER/ llvm-toolchain-$VER-3.7 main
deb-src http://llvm.org/apt/$VER/ llvm-toolchain-$VER-3.7 main" |   sudo tee /etc/apt/sources.list.d/llvm.list
wget -O - http://llvm.org/apt/llvm-snapshot.gpg.key | sudo apt-key add -
sudo apt-get update

# For Bionic (18.04 LTS)
sudo apt-get -y install bison build-essential cmake flex git libedit-dev   libllvm6.0 llvm-6.0-dev libclang-6.0-dev python zlib1g-dev libelf-dev libfl-dev

# For Eoan (19.10) or Focal (20.04.1 LTS)
sudo apt install -y bison build-essential cmake flex git libedit-dev   libllvm7 llvm-7-dev libclang-7-dev python zlib1g-dev libelf-dev libfl-dev

# For other versions
sudo apt-get -y install bison build-essential cmake flex git libedit-dev   libllvm3.7 llvm-3.7-dev libclang-3.7-dev python zlib1g-dev libelf-dev

# For Lua support
sudo apt-get -y install luajit luajit-5.1-dev

之后从GitHub克隆代码,进行安装

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

安装成功后,在/usr/share/bcc/tools下可以看到官方提供的工具,这里我挑选的是tcptop进行测试

直接输入tcptop运行

Ubuntu安装BCC

看到抓取到了tcp报文,即成功完成安装

Ubuntu安装BCC

上一篇:进程间通讯-共享内存


下一篇:webapi返回不同格式的数据