オブザーバビリティを簡単に実現:OpenTelemetry eBPF Instrumentationが開発者にとって画期的である理由

Observability Courtney Gannon

重要なポイント

  1. 従来のアプリケーションパフォーマンス管理の手法は時間がかかり、リスクもあります。手作業でコードを変更する必要があり、システムの中断も余儀なくされるためです。
  2. OpenTelemetry eBPF Instrumentation (OBI)を利用すれば、アプリケーションのパフォーマンスを「ゼロコード」で即座に可視化できます。データはシステムインフラから直接収集され、サービスを中断する必要もありません。
  3. OpenTelemetryによって、パフォーマンスデータの収集および活用方法を標準化できます。これにより、インサイトの獲得や複雑な環境の管理が容易になり、ベンダーロックインを回避できます。

今日の複雑なデジタル環境でアプリケーションのパフォーマンスを完全に可視化することは、まるで終わりのない戦いです。従来の手動のインストルメンテーション(計装)では、開発者がソースコードを変更し、設定を更新して、サービスを再起動しなければなりません。この作業は時間がかかるだけでなく、重大な運用リスクも招きます。特に、レガシーアプリケーション、大規模Kubernetesクラスター、コンパイル言語(Go、Rust、C++など)を実行している環境では、手動での実装にかなりの時間を要するほか、保守が技術的に難しいなど、さらに大きな課題が生じます。

OpenTelemetry eBPF Instrumentation (OBI)とは

これらの課題に対処するための効果的なソリューションが、OpenTelemetry CollectorのSplunkディストリビューション向けのOpenTelemetry eBPF Instrumentation (OBI)です。OBIは、Linuxカーネルからテレメトリデータを直接取得するように設計されたソリューションです。「ゼロコード」で実装でき、独立したプロセスで実行されます。

OBIは、eBPFを利用して、ネットワークトラフィックを監視し、分散トレースやRED (リクエスト数、エラー数、処理時間)メトリクスを自動的に生成します。カーネルレベルで動作するため、コードの変更やサービスの中断は不要です。また、オブザーバビリティの実現に役立つベースラインを提供するだけでなく、既存のOpenTelemetry SDKやエージェントとシームレスに共存するようにも設計されています。インストルメンテーション済みのアプリケーションをインテリジェントに検出することでデータの重複が回避されるため、HTTP、SQL、Redisなど、複数のプロトコルが混在する環境で監視の死角を解消するためにも最適なツールです。

オブザーバビリティ

ユーザーにとっての主なメリット

OBIの登場により、オブザーバビリティは手作業からインフラのビルトイン機能へと進化しました。このことは、いくつかの画期的なメリットをもたらします。

大規模なKubernetes環境を管理している場合でも、レガシーシステムに関するインサイトを獲得したい場合でも、OBIは、包括的なオブザーバビリティを実現するための効率的で低コストな方法を提供します。

OBIがもたらす個々のメリットに加え、OpenTelemetryの導入は、将来を見据えた、ベンダーに依存しないオブザーバビリティの実現に向けた戦略的な転換点にもなります。OpenTelemetryを中心に、トレース、メトリクス、ログを収集するための統一されたフレームワークを確立することで、ベンダーロックインのリスクを回避し、異なるバックエンドプラットフォーム間でのテレメトリデータのポータビリティを維持できます。この標準化によって、エンジニアリングチームは、さまざまな環境で同じAPIとSDKのセットを使用できるため、コラボレーションを強化するとともに、コストのかかる再インストルメンテーションを行うことなく分析ツールを変更できるようになります。これにより、データ収集の複雑な作業から解放され、データから実用的なインサイトを引き出すことに集中できます。

Kubernetes環境では、HelmからOpenTelemetry CollectorとともにOBIを簡単にインストールできます。始め方について詳しくは、こちらのドキュメントを参照してください。

このブログはこちらの英語ブログの翻訳、山村 悟史によるレビューです。

関連記事

OpenTelemetryの完全ガイド
オブザーバビリティ
14 分程度

OpenTelemetryの完全ガイド

システムの分散が進む中で組織がビジネス目標を達成し、それを上回るには、オブザーバビリティを実現する必要があります。そのためにOpenTelemetryが果たす役割について説明します。
Infrastructure as Codeとは?IaCの概要
オブザーバビリティ
12 分程度

Infrastructure as Codeとは?IaCの概要

このブログ記事では、Infrastructure as Codeの概念、そしてInfrastructure as Codeのアーキテクチャに関するメリットとリスクについて説明します。
分散トレーシングとは?
オブザーバビリティ
13 分程度

分散トレーシングとは?

カスタマーエクスペリエンスを向上させるための極めて効果的な方法は、すべてのアプリケーション、サービス、リクエストで何が起きているかを知ることです。それを可能にするのが分散トレーシングです。