# 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/)