OpenTelemetryを使用して、トレースデータをネイティブモードでSimple Log Serviceに収集できます。 他のトレースシステムを使用して、トレースデータをSimple Log Serviceに収集することもできます。 このトピックでは、トレースデータを収集するためにSimple Log Serviceが提供する収集方法について説明します。
収集方法
Simple Log Serviceは、トレースデータを収集するために次の方法を提供します。
OpenTelemetry、Jaeger、Zipkin、およびOpenCensusを使用して、トレースデータをSimple Log Serviceに直接収集します。 Jaegerを使用する場合、HTTPSおよびgRPC通信プロトコルのみがサポートされます。
OpenTelemetry Collectorを使用して、OpenTelemetry、Jaeger、Zipkin、OpenCensus、Amazon Web Services (AWS) X-Ray、Splunk SignalFxプラットフォームからのトレースデータをSimple Log Serviceに転送します。 Jaegerからトレースデータを転送する場合、すべての通信プロトコルがサポートされます。
Logtailを使用して、トレースデータをSkyWalkingからSimple Log Serviceに転送します。
カスタムプロトコルを使用して、トレースデータをSimple Log Serviceに収集します。 その後、Simple Log Serviceのデータ変換機能を使用して、トレースデータの形式をOpenTelemetry形式に変換できます。
収集方法を選択する手順
トレースデータをSimple Log Serviceに収集する方法を選択する前に、トレースデータが生成されていることを確認し、次の手順に注意してください。
OpenTelemetryを使用してトレースデータをSimple Log Serviceに収集することを推奨します。
OpenTelemetryは、トレースデータの収集に使用される世界的に認められた標準です。 複数のオープンソースソフトウェアは、OpenTelemetry標準に準拠しています。 これにより、必要なすべてのコンポーネントと接続できます。
オープンソースシステムと接続するには、OpenTracingおよびOpenTelemetry標準を使用する必要があります。
オープンソース標準を使用しない場合は、トレースシステムでトレースデータを収集するすべてのサービスに同じ収集方法を使用することをお勧めします。 そうしないと、収集されたトレースデータが不完全になる可能性があります。
収集方法の詳細
次の表に、計測の自動化レベルと収集の複雑さに基づいて、Simple Log Serviceでサポートされている収集方法を示します。 表には、OpenTelemetry、SkyWalking、Jaeger、Zipkinの一般的に使用されるトレースプラットフォームのみが記載されています。
異なるプログラミング言語でのトレースデータの収集方法
自動または半自動計測を使用して、トレースデータをSimple Log Serviceに収集できます。
自動計測: 開発者はフレームワークやコードを変更する必要はありません。 トレースシステムは自動的に計測を設定します。
半自動インストルメンテーション: 開発者は依存関係を手動でインストールするか、コードを変更する必要があります。
プラットフォーム
収集方法
自動化レベル
コレクションの複雑さ
Java
自動
低い
自動
中
自動
中
Golang
半自動
低い
半自動
低い
Python
半自動
中
半自動
中
NodeJS
半自動
中
半自動
中
PHP
Manual
比較的高い
C++
Manual
比較的高い
C#
半自動
中
半自動
中
自動
中
さび
Manual
比較的高い
Manual
比較的高い
Ruby
Manual
比較的高い
Manual
比較的高い
Android
非該当
低い
iOS
非該当
低い
ウェブ
非該当
低い
ミニプログラム
非該当
低い
異なるトレースプラットフォーム上でのトレースデータの収集方法
トレースプラットフォーム
収集方法
コレクションの複雑さ
OpenTelemetry
低い
中
Jaeger
低い
中
ジプキン
低い
中
SkyWalking
中
OpenCensus
中
AWS X-Ray
高い
Splunk SignalFx
高い
シナリオ
トレースシステムを構築するBuild a trace system
システムが初めてトレースアプリケーションに接続するときは、OpenTelemetryを使用してトレースデータをSimple Log Serviceにアップロードすることを推奨します。 OpenTelemetryベースの収集方法が特定のプログラミング言語のデータに対して使用できない場合、またはその方法が要件を満たしていない場合は、OpenTracingまたはOpenCensusベースの収集方法を使用できます。 たとえば、JaegerとZipkinを使用してトレースデータを収集できます。
既存のトレースシステムのアップグレード
現在のシステムでトレース機能を使用している場合は、ビジネス要件に基づいて収集方法を選択します。
トレースシステムは安定して実行されています。
トレースシステムのトレースデータをOpenTelemetry Collectorにアップロードできる場合は、OpenTelemetry Collectorを使用してトレースデータをSimple Log Serviceに転送できます。
トレースシステムがカスタムプロトコル、またはOpenTelemetryまたはOpenTracingプロトコル以外のプロトコルを使用している場合は、トレースデータをファイルに書き込むことができます。 次に、Logtailを使用してファイルをSimple Log Serviceにアップロードし、データ変換機能を使用してデータ形式をOpenTelemetry形式に変換できます。
トレースシステムがビジネス要件を満たしていないか、トレースシステムをアップグレードする必要があります。
トレースシステムがOpenTracingまたはOpenCensusプロトコルを使用している場合、トレースデータをスムーズに移行できます。 トレースシステムからOpenTelemetry Collectorにトレースデータをアップロードし、OpenTelemetry Collectorを使用してトレースデータをSimple Log Serviceに転送する必要があります。 このプロセス中、元のプロトコルは徐々にOpenTelemetryプロトコルに置き換えられます。 次に、OpenTelemetryプロトコルを使用して、トレースデータをSimple Log Serviceに収集できます。
トレースシステムがOpenTracingまたはOpenCensusプロトコル以外の別のプロトコルを使用する場合は、プロトコルを直接置き換える必要があります。 さもなければ、トレースデータは置換プロセス中に不完全であるかもしれない。
オンプレミストレースシステムでのワークロードの展開
データセンターにワークロードをデプロイし、一部のゲートウェイのみがインターネットまたはExpress connect回線に接続する場合は、ゲートウェイにOpenTelemetry Collectorをデプロイできます。 次に、他のマシンからゲートウェイにトレースデータを送信し、OpenTelemetry Collectorを使用してトレースデータをSimple Log Serviceに転送できます。
トレースデモ
Simple Log Serviceは、さまざまなプログラミング言語でトレースデータを収集する方法に関するデモを提供します。 詳細については、「トレースデモ」をご参照ください。