2章eBPFの「Hello World」

前章で筆者は、なぜeBPFが強力なのかについて説明しました。まだeBPFのプログラムを動かすことについて具体的なイメージが掴めていないかもしれませんが、問題ありません。本章でシンプルな「Hello World」プログラムを使って、より理解が進むようにしましょう。

ここまで読んで学んできたように、eBPFのアプリケーションを書くためにはいくつかのライブラリやフレームワークがあります。ウォームアップとして、プログラミングのしやすさという観点で、おそらく最も利用しやすいアプローチをお見せしましょう。それがBCC Pythonフレームワーク(https://github.com/iovisor/bcc)です。これにより、基本的なeBPFのプログラムを非常に簡単に書くことができます。今日、BCCは他のユーザに本番で利用してもらえるようなeBPFアプリケーションを作る際に、必ずしも採用できるアプローチではありませんが、みなさんが最初の一歩を踏み出すためには素晴らしいフレームワークです。詳しくは「5章 CO-RE、BTF、libbpf」で説明します。

[注記]

もし読者が自分でコードを試したい場合、GitHubリポジトリ(https://github.com/lizrice/learning-ebpf)のchapter2ディレクトリで確認できます。

BCCのプロジェクトはhttps://github.com/iovisor/bccで確認でき、インストールの方法はINSTALL.md( ...

Get 入門 eBPF ―Linuxカーネルの可視化と機能拡張 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.