このトピックでは、API Gateway コンソールでトレーシング分析を設定し、Alibaba Cloud のトレーシング分析プラットフォームにログをアップロードする方法について説明します。トレーシング分析は、コールトレースの復元、リクエスト量の統計、トポロジーマップ、アプリケーション依存関係分析などのツールを提供し、開発と診断の効率向上に役立ちます。トレーシング分析プラットフォームへのログアップロードは、専用インスタンスでのみ利用可能です。
前提条件
API Gateway の専用インスタンスが使用されていること。
トレーシング分析が有効化されていること。
Simple Log Service が有効化されていること。
トレーシング分析への権限付与
トレーシング分析コンソールにログインします。
[概要] ページで [今すぐ承認] をクリックして、トレーシング分析に Simple Log Service データの読み取りと書き込みの権限を付与します。
[クラウドリソースアクセス承認] ページで、必要な権限を選択し、[承認ポリシーの確認] をクリックします。
承認後、左側のナビゲーションペインから [概要] ページに移動します。[アクセスプロセス] セクションで、[アクセスポイント情報を表示] をクリックします。アクセスポイント情報ページで、[トークンを表示] をオンにし、[クライアント側の収集ツール] として Jaeger を選択します。その後、[HTTP 経由でのデータレポート] セクションでエンドポイントアドレスを見つけて保存できます。
API Gateway でのトレーシング分析の設定
API Gateway コンソールにログインします。
左側のナビゲーションペインで、[API 管理] > [API グループ] を選択します。[API グループ] リストで、API グループをクリックして [グループ詳細] ページを開きます。[グループ詳細] ページで、次のパラメーターを設定します。
トレースフィールドの位置:トレースフィールドの場所を指定します。有効な値は Header と Query です。
トレーシングフィールド名:トレース対象フィールドの名前を指定します。
トレース対象フィールドはクライアントが生成します。API Gateway は、トレース対象フィールドをバックエンドサービスに渡し、CustomTraceId フィールドに記録します。API Gateway は、トレース対象フィールドの値をトレース ID として使用し、トレーシング分析にログを報告します。トレース対象フィールドの値は、標準の TraceId 形式 (16 ビットまたは 32 ビットの 16 進数) である必要があります。
クライアントがトレース対象フィールドを生成しない場合、またはフィールド値が有効な形式でない場合、API Gateway はランダムなトレース ID を生成してトレーシング分析にログを報告します。
EagleEye 関連のヘッダー (Eagleeye-Rpcid、Eagleeye-Traceid、Eagleeye-Sampled) のパススルーまたは生成:このオプションを選択すると、API Gateway はクライアントからの EagleEye 関連のヘッダーをバックエンドサービスに渡します。クライアントがこれらのヘッダーを送信しない場合、API Gateway はそれらを生成してバックエンドサービスに渡します。(この機能は、サーバーレスインスタンスおよび専用インスタンスで利用可能です)。
B3 関連のヘッダー (X-B3-traceid、X-B3-Parentspanid、X-B3-Spanid、X-B3-Sampled) のパススルーまたは生成:このオプションを選択すると、API Gateway はクライアントからの B3 関連のヘッダーをバックエンドサービスに渡します。クライアントがこれらのヘッダーを送信しない場合、API Gateway はそれらを生成してバックエンドサービスに渡します。(この機能は、サーバーレスインスタンスおよび専用インスタンスで利用可能です)。
Alibaba Cloud トレーシング分析へのトレースログのアップロード (専用インスタンスのみ):
アプリ名:トレーシング分析を設定するアプリケーションの名前を指定します。
エンドポイント:「トレーシング分析への権限付与」のステップ 4 で取得したエンドポイントアドレスを入力します。サービスが同じリージョンにある場合は、パフォーマンス向上のため、内部ネットワークのエンドポイントを使用することを推奨します。
ログサンプリング戦略:要件に合わせてオプションを選択します。有効な値:すべてアップロード、パーセンテージでアップロード、毎秒固定数アップロード。
API Gateway コンソールでトレーシング分析を設定した後、トレーシング分析コンソールでリクエストトレースを表示できます。詳細については、「API コールの詳細表示」をご参照ください。