Sentry vs OpenTelemetry: どちらか一... ノート

Sentry vs OpenTelemetry: どちらか一方を選ぶ必要はありません

既存のOpenTelemetryバックエンドとSentryを統合するには、OTLPエクスポーターをSentryのエンドポイントに向けるように設定します。このプロセスでは最小限の変更で済み、既存のインストルメンテーションを書き直す必要がありません。Webアプリケーションの場合、ブラウザコンテキストをキャプチャするために、フロントエンドにSentry SDKを追加することが推奨されます。これにより、ユーザーインタラクションからバックエンドオペレーションまでのトレースを統一的に表示できます。OpenTelemetryはトレース、ログ、メトリクスをサポートしていますが、Sentryは現在、OTLP経由でトレースとログのみを取り込みます。重要なのは、トレースリンキングをOTLPエクスポートから分離することです。トレースリンキングは、フロントエンドとバックエンドのリクエスト全体で連続した分散トレースを保証します。SentryのフロントエンドSDKは、W3Cのtraceparentヘッダーを伝播することでこれを処理します。バックエンドのOTLPイベントをどこに送信するかという決定は別です。Sentryに直接送信することも、OpenTelemetry Collector経由で送信することもできます。直接OTLPエクスポートは、単一バックエンドプロジェクトにとって最も簡単です。Collectorフォワーディングは、複数のサービスに対して集中処理とルーティングを提供します。デモアーキテクチャは、Sentry SDKを備えたReactフロントエンド、OpenTelemetryを使用したFastAPIバックエンド、およびOpenTelemetry Collectorを示しています。バックエンドは、手動スパンやログを含む既存のOpenTelemetry設定を維持します。その後、CollectorはこれらのOTLPイベントをSentryに転送します。クロスオリジンリクエストに対してトレース伝播ヘッダーを許可するために、バックエンドでCORSが正しく設定されていることを確認してください。
CdXz5zHNQW_atW5fkJcmM.webp