Application Load Balancer (ALB) は Simple Log Service (SLS) と統合してアクセスログを提供します。このログを使用して、ユーザーの行動を分析したり、ユーザーの地理的分布を把握したり、問題をトラブルシューティングしたりできます。
課金
ALB がログを Simple Log Service に配信すると、Simple Log Service はログストレージ、読み取りトラフィック、リクエスト数、データ処理、データ転送に対して課金します。詳細については、「Simple Log Service の課金」をご参照ください。
前提条件
アクセスログ機能を使用するには、まず Simple Log Service を有効化する必要があります。手順については、「Simple Log Service の有効化」をご参照ください。
アクセスログの作成
ALB コンソールにログインします。
上部のナビゲーションバーで、ALB インスタンスが配置されているリージョンを選択します。
インスタンス ページで、対象インスタンスの ID をクリックします。
インスタンス詳細ページで アクセスログ タブをクリックし、アクセスログ タブで アクセスログの作成 をクリックします。
アクセスログの作成 ダイアログボックスで、プロジェクト と Logstore を設定し、OK をクリックします。
パラメーター
説明
プロジェクト
Simple Log Service のリソース管理単位です。リソースの分離とアクセス制御に使用されます。
既存の Project の選択:ドロップダウンリストから既存のプロジェクトを選択します。
Project の新規作成:新しいプロジェクトの名前を入力します。
Logstore
ログデータの収集、保存、クエリを行うための Simple Log Service の単位です。
既存の Logstore の選択:ドロップダウンリストから既存の Logstore を選択します。
Logstore の新規作成:新しい Logstore の名前を入力します。プロジェクトを新規作成する場合は、Logstore も新規作成する必要があります。
サービスにリンクされたロールの作成に関する注意事項
必要な権限を持つサービスリンクロールがシステムによって自動的に作成されます。
表示されたダイアログボックスで情報を確認し、OK をクリックします。
新しい Logstore を作成すると、Simple Log Service はデフォルトでインデックスを作成し、ダッシュボードを有効にします。
既存の Logstore を選択すると、Simple Log Service は自動的にダッシュボードを有効にします。Logstore にインデックスがすでに設定されている場合、既存の構成は上書きされません。新しいインデックスを設定する場合は、Simple Log Service コンソールで構成を調整してください。
アクセスログの表示
アクセスログ タブで、保存先パス の横にあるリンクをクリックして Simple Log Service コンソールに移動し、生ログやその他の情報を表示します。
アクセスログ タブで、モニタリングセンター、アクセスセンター、または 詳細モニタリング タブをクリックし、フィルター条件を入力してメトリックをクエリします。
モジュール
メトリックの説明
モニタリングセンター
ALB インスタンスのリアルタイムモニタリングデータを表示します。メトリックには、ページビュー (PV)、リクエスト成功率、平均レイテンシー、4xx リクエスト、ステータス分布、トラフィック、P50 レイテンシー、P90 レイテンシー、P99 レイテンシー、P9999 レイテンシー、リクエスト数上位ホスト、レイテンシー上位ホスト、失敗率上位ホスト、リクエスト数上位 URL、レイテンシー上位 URL、失敗率上位 URL、リクエスト数上位バックエンド、レイテンシー上位バックエンド、失敗率上位バックエンドが含まれます。
アクセスセンター
ALB インスタンスのアクセスステータスデータを表示します。メトリックには、PV (前日比)、PV (前週比)、UV (前日比)、UV (前週比)、PV 分布、UV 分布、本日の PV、7 日間の PV、アクセス数上位 10 省、モバイルトラフィック比率、アクセス数上位 10 ホスト、アクセス数上位 10 ユーザーエージェント、アクセス数上位 IP が含まれます。
詳細モニタリング
1 秒単位のモニタリング情報を表示して、一時的なジッターによって引き起こされる異常を特定します。メトリックには、1 秒あたりのクエリ数 (QPS)、アクセスレイテンシー、アップストリームレイテンシー、成功率、リクエストトラフィック、レスポンスボディトラフィック、2xx ステータスコード、3xx ステータスコード、エラーステータスコード、アップストリーム 2xx ステータスコード、アップストリーム 3xx ステータスコード、アップストリームエラーステータスコードが含まれます。
モニタリングセンター、アクセスセンター、または 詳細モニタリング タブの右上隅にある その他のグラフ をクリックすると、[CloudLens for ALB] ページに移動し、より多くの ALB データレポートを表示できます。詳細については、「データレポートの表示」をご参照ください。
モニタリングセンター、アクセスセンター、または 詳細モニタリング タブの右上隅にある アラートルールの設定 をクリックすると、[CloudLens for ALB] ページに移動し、ALB インスタンスのアラートインシデントを表示できます。
モニタリングセンター、アクセスセンター、および 詳細モニタリング タブの右上隅で利用できるその他の機能は次のとおりです:
:SQL 拡張を有効にします。詳細については、「高性能で完全に正確なクエリと分析 (専用 SQL)」をご参照ください。Simple Log Service がアクセスログを収集した後、ログのクエリと分析、ログのダウンロード、ログの転送、ログの処理、アラートの作成ができます。詳細については、「Alibaba Cloud サービスの一般的なログ操作」をご参照ください。
カスタムヘッダーの記録
slb_headers フィールドには追加のリクエストヘッダーの名前と値が記録されるため、より完全なロギングと効果的な分析が可能になります。
デフォルトでは、アクセスログに記録できるカスタムヘッダーの最大サイズは 1 KB です。アカウントマネージャーに連絡することで、上限を 4 KB に引き上げるようリクエストできます。詳細については、「ALB が転送できるリクエストの長さの制限は何ですか?制限は調整できますか?」をご参照ください。
アクセスログ タブの 基本情報 セクションで、カスタムヘッダーの記録 をクリックします。
カスタム HTTP ヘッダーのログへの記録 ダイアログボックスで、ドロップダウンリストから ALB インスタンスに追加されているリスナーを選択します。
リスナーを作成するには、ドロップダウンリストの リスナーの作成 をクリックします。詳細については、「HTTP リスナーの追加」、「HTTPS リスナーの追加」、および「QUIC リスナーの追加」をご参照ください。
表示されたダイアログボックスで情報を確認し、OK をクリックします。
設定が完了すると、ログの
slb_headersフィールドに、以下を除くリクエスト内のすべてのヘッダーの名前と値が記録されます:# カスタムヘッダーは、次のフィールドに関する情報を記録しません host referer user-agent x-forwarded-for x-readtime x-real-ip uber-trace-id X-B3-TraceId X-B3-SpanId X-B3-ParentSpanId X-B3-Sampled
アクセスログの無効化
アクセスログ タブの 基本情報 セクションで、ログの無効化 をクリックします。
表示されたダイアログボックスで情報を確認し、OK をクリックします。
ログフィールド
フィールド | 説明 |
app_lb_id | ロードバランサーインスタンスの ID。 |
__topic__ | ログトピック。値は常に alb_layer7_access_log です。 |
body_bytes_sent | クライアントに送信された HTTP 本文のバイト数。単位:バイト。 |
client_ip | クライアントの送信元 IP アドレスを取得する機能が有効な場合、このフィールドはクライアントの実際の IP アドレスを示します。それ以外の場合は、ロードバランサーへの前のホップの IP アドレスを示します。 |
host | ドメイン名または IP アドレス。システムは、まずリクエストパラメーターからこの値を取得し、次に host ヘッダーから取得し、最終的にバックエンドサーバーの IP アドレスにフォールバックします。 |
http_host | リクエストの host ヘッダーの内容。 |
http_referer | ロードバランサーが受信した HTTP リクエストの Referer ヘッダーの内容。 |
http_user_agent | ロードバランサーが受信した HTTP リクエストの User-Agent ヘッダーの内容。 |
http_x_forwarded_for | ロードバランサーが受信した HTTP リクエストの X-Forwarded-For ヘッダーの内容。 |
http_x_real_ip | ロードバランサーが受信した HTTP リクエストの X-Real-IP ヘッダーの内容。 |
read_request_time | ロードバランサーがリクエストを読み取るのにかかる時間。単位:ミリ秒。 |
request_length | 開始行、ヘッダー、本文を含むリクエストの長さ。単位:バイト。 |
request_method | リクエストのメソッド。 |
request_time | ロードバランサーがリクエストの最初のバイトを受信してからレスポンスを返すまでの間隔。単位:秒。 |
request_uri | ロードバランサーが受信したリクエストの URI。 |
scheme | リクエストのスキーム:HTTP または HTTPS。 |
server_protocol | ロードバランサーが受信した HTTP プロトコルのバージョン (HTTP/1.0 や HTTP/1.1 など)。 |
slb_vport | ロードバランサーのリスナーポート。 |
slb_xtrace | ロードバランサーのリンクトレーシングのための呼び出しチェーンのトレース ID。 |
xtrace_type | ロードバランサーのリンクトレーシングのための X-Trace データのタイプ。Zipkin のみがサポートされています。 |
ssl_cipher | SSL 接続の確立に使用される暗号スイート (ECDHE-RSA-AES128-GCM-SHA256 など)。 |
ssl_protocol | SSL 接続の確立に使用されるプロトコル (TLSv1.2 など)。 |
status | ロードバランサーからのレスポンスのステータスコード。 |
tcpinfo_rtt | クライアントの TCP 接続を確立するのにかかった時間。単位:マイクロ秒。 |
time | ログエントリが記録された時間。時間は |
upstream_addr | バックエンドサーバーの IP アドレスとポート。 |
upstream_response_time | バックエンドサーバーとの接続を開始してからすべてのデータを受信して接続を閉じるまでの時間。単位:秒。 |
upstream_status | ロードバランサーが受信したバックエンドサーバーからのレスポンスステータスコード。 |
vip_addr | 仮想 IP アドレス。 |
write_response_time | ロードバランサーがレスポンスを書き込むのにかかる時間。単位:ミリ秒。 |
client_port | リクエストを送信するクライアントのポート。 |
slb_headers | カスタムヘッダー。このフィールドは、カスタムヘッダーを記録する機能を有効にした後にのみ使用できます。リクエストのカスタムヘッダーを保存するために使用されます。 |
よくある質問
有効化する前のログを表示できますか。
いいえ、できません。
アクセスログを有効にした後に収集されたログデータのみ表示できます。この機能が有効になる前に Simple Log Service が ALB インスタンスからデータを収集することはないため、履歴データは利用できません。