連載 [第3回] :
  GrafanaCON 2025レポート

GrafanaCON 2025、インストルメンテーションツールのBeylaを解説するセッションを紹介

2025年8月1日(金)
松下 康之 - Yasuyuki Matsushita
インストルメンテーションツールのBeylaを解説するセッションを紹介。

GrafanaCON 2025から、ソフトウェアのインストルメンテーションツールであるBeylaについて解説したセッションを紹介する。プレゼンターはGrafana LabsのプロダクトマネージャーであるGoutham Veeramachaneni氏とソフトウェアエンジニアのNikola Grcevski氏だ。

左がGrcevski氏、右がVeeramachaneni氏

左がGrcevski氏、右がVeeramachaneni氏

セッションの動画は以下から参照されたい。

●動画:Auto-Instrument Everything with eBPF: Grafana Beyla + OpenTelemetry in Action | Homelabs

セッションはBeylaの概要の説明から始まった。ここではOpenTelemetryのためのインストルメンテーションツールであり、内部でeBPFを使っていると語った。どのプログラミング言語にも対応し、HTTP、HTTPS、gRPCなどのプロトコルのデータをキャプチャーできること、Kubernetes及びコンテナに対応していることを説明した。

Beylaの概要を説明。eBPFを使ってデータをキャプチャーするのが特徴

Beylaの概要を説明。eBPFを使ってデータをキャプチャーするのが特徴

Beylaによって単なるログから異常を発見するのではなく実際の数値を見ながらシステムを監視することが可能になり、同時にトレースの取得も可能になると説明。ここでは2.0のリリースによって機能強化がされたことも合わせて説明した。

より詳細なトレースが取得できることでアプリケーション内部を深く知れるように

より詳細なトレースが取得できることでアプリケーション内部を深く知れるように

またアプリケーション内部だけではなく外部との通信に関するメトリクスも取得することで、マクロ的にシステムを俯瞰することが可能になる。

ネットワークのメトリクスと組み合わせることで相関性を理解できる

ネットワークのメトリクスと組み合わせることで相関性を理解できる

そしてここでBeylaの持つeBPFの仕組みについて解説。

Beylaが使うeBPFについて解説したスライド

Beylaが使うeBPFについて解説したスライド

カーネルに変更を加えなくても安全にカーネル上で実行されるプログラムを実装できるのが特徴だ。eBPFで収集されたデータはOpenTelemetryのコレクターが収集するほか、Prometheusに集約させることもできるし、Grafana Labsが運営するクラウドサービスにも集約させられる。

ここでPythonのアプリケーションを例にとって解説を開始した。これはWebアプリケーションがHTTPでやりとりするデータをRedisに書き込むという仕組みの中で、Beylaがシステムコールをフックしてトレースデータを集めるという部分を解説している。

Pythonのアプリケーションを例にBeyla(eBPF)によるデータ収集を解説

Pythonのアプリケーションを例にBeyla(eBPF)によるデータ収集を解説

その結果としてトレーシングの結果をGrafanaのダッシュボードで可視化できることを紹介。

トレーシングデータをGrafanaで可視化

トレーシングデータをGrafanaで可視化

そしてGrafana Labsが開発したBeylaをOpenTelemetryのコミュニティに寄贈したことを説明。Grafana Labsの仕事からオープンなコミュニティに移ることで、BeylaのメインテナーはUpstreamを最優先にしてソフトウェア開発を続けることになると説明し、参加者からの拍手による賛同を得た形になった。

BeylaをOpenTelemetryコミュニティに寄贈し、これからはUpstream優先で開発を続行

BeylaをOpenTelemetryコミュニティに寄贈し、これからはUpstream優先で開発を続行

ここまで説明を行ってきたGrcevski氏と交代で、ここからはVeeramachaneni氏がプレゼンテーションを担当。ここでは自宅のホームラボに設置した機器を監視するという例を挙げて解説を続けた。

Veeramachaneni氏はネットワークとデータセンターのモデルを極小化して自宅のRapsberry Piなどでも実行できることを目指した「Awesome-Selfhosted」という名称のDIYプロジェクトを紹介。すべてをオープンソースで構成することで、市販のDIYハードウェアによって一般的なサービスを実現するというのが目的のホビープロジェクトだが、GitHubの公式サイトを眺めてみればその本気度がわかるだろう。

●Awesome-Selfhosted公式サイト:https://github.com/awesome-selfhosted/awesome-selfhosted

このプロジェクトを自宅のRapsberry Piサーバーで実装した上に、アプリケーションのインストルメンテーションを実行するというのが後半の内容だ。ブログのホスティングから購入した書籍データベースの構築まで、この後で解説が行われた。

Veeramachaneni氏のホームラボのサーバーたち

Veeramachaneni氏のホームラボのサーバーたち

やりたいことはLinuxサーバーやネットワーク、アプリケーションのオブザーバビリティだ。この文脈ではオブザーバビリティに使われるのがOpenTelemetryというのは特に不思議ではないだろう。ただしアプリケーションのインストルメンテーションについては、既存のOpenTelemetry Operatorではプログラミング言語の対応が足らない、運用が自動化できないなどの不満点があったと説明した。

OpenTelemetry OperatorとBeylaの比較

OpenTelemetry OperatorとBeylaの比較

そこでBeylaと比較を行い、Daemonsetによる実装とHelm Chartによって導入とライフサイクルの管理が可能な点がBeylaの優位点であると説明した。

Helmで導入できるBeylaを説明

Helmで導入できるBeylaを説明

そしてソフトウェアエンジニアにありがちな「買ってはみたものの読まずに積んでおく」ことがVeeramachaneni氏にもよく起こるとして「積読」を紹介。この話には会場からも笑いが起きており、エンジニアにはよく起こる状況ということだろう。そのためにISBNのバーコードを読み取るためのバーコードリーダーを購入して、その本がどこの棚にしまわれているのかを管理するアプリケーションを開発したと説明。

バーコードリーダーで書籍の積読対策を行うアプリを開発

バーコードリーダーで書籍の積読対策を行うアプリを開発

そしてそのアプリケーションのインストルメンテーションについて、Go言語の公式インストルメンテーションとBeylaによるインストルメンテーションの比較を実施した。

Beylaによるインストルメンテーションでは詳細にトレーシングが可能

Beylaによるインストルメンテーションでは詳細にトレーシングが可能

公式のインストルメンテーションではアプリケーションの動作を詳細に分析することはできず、またライブラリーの導入のためのボイラープレートが多く必要となり、ソースコードの可読性が低下してしまうことを説明。それに対してBeylaでは、追加されるコードは最低限に留まることなどを説明した。

ここではGo言語公式のインストルメンテーションとBeylaによるインストルメンテーションを比較しているが、ポイントとしてはBeylaによってボイラープレートを減らしながらも、より高度なトレーシングが可能になることに尽きるだろう。そのための題材としてVeeramachaneni氏が趣味で行っているサーバーとGoによるアプリケーション開発を選んだということだ。

最後に書籍のバーコードをスキャンして書籍データベースを更新するシンプルなアプリケーションであってもマニュアルでインストルメンテーションを行う修正をするためには数時間が必要だったと説明。その状況においてBeylaを使うことで非常に高速にインストルメンテーション自体を組み込むことが可能になる。しかし実際の業務アプリケーションにおいては、マニュアルでインストルメンテーションを行う必要も出てくるだろうとして、Beylaによるインストルメンテーションと言語ごとに存在するネイティブのインストルメンテーションは敵対する選択肢なのではなく、お互いを補完する方法論であるべきだとして「Beyla Loves Native Instrumentation」というスライドを示してセッションを終えた。

「Beyla Loves Native Instrumentation」というスライドが最後のメッセージ

「Beyla Loves Native Instrumentation」というスライドが最後のメッセージ

実際に自身が開発するコードを見せて違いを説明し、速度や機能なども合わせて解説する部分にBeylaに対する愛を感じさせる内容となったセッションであった。

著者
松下 康之 - Yasuyuki Matsushita
フリーランスライター&マーケティングスペシャリスト。DEC、マイクロソフト、アドビ、レノボなどでのマーケティング、ビジネス誌の編集委員などを経てICT関連のトピックを追うライターに。オープンソースとセキュリティが最近の興味の中心。

連載バックナンバー

運用・管理イベント
第3回

GrafanaCON 2025、インストルメンテーションツールのBeylaを解説するセッションを紹介

2025/8/1
インストルメンテーションツールのBeylaを解説するセッションを紹介。
運用・管理イベント
第2回

GrafanaCON 2025、太陽光発電による完全自走式ボートで世界一周を目指すプロジェクトのオブザーバビリティを紹介

2025/7/24
太陽光発電による完全自走式ボートで世界一周を目指すプロジェクトのオブザーバビリティを紹介する。
運用・管理イベント
第1回

GrafanaCON 2025開催、最新のGrafana関連の情報を解説。キーノートから見るリアルな運用現場に対応したAIアシスタントとは?

2025/7/15
GrafanaCON 2025開催、キーノートから見るリアルな運用現場に対応したAIアシスタントとは?

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています