# OBI — OpenTelemetry eBPF Instrumentation ## 概要 OBI(OpenTelemetry eBPF Instrumentation)は、[[eBPF]] プローブを通じてアプリケーションコードの変更なしにトレーススパンと RED メトリクスを収集する[[ゼロコード計装]]ソリューションである。Grafana Beyla の後継プロジェクトとして [[OpenTelemetry]] のサブプロジェクトに位置づけられる。Go・Rust のようなコンパイル言語でも、ソースへのトレースポイント追加を不要にする。 ## 対応範囲 **言語**: Java(JDK 8+)、.NET、Go、Python、Ruby、Node.js、C、C++、Rust の 9 言語。 **プロトコル**: HTTP/S、gRPC、gRPC-Web、JSON-RPC、MQTT、NATS、AMQP 1.0、Memcached。 **データベース**: PostgreSQL、MySQL、MSSQL、MongoDB、Redis、Couchbase。 **GenAI プロバイダ**: OpenAI、Anthropic Claude、Google Gemini、AWS Bedrock、Qwen(DashScope)。エンベディング/リランキング: Voyage AI、Cohere、Jina AI。 ## 計装機能 - 分散トレーススパンの捕捉と送信 - JSON ログへのトレースコンテキスト付与 - Kubernetes ネイティブの設定不要デプロイ - TLS/SSL トランザクションの復号なし可視化 - サービス間の自動トレースコンテキスト伝搬 ## 技術要件 - CPU: amd64、arm64 - カーネル: 5.8 以上(RHEL 系は eBPF バックポートにより 4.18 以上) - BTF(BPF Type Format)必須 - 権限: root または機能に応じた Linux ケーパビリティ デプロイ方式はバイナリアーカイブ、Kubernetes コンテナ(`otel/ebpf-instrument`、`otel/ebpf-instrument-k8s-cache`)、スタンドアロンホストの 3 形態。 ## 制約 OBI はすべての場面で言語レベル計装を代替するものではない。カスタムスパン、アプリケーション固有属性、ビジネスイベント、複雑なプロセス内テレメトリが必要な場合は、言語エージェントや手動計装を併用する。eBPF の観測点からは見えないアプリケーション固有の詳細は取得できない。 ## v0.9.0 の拡張 NATS・AMQP 1.0 対応、MSSQL プリペアドステートメント対応、GenAI 計装の拡充、TCP 接続失敗メトリクスの追加。 ## 出典 - [OBI Documentation](https://opentelemetry.io/docs/zero-code/obi/)