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

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

松下 康之 - Yasuyuki Matsushita

2025年8月1日 6:00

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に対する愛を感じさせる内容となったセッションであった。

人気記事トップ10

人気記事ランキングをもっと見る

企画広告も役立つ情報バッチリ! Sponsored

ClickHouse Cloudが実現した広告運用SaaS「ATOM」のデータ基盤革新、パフォーマンスを向上しながら、運用負荷とコストを削減 11月11日 6:20 AIで開発が加速する時代、品質保証はどう変わる? Tricentisが示すAIエージェント活用の実像 11月9日 6:45 悪用までの猶予が「1分」に迫るフロンティアAI時代に開発と本番を貫く脆弱性管理が必要 10月29日 8:30 欧州CRA対応とSBOM運用。AI生成コードのOSS混入問題の対策とは ――スニペット単位で検出する「FossID」「Insignary Clarity」によるSBOM運用 9月16日 6:40 PostgreSQLからTiDBへ、稼働中SaaSで進める段階的DB移行の実践と再設計への展望 9月7日 6:30 機能安全開発におけるGoogleTestの活用を支援!「Parasoft C/C++test CT」で実現する効率化&AI連携 4月14日 6:30 【CNDW2025】Grafanaが明かす「オブザーバビリティの哲学」ー最小限の労力で実用的なインサイトを得るには 1月23日 6:30 【CNDW2025】プロダクト急増に備える基盤刷新 ーウェルスナビがECSからEKSへの移行で得た知見とは 1月15日 6:30 【CNDW2025】250環境を5人で運用、構築時間は30分に ーKINTOテクノロジーズが語るインフラ基盤組織の作り方 2025年12月18日 6:30 新たな自動化で熱視線! AIエージェントの「推論能力」を支える2つのコンポーネントとは? 2025年11月28日 6:30