Alibaba Cloud ALB はトレース分析をサポートしています。この機能は、リクエストの送信元、経由したノード、レスポンス時間など、ALB の完全なリクエストトレースデータを提供します。このデータを使用して、ビジネス上の問題を迅速に特定し、解決できます。
背景情報
トレーシング分析は、分散アプリケーションの開発者に、完全なコールチェーンの再構築、リクエスト量の統計、トポロジーの可視化、アプリケーション依存関係の分析などのツールを提供します。これらのツールは、分散アーキテクチャにおけるパフォーマンスのボトルネックを迅速に特定し、診断するのに役立ちます。ALB はトレーシング分析をサポートしています。ALB トレーシングを有効にすると、ALB のアクセストレースは自動的に Alibaba Cloud Managed Service for OpenTelemetry に接続されます。詳細については、「Managed Service for OpenTelemetry とは」をご参照ください。
トレースデータは、単一リクエストの処理の詳細を記録し、サービス呼び出しと処理時間を含みます。
1 つのトレースは、1 つの呼び出しチェーン (Trace) に対応します。広義には、呼び出しチェーンは、トランザクションまたはワークフローが (分散) システムを通過する際の実行パスを表します。OpenTracing 標準では、トレースは複数のスパンで構成される有向非巡回グラフ (DAG) です。各スパンは、呼び出しチェーン内の名前付きの、時間指定された連続実行セグメントを表します。詳細については、「トレースとは」をご参照ください。
注意事項
-
トレーシング分析は、Standard Edition および WAF Enhanced Edition の ALB インスタンスでのみサポートされています。Basic Edition の ALB インスタンスでは、この機能はサポートされていません。
-
トレーシング分析を使用する場合、Alibaba Cloud は自動的に Managed Service for OpenTelemetry と Simple Log Service をアクティブ化します。アクティブ化後、データレポート、トレースストレージ、ログサービスに対して料金が発生します。料金の詳細については、「Managed Service for OpenTelemetry の料金」および「Simple Log Service の料金」をご参照ください。
-
次の表は、ALB トレーシングが利用可能なリージョンを示しています。
エリア
リージョン
中国本土
China (Hangzhou)、China (Shanghai)、China (Shenzhen)、China (Chengdu)、China (Qingdao)、China (Beijing)、China (Zhangjiakou)、China (Ulanqab)、China (Hong Kong)、China (Guangzhou)、China (Heyuan)
アジアパシフィック
Singapore、Malaysia (Kuala Lumpur)、Japan (Tokyo)、Indonesia (Jakarta)
ヨーロッパ & アメリカ
UK (London)、Germany (Frankfurt)、US (Virginia)、US (Silicon Valley)
-
トレーシングの無効化に関する注意事項:
-
リスナーのトレーシングを無効にした後も、アクセスログは有効なままです。アクセスログが不要になった場合は、手動で無効にしてください。
-
トレーシングを使用している場合、アクセスログを無効にすると、トレーシングが利用できなくなります。慎重に操作してください。
-
ALB インスタンスのすべてのリスナーでトレーシングが無効になると、ALB は Managed Service for OpenTelemetry へのトレースデータの送信を停止します。
-
前提条件
-
ALB インスタンスと、その ALB 用のサーバーグループが作成されている必要があります。 詳細については、「ALB インスタンスの作成と管理」および「サーバーグループの作成と管理」をご参照ください。
-
ALB インスタンスのリスナーを設定し、サーバーグループに関連付けました。詳細については、「HTTP リスナーを追加する」をご参照ください。
-
バックエンドサーバーとして ECS インスタンスを作成して Nginx をデプロイし、その ECS インスタンスをサーバーグループに追加しました。
-
ECS インスタンスを作成するには、「インスタンスの購入」をご参照ください。
-
Nginx のデプロイについては、「LNMP 環境の手動デプロイ (CentOS 7)」をご参照ください。
-
サーバーグループへのバックエンドサーバーの追加については、「バックエンドサーバーの追加または削除」をご参照ください。
このトピックでは、以下の例を使用して、ECS インスタンスにテストアプリケーションをデプロイします:
-
ステップ 1:トレーシングの有効化
- ALBコンソールにログインします。
-
上部メニューで、ALB インスタンスのリージョンを選択します。
-
インスタンス ページで、対象の ALB インスタンスを見つけて、インスタンス ID をクリックします。
-
リスナー タブをクリックし、対象のリスナーを見つけて、リスナー ID をクリックします。
-
リスナーの詳細 タブで、Managed Service for OpenTelemetry セクションに移動し、Managed Service for OpenTelemetry スイッチをオンにします。
-
Managed Service for OpenTelemetry を有効にする ダイアログボックスで、必要に応じてパラメータを設定します。
設定項目
説明
[サービスの有効化]
説明Managed Service for OpenTelemetry を既にアクティブ化している場合は、この手順をスキップしてください。
[Managed Service for OpenTelemetry を有効化する]
サービス規約を確認し、アクティブ化を承認してください。
[アクセスログの作成]
説明アクセスログを既に作成している場合は、この手順をスキップしてください。
[プロジェクト]
Simple Log Service のリソース管理単位であり、リソースの分離と制御に使用されます。
既存の Project の選択:ドロップダウンリストから既存のプロジェクトを選択します。
Project の新規作成:新しいプロジェクトの名前を入力します。
[Logstore]
Simple Log Service におけるログデータの収集、保存、クエリのための単位です。
既存の Logstore の選択:ドロップダウンリストから既存の Logstore を選択します。
Logstore の新規作成:新しい Logstore の名前を入力します。プロジェクトを新規作成する場合は、Logstore も新規作成する必要があります。
[Managed Service for OpenTelemetry の設定]
[Managed Service for OpenTelemetry のタイプ]
トレーシングタイプを選択します。
[Zipkin(B3)] のみがサポートされています。このオプションは、Alibaba Cloud Managed Service for OpenTelemetry がアクティブ化され、トレーシングが有効になっていることを示します。
[サンプリングレート]
有効値:1 ~ 100。デフォルト値:100。
サンプリングレートを調整して、レポートされるトレースデータの量を制御します。
[サービスにリンクされたロールの作成に関する注意事項]
この機能を有効にするために、システムが自動的にサービスリンクロールを作成します。
ステップ 2:トレースデータの表示
-
任意のクライアント端末から、クライアントとサーバー間の疎通確認を行います。詳細については、「ALB を使用した IPv4 負荷分散の迅速な実装」および「ALB を使用した IPv6 負荷分散の迅速な実装」をご参照ください。
- ALBコンソールにログインします。
-
インスタンス ページで、対象の ALB インスタンスを見つけて、インスタンス ID をクリックします。
-
リスナー タブをクリックし、対象のリスナーを見つけて、リスナー ID をクリックします。
-
リスナーの詳細 タブで、Managed Service for OpenTelemetry セクションに移動し、呼び出しチェーン分析 の横にある 表示 をクリックして、Managed Service for OpenTelemetry コンソールに移動します。
呼び出しチェーン分析 ページで、ALB からバックエンドアプリケーションへの呼び出しのトレースデータを分析します。トレースリスト、呼び出し回数、エンドツーエンドの集計データを表示できます。詳細については、「トレース分析」をご参照ください。
ページ上部のクエリバーには、
attributes.app_lb_idおよびattributes.slb_vportフィルターが自動的に含まれます。左側のクイックフィルターパネルでは、ステータス、期間範囲、アプリケーション名でフィルタリングできます。