OTel データコレクターからの移行

Generative AI用 OTel データコレクター(ODCG)は非推奨となりました。 Instana 個別のデータ収集コンポーネントが不要になったことで、生成AIの可観測性のセットアップが簡素化されました。 現在のお使いの環境を移行することができます。

注: この手順は、ODCGを使用している場合にのみ適用されます。 Instana を初めてご利用になる方は、 「はじめに」 をご覧ください。

ODCGが非推奨となった理由

Instana これによって、別途データ収集コンポーネントを用意することなく、生成AIアプリケーションのテレメトリデータを Instana に直接送信できるようになりました。 この簡素化により、複雑さが軽減され、設定が容易になり、 Instana のUI内で直接価格管理が可能になります。また、ODCGにリソースを割り当てる必要がないため、インフラコストも削減されます。

手順

現在ODCGをご利用の場合は、新しい直接統合方式に移行するために、以下の手順を実行してください:

  1. 新旧のアーキテクチャを比較してください:
    • 従来の方法(非推奨):
      Generative AI App → OTel Data Collector (ODCG) → Instana Agent/Backend → Instana
    • 新しいアプローチ:
      Generative AI App → Instana Agent/Backend → Instana
  2. アプリケーションの設定を更新してください

    主な変更点は、resource INSTANA_PLUGIN=genai 属性の追加と、独立したメトリクスエンドポイントの削除です。

    • エージェントモードの場合( Instana エージェント経由でデータを送信する場合)
      以下の例に、以前の設定を示します。
      export TRACELOOP_BASE_URL=<instana-agent-host>:4317
      export TRACELOOP_HEADERS="x-instana-key=<agent-key>,x-instana-host=<host>"
      export TRACELOOP_METRICS_ENDPOINT=<odcg-host>:8000
      export TRACELOOP_METRICS_ENABLED=trueexport TRACELOOP_LOGGING_ENABLED=true
      export OTEL_EXPORTER_OTLP_INSECURE=true
      新しい構成は、次の例に示されています。
      export OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai"
      export TRACELOOP_BASE_URL=<instana-agent-host>:4317
      export TRACELOOP_HEADERS="x-instana-key=<agent-key>,x-instana-host=<host>"
      export TRACELOOP_METRICS_ENABLED=trueexport TRACELOOP_LOGGING_ENABLED=true
      export OTEL_EXPORTER_OTLP_INSECURE=true
      以下の項目が変更されました。
      • OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai" 生成AIテレメトリとしてデータを処理するために追加されます

      • TRACELOOP_METRICS_ENDPOINT メトリクスがトレースと同じエンドポイントを経由するように、[is removed] が削除されます

    • エージェントレスモードの場合(データを Instana のバックエンドに直接送信する場合)

      以下の例に、以前の設定を示します。
      export TRACELOOP_BASE_URL=<instana-otlp-endpoint>:4317 
      export TRACELOOP_HEADERS="x-instana-key=<agent-key>,x-instana-host=<host>" 
      export TRACELOOP_METRICS_ENDPOINT=<odcg-host>:8000 
      export TRACELOOP_METRICS_ENABLED=true export TRACELOOP_LOGGING_ENABLED=true 
      export OTEL_EXPORTER_OTLP_INSECURE=false
      新しい構成は、次の例に示されています。
      export OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai" 
      export TRACELOOP_BASE_URL=<instana-otlp-endpoint>:4317 
      export TRACELOOP_HEADERS="x-instana-key=<agent-key>,x-instana-host=<host>" 
      export TRACELOOP_METRICS_ENABLED=true export TRACELOOP_LOGGING_ENABLED=true 
      export OTEL_EXPORTER_OTLP_INSECURE=false
      以下の項目が変更されました。
      • OTEL_RESOURCE_ATTRIBUTES="INSTANA_PLUGIN=genai" が追加され、データを生成AIテレメトリとして処理します。

      • TRACELOOP_METRICS_ENDPOINT メトリクスがトレースと同じエンドポイントを経由するように、[is removed] が削除されます

  3. 価格設定を移行してください。 モデルの価格設定は、設定ファイルではなく、 Instana のUIを通じて管理されます。

    1. 現在の価格設定を確認してください。

      OTel データコレクターを使用する場合、次のようなファイル prices.properties が表示されます。

      openai.gpt-4.input=0.03 
      openai.gpt-4.output=0.06 
      openai.gpt-3.5-turbo.input=0.0015 
      openai.gpt-3.5-turbo.output=0.002 
      anthropic.claude-2.input=0.008 
      anthropic.claude-2.output=0.024
    2. Instana のUIで価格設定を行います。

      1. Instana のUIにログインします。
      2. 「 GenAI 」 の可観測性ダッシュボードに移動します。
      3. 「構成」 タブをクリックをします。 一般的なLLMモデルの事前定義済みリストと、そのデフォルト価格が表示されます。
      4. 既存モデルの価格を更新する:
        1. リストからそのモデルを探してください。
        2. モデル名をクリックし、 「編集」 をクリックしてください
        3. 入力および出力のトークン価格を更新します。
        4. 保存 をクリックします。
      5. 新しいモデルを追加:
        1. 「モデル価格を追加」 をクリックします。
        2. プロバイダーを入力してください(例:「openai」、「anthropic」)。
        3. モデルIDを入力してください(例:「 gpt-4 」、「 claude-2 」)。
        4. プラットフォームを入力して、そのプラットフォーム固有の価格を設定してください。
        5. 入力および出力のトークン価格を入力してください(例:「bedrock」、「langchain」)。
        6. 追加 をクリックします。
        図 1. 生成AI・大規模言語モデル・価格設定・構成
        生成AI・大規模言語モデル・価格設定・構成

        ダッシュボードを活用した価格設定のメリット:

        • 変更は直ちに適用されます。再配置は不要です
        • 価格の変更に合わせて簡単に更新できます
        • すべての生成AIアプリケーションにわたる一元管理
        • 価格変更の監査証跡
        注:

        価格設定を構成した後、コスト指標がダッシュボードに表示されるようになります。 その他の指標(レイテンシ、トークン数、エラー率)は、価格設定に関わらず確認できます。

  4. 設定を更新した後、生成AIアプリケーションを再起動して変更を反映させてください。

    • Kubernetes のデプロイについては:
      kubectl rollout restart deployment/<your-app-deployment> -n <your-namespace>
    • Red Hat OpenShift のデプロイについては:
      oc rollout restart deployment/<your-app-deployment> -n <your-namespace>
    • スタンドアロンアプリケーションの場合:

      データが正しく流れていることを確認してください。 アプリケーションを再起動した後、 Instana がデータを受信していることを確認してください:

      1. トレースを確認:
        1. Go Instana の「 GenAI 」可観測性ダッシュボードへ。
        2. アプリケーションに新しいトレースが表示されていることを確認してください。
        3. トレースにLLMの呼び出し、トークン数、およびレイテンシ情報が含まれていることを確認してください。
      2. 指標を確認する:
        1. GenAI の可観測性ダッシュボードで、メトリクスビューを確認してください。

          「トークン使用量(入力および出力)」、「レイテンシ」、および「コスト」(価格設定が構成されている場合)のメトリクスが表示されるか確認してください。

      3. ログを確認してください:

        • ログ記録が有効になっている場合は、ログが正常に取り込まれていることを確認してください。
        • OpenTelemetry または Traceloop に関連するエラーメッセージがないか確認してください。
      4. アプリケーションログを確認する:

        • アプリケーションのログを確認し、 OpenTelemetry に関するエラーがないか確認してください。
        • Instana エンドポイントへの接続が成功したことを示すメッセージを確認してください。
      5. (任意): OTel データコレクターを削除します。

新しい構成でデータが正常に送信されていることを確認したら、 OTel データコレクターのデプロイメントを安全に削除できます。

トラブルシューティング

データが表示されない、コスト指標が表示されない、接続の問題など、一般的な移行に関する問題については、 「トラブルシューティング」 を参照してください。

依然として古いODCGエンドポイントに接続中

問題:移行後も、アプリケーションが OTel データコレクターへの接続を試み続けている。

この問題の解決には、以下の手順をお試しください:

  1. 設定から TRACELOOP_METRICS_ENDPOINT 削除したかどうかを確認してください。
  2. 各レベル(コンテナ、デプロイメント、 ConfigMap )で設定されている環境変数を確認してください。
  3. 変数を削除した後、アプリケーションを再起動してください。

次のステップ

移行が正常に完了したら、以下のタスクを実行できます:

  • GenAI の可観測性ダッシュボードをご覧ください:

    • トレースを確認して、LLMの対話パターンを把握する
    • メトリクスを分析して、パフォーマンスのボトルネックを特定する
    • コストを監視して、LLMの利用を最適化しましょう
  • アラートを設定する:

    • 高遅延時のアラートを設定する
    • コスト閾値通知の設定
    • エラー率を監視する
  • 設定を最適化しましょう:

    • 必要に応じて価格を見直し、調整する
    • Traceloopの計測設定を微調整する
    • カスタム属性などの高度な機能を試してみましょう
  • 以下のようにクリーンアップします。

    • まだ行っていない場合は、 OTel データコレクターのデプロイメントを削除してください
    • 新しい設定を反映するようにドキュメントを更新してください
    • 簡略化された設定をチームと共有してください