ログ配布機能は、クラウドネイティブゲートウェイと Alibaba Cloud の Simple Log Service を使用して実装されます。クラウドネイティブゲートウェイでログ配布を有効にすると、クラウドネイティブゲートウェイのアクセスログを分析して、クライアントユーザーの行動や地理的な場所を把握し、トラブルシューティングに役立てることができます。このトピックでは、Microservices Engine (MSE) のクラウドネイティブゲートウェイでログ配布機能を有効にする方法について説明します。
前提条件
クラウドネイティブゲートウェイが作成されていること。詳細については、「クラウドネイティブゲートウェイの作成」をご参照ください。
Simple Log Service が有効化されていること。Simple Log Service を有効化するには、ご利用の Alibaba Cloud アカウントで Simple Log Service コンソールにログインしてください。Simple Log Service の詳細については、「Simple Log Service とは」をご参照ください。
MSE でログ配布機能を使用する場合、MSE コンソールではログ配布料金は発生しません。代わりに、使用したリソース量に基づいて Simple Log Service で料金が請求されます。Simple Log Service の課金の詳細については、「従量課金」をご参照ください。
ログ配布の有効化
MSE コンソールにログインします。上部のナビゲーションバーで、リージョンを選択します。
左側のナビゲーションウィンドウで、Cloud-Native Gateway > ゲートウェイリスト を選択します。[ゲートウェイ] ページで、対象ゲートウェイの ID をクリックします。
左側のナビゲーションウィンドウで、パラメーターの設定 をクリックします。オブザーバビリティパラメーター セクションで、ログシッピング の横にある
をクリックします。[ログ転送設定] ダイアログボックスで、ログシッピングの有効化 をオンにします。
説明ログ配布を有効にすると、Simple Log Service コンソールに Simple Log Service プロジェクトが自動的に作成されます。既存の Simple Log Service プロジェクトを選択することもできます。
Managed Service for OpenTelemetry を有効化すると、Managed Service for OpenTelemetry コンソールでゲートウェイのメトリックデータを表示できます。詳細については、「クラウドネイティブゲートウェイのトレース分析の有効化」をご参照ください。
ログ配布を有効にした後、[オブザーバビリティパラメーター] セクションの [プロジェクト] の右側にあるリンクをクリックします。ゲートウェイに対応する Logstore にリダイレクトされます。詳細については、「ログのクエリと分析ガイド」をご参照ください。
フィールド
次の表に、ログ配布に関連するフィールドを示します。
フィールド名 | データ型 | 説明 |
__time__ | long | ログエントリが生成された時刻。 |
cluster_id | string | 購入したゲートウェイの ID。 |
consumer | string | コンシューマー名。このフィールドは、コンシューマー認証が有効な場合に有効です。 |
custom_log | json | カスタムログ。カスタムプラグインと併用できます。 |
authority | string | リクエストの Host ヘッダー。 |
bytes_received | long | リクエストボディのサイズ。リクエストヘッダーのサイズは含まれません。 |
bytes_sent | long | レスポンスボディのサイズ。レスポンスヘッダーのサイズは含まれません。 |
downstream_local_address | string | ゲートウェイ Pod のアドレス。 |
downstream_remote_address | string | ゲートウェイに接続されているクライアントのアドレス。 |
downstream_transport_failure_reason | string | ダウンストリーム転送が失敗した理由。 |
duration | long | ゲートウェイがダウンストリームサービスから最初のバイトを受信してから、レスポンスの最後のバイトを送信するまでのリクエスト処理の合計時間。単位:ミリ秒。 |
method | string | HTTP メソッド。 |
path | string | リクエストされたパス。 |
protocol | string | HTTP プロトコルのバージョン。 |
request_id | string | リクエストの ID。ゲートウェイはリクエストごとに ID を生成し、その ID を |
requested_server_name | string | Secure Sockets Layer (SSL) 接続を確立するために使用されるサーバー名。 |
request_duration | long | ゲートウェイがダウンストリームサービスから最初のバイトを受信してから最後のバイトを受信するまでの時間。単位:ミリ秒。 |
response_code | long | 返された HTTP ステータスコード。 |
response_code_details | string | ステータスコードに関連する追加情報。例:via_upstream、route_not_found。 |
response_flags | string | リクエストが失敗した理由。 |
response_tx_duration | long | ゲートウェイがアップストリームサービスから最初のバイトを受信してから、ダウンストリームサービスに最後のバイトを送信するまでの時間。単位:ミリ秒。 |
route_name | string | ルートの名前。 |
start_time | string | リクエストの開始時刻。このパラメーターは協定世界時 (UTC) 形式で指定します。 |
trace_id | string | トレース ID。 |
upstream_cluster | string | アップストリームサービスが存在するクラスターの名前。 |
upstream_host | string | アップストリームサービスの IP アドレス。 |
upstream_local_address | string | アップストリームサービスへの接続に使用されるアドレス。 |
upstream_protocol | string | バックエンドサービスにリクエストを送信する際に使用されるプロトコル。 |
upstream_service_time | long | ゲートウェイがアップストリームサービスのネットワークにアクセスし、アップストリームサービスがリクエストを処理するのにかかる時間 (ミリ秒単位)。 |
upstream_transport_failure_reason | string | アップストリームサービスへの接続リクエストが失敗した理由。 |
user_agent | string | User-Agent HTTP リクエストヘッダー。 |
x_forwarded_for | string | HTTP リクエストヘッダーの |
ext_authz_status_code | long | カスタム認証サービスのステータスコード。 |
ext_authz_duration | long | カスタム認証サービスの RT (応答時間)。 |
リクエスト失敗の原因
リクエストの失敗原因は、ログの Response_Flag によって識別されます。このセクションでは、Response_Flag の値について説明します。
ダウンストリームサービスはクライアントを指し、アップストリームサービスはバックエンドサービスを指します。
UH:アップストリームサービスが存在するクラスターに、正常なアップストリームホストがありません。
UF:アップストリームサービスへの接続が失敗しました。
NR:指定されたリクエストに対してルートが設定されていません。
URX:アップストリーム HTTP リクエストのリトライ条件が満たされていないか、TCP 接続の最大試行回数に達したため、リクエストは拒否されました。
NC:アップストリームサービスが存在するクラスターが見つかりません。
DT:リクエストまたは接続の期間が、
max_connection_durationまたはmax_downstream_connection_durationで指定された期間を超えました。DC:ダウンストリームサービスへの接続が終了しました。
LH:ローカルサービスがヘルスチェックに合格しませんでした。
UT:アップストリームサービスのリクエストがタイムアウトしました。
LR:接続がローカルでリセットされました。
UR:アップストリームサービスがリモートでリセットされました。
UC:アップストリームサービスへの接続が終了しました。
DI:リクエスト処理が遅延しています。遅延期間はフォールトインジェクションルールで指定されます。
FI:フォールトインジェクションルールで指定されたステータスコードにより、リクエストは終了しました。
RL:429 ステータスコードを除き、リクエストは HTTP レート制限フィルターによってローカルで制限されています。
UAEX:リクエストは外部認証サービスによって拒否されました。
RLSE:レート制限サービスのエラーにより、リクエストは拒否されました。
IH:厳密にチェックされたヘッダーに無効な値が含まれているため、リクエストは拒否されました。
SI:ストリームでアイドルタイムアウトが発生しました。
DPE:ダウンストリームサービスのリクエストに対して HTTP プロトコルエラーが報告されました。
UPE:アップストリームサービスのレスポンスに対して HTTP プロトコルエラーが報告されました。
UMSDR:アップストリームサービスリクエストの処理時間が最大処理時間を超えました。
OM:リクエストは過負荷マネージャーによって終了されました。
DF:DNS 解決の失敗により、リクエストは終了しました。