はじめに
IBM Instana 1.0.312から、LLM Observabilityのアーキテクチャが簡素化されました。
従来、Metricsの送信には別サービスのOTel Data Collector for GenAI (ODCG)が必要でしたが、これが不要になりました。
変更点:
- 旧:Traces/Logs → Instana、Metrics → ODCG → Instana(別経路)
- 新:Traces/Logs/Metrics → Instana(同じ経路)
この記事では、新しいアーキテクチャの構成方法と、各構成要素の役割を解説します。
アーキテクチャの変更点
従来の構成(ODCG使用)
Traces/Logsの流れ:
OpenLLMetry → Instana Backend(直接)
または
OpenLLMetry → Instana Agent → Instana Backend
Metricsの流れ:
OpenLLMetry → ODCG(別サービス) → Instana Backend(直接)
または
OpenLLMetry → ODCG(別サービス) → Instana Agent → Instana Backend
新しい構成(ODCG不要)
Traces/Logs/Metricsの流れ(統一):
OpenLLMetry → Instana Backend(直接・推奨)
または
OpenLLMetry → Instana Agent → Instana Backend
変更のポイント:
- ODCGという別サービスが不要になった
- Traces/Logs/Metricsが同じ経路を使うようになった(経路の統一)
- OpenLLMetryは引き続き必須(計測の主体)
- Instana Agentは任意(直接送信も、Agent経由も選択可能)
各構成要素の役割
各構成要素の役割
旧構成の図:
新構成の図:
重要な3つの事実
1. OpenLLMetryは依然として必須
役割:
- GenAIアプリケーション内で動作
- LLM呼び出しを自動検知・計測
- トークン数、コスト、レイテンシを捕捉
- OpenTelemetry形式でデータを生成
状態: 変更なし - 引き続き必須
重要: OpenLLMetryがなければ、GenAI操作の可視化は不可能です。
2. ODCGは中継処理のみを担当していた
役割:
- OpenLLMetryとInstana間の中継点
- データの集約・転送
- 価格情報の管理(prices.properties)
状態: 非推奨 - 削除推奨
なぜ不要になったか:
- Instana Backendが直接GenAIデータを処理可能に
- 価格情報をInstana UIで管理可能に
- 単一エンドポイントでトレースとメトリクスを受信
- 追加の中継点が不要に
3. Instana Agentは任意の構成要素
役割:
- オプションのデータ集約点
- 複数アプリからのデータを一箇所に集約
- ネットワーク最適化
- 既存のInstana監視基盤との統合
状態: 継続使用可能だが必須ではない
重要: ODCGの機能がAgentに移ったわけではありません。Agentは以前も今も「任意の構成要素」です。
変更の本質
変更されたもの
| 項目 | 旧 | 新 |
|---|---|---|
| データ経路 | OpenLLMetry → ODCG → Instana | OpenLLMetry → Instana(直接 or Agent経由) |
| 中継点 | ODCG必須 | ODCG不要 |
| エンドポイント数 | 2つ(トレース用・メトリクス用) | 1つ(統合) |
| 価格管理 | ODCGのprices.properties | Instana UI |
| 設定の複雑さ | 複雑(ODCG配備・設定が必要) | シンプル(環境変数のみ) |
変更されていないもの
| 項目 | 状態 | 説明 |
|---|---|---|
| OpenLLMetry | 引き続き必須 | 計測の主体として継続使用 |
| 計測方法 | 変更なし | LLM呼び出しの自動検知 |
| 計測コード | 変更不要 | Traceloopのコードはそのまま |
| Instana Agent | 任意(以前も任意) | 使用するかは自由に選択可能 |
| 可視化機能 | 変更なし | Instana UIでの表示は同じ |
構成パターン
パターン1: エージェントレス
GenAIアプリ
↓ [OpenLLMetryが計測] ← 必須
OpenLLMetry
↓ [直接送信]
Instana Backend
特徴:
- 最もシンプル
- Instana Agent不要
- OpenLLMetryは必須
設定例:
export TRACELOOP_BASE_URL=<instana-otlp-endpoint>:443
export TRACELOOP_HEADERS="x-instana-key=<agent-key>,x-instana-host=<agent-host>"
export TRACELOOP_METRICS_ENABLED=true
export OTEL_EXPORTER_OTLP_INSECURE=false
export OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai"
パターン2: Agent経由
GenAIアプリ
↓ [OpenLLMetryが計測] ← 必須
OpenLLMetry
↓ [Agent経由]
Instana Agent
↓
Instana Backend
特徴:
- 複数アプリの集約に有効
- 既存Agent基盤を活用
- インフラとの相関分析が可能
- OpenLLMetryは必須
パターン3: 旧構成(非推奨)
GenAIアプリ
↓ [OpenLLMetryが計測]
OpenLLMetry
↓ [ODCG経由]
ODCG ← 非推奨
↓
Instana Backend
特徴:
- 削除推奨
- 複雑な構成
- 運用コスト高
- 価格更新時にODCG再配備が必要
まとめ
核心となる理解
-
OpenLLMetry = 計測の主体(必須、変更なし)
- GenAI操作を自動計測する唯一の手段
- これがなければ可視化は不可能
-
ODCG = 中継点(非推奨、削除推奨)
- 単なるデータの中継・集約処理
- Instana Backendが直接処理できるようになったため不要に
-
Instana Agent = オプションの集約点(任意、変更なし)
- 以前も今も「任意」の構成要素
- ODCGの機能が移ったわけではない
-
Instana Backend = 最終的な保存先(必須、機能強化)
- GenAIデータを直接処理可能に
- 価格管理機能を統合
変更の本質
「中継点の削除による簡素化」であり、「計測方法の変更」ではない
おわりに
InstanaのLLM Observabilityは、ODCGが不要になったことで、よりシンプルで導入しやすくなりました。
構成のポイント:
- OpenLLMetryでGenAI操作を計測
- Instana Backendへ直接送信(またはAgent経由)
- 環境変数の設定のみで完了
これからLLM監視を始める方の参考になれば嬉しいです。