トレースをSplunk APMに送信する 🔗
サービスからAPMにトレースを送信することで、APMのエクスペリエンスをセットアップします。
前提条件 🔗
セットアッププロセスを開始する前に、以下を考慮してください:
Splunk Observability Cloudの複数のコンポーネントを使用しており、トレースに加えてホストメトリクス、ログ、その他のアプリケーションデータを収集したいという場合は、Splunk Observability Cloud にデータを取り込む の手順に従ってSplunk Observability Cloudにデータを取り込みます。その後、このトピックの データがSplunk APMに取り込まれていることを確認する を参照して、データが期待どおりにSplunk APMに取り込まれていることを確認してください。
OpenTelemetry Collector Contribプロジェクト(アップストリームコレクターとしても知られています)をすでにデプロイしている場合は、既存のデプロイメントを使用してトレースをSplunk APMに送信できます。詳細は OpenTelemetry Collector Contribプロジェクトを使用してテレメトリを送信します。 を参照してください。ただし、Splunk Distribution of OpenTelemetry Collectorを使用すると、Splunk Observability Cloud用にカスタマイズされた、より手厚いサポートのエクスペリエンスが提供されることに注意してください。
Splunk APMでガイド付きセットアップウィザードを使用して、Splunk Distribution of OpenTelemetry Collectorを使ったSplunk APMへのトレース送信を開始したい場合は、以下のセクションの手順に従ってください。ガイド付きプロセスを使わずに自分でセットアップする場合は、Splunk Distribution of the OpenTelemetry Collector の利用開始 を参照してください。
注釈
スパンにスパンタグを追加する
OpenTelemetryでは「属性」として知られているスパンタグは、トラブルシューティングや分析を可能にするために、スパンに重要なコンテキストを追加します。スパンへのタグの追加は、インストルメンテーションの最中か、複数サービスからのデータの集約に使用しているOpenTelemetry CollectorのYAML設定ファイルに追加されたプロセッサーの中で行います。詳細は OpenTelemetryでタグや属性を使用する を参照してください。
deployment.environment
タグは、Splunk APMをデプロイ環境でフィルタリングできるため、特に便利です。環境タグの詳細については、Splunk APMでデプロイ環境を設定する を参照してください。
スパンにスパンタグを追加する方法については Splunk APMでスパンタグを使ってスパンにコンテキストを追加する を参照してください。
Splunk APMを設定しているだけで、Splunk Distribution of OpenTelemetry Collectorとガイド付きセットアップウィザードを使用したいという場合は、次の順序で、手順に従ってください:
ホストにSplunk Distribution of the OpenTelemetry Collectorをデプロイする 🔗
トレースをSplunk APMに送信するには、まずアプリケーションを実行しているホストにSplunk Distribution of OpenTelemetry Collectorをデプロイします。Splunk Observability Cloudでは、Kubernetes、Linux、Windows用のOpenTelemetry Collectorディストリビューションを提供しています。これらのディストリビューションは、ホストからのデータ収集とSplunk Observability Cloudへのデータ転送を統合します。
注釈
Splunk Distribution of OpenTelemetry Collectorのメリット
Splunk Distribution of OpenTelemetry Collectorのインストールは必須ではありませんが、インストールすると以下のメリットが得られます:
このコレクターは、アプリケーションが実行されているインフラストラクチャに関連するスパンメタデータを追加できます。
認証の詳細情報を指定できる単一の設定ポイントを確立します。
カスタムタグとカスタム処理をスパンに追加する単一の設定ポイントを確立します。
多くのソースからスパンをまとめてバッチ処理することができます。スパンをバッチ処理することで、バックエンドの負荷を軽減します。
Splunk Distribution of OpenTelemetry Collectorをホストにデプロイするには、以下の手順に従います:
Splunk Observability Cloudにログインします。
左のナビゲーションメニューで、
を選択します。Available integrations タブに移動するか、Deployed integrations タブで Add Integration を選択します。
Collectorのセットアップウィザードを選択し、ホストに応じた指示に従います。
Kubernetes、Linux、WindowsのホストへのSplunk Distribution of the OpenTelemetry Collectorのデプロイについては、以下の表を参照してください:
ホストタイプ |
コレクター |
ドキュメント |
---|---|---|
Kubernetes |
Splunk Distribution of OpenTelemetry Collector for Kubernetes |
|
Linux |
Splunk Distribution of OpenTelemetry Collector for Linux |
|
Windows |
Splunk Distribution of OpenTelemetry Collector for Windows |
アプリケーションとサービスをインストルメントして、Splunk APMにスパンを取り込む 🔗
Splunk Observability Cloudが提供する自動インストルメンテーションライブラリを使用して、サポートされているプログラミング言語でサービスをインストルメントします。最高レベルのサポートを得るには、前のステップでデプロイしたOpenTelemetry Collectorにアプリケーションからのスパンを送信します。
サービスをインストルメントするには、サービスが稼働しているホストまたはKubernetesクラスターにデプロイされたOpenTelemetry Collectorに、サービスからスパンを送信します。OpenTelemetry Collectorのエンドポイントの指定方法は、インストルメントする言語によって異なります。
以下のテーブルを参照して、各アプリケーションを実行している言語のインストルメンテーション手順に従ってください。
言語 |
利用可能なインストルメンテーション |
ドキュメント |
---|---|---|
Java |
Splunk Distribution of OpenTelemetry Java |
|
.NET |
Splunk Distribution of OpenTelemetry .NET |
Splunk Observability Cloud (OpenTelemetry) 用 .NET アプリケーションのインストルメンテーション |
Node.js |
Splunk Distribution of OpenTelemetry JS |
Splunk Observability Cloud に Node.js アプリケーションをインストルメンテーションする |
Go |
Splunk Distribution of OpenTelemetry Go |
|
Python |
Splunk Distribution of OpenTelemetry Python |
|
Ruby |
Ruby用OpenTelemetryインストルメンテーション |
Splunk Observability Cloud (OpenTelemetry) 用に Ruby アプリケーションをインストルメンテーションする |
PHP |
PHP用OpenTelemetryインストルメンテーション |
アプリケーションのインストルメンテーションが完了したら、データが入ってきていることを確認する準備が整います。
データがSplunk APMに取り込まれていることを確認する 🔗
アプリケーションをインストルメントしたら、Splunk Observability Cloudが受信スパンを処理するのを待ちます。その後、ナビゲーションメニューで APM を選択し、アプリケーションデータがAPMのランディングページに入り始めていることを確認します。
データがAPMに期待通りに表示されない場合は、インストルメンテーションのトラブルシューティング を参照してください。
次のステップ 🔗
APMにデータが入ってくれば、調査を開始できます。Splunk APMを使ってできること を参照してください。