tencent cloud

アクセスログの設定
最終更新日:2024-01-04 18:36:26
アクセスログの設定
最終更新日: 2024-01-04 18:36:26
CLBはレイヤー7(HTTP/HTTPS)アクセスログ(Access Log)の設定をサポートしています。アクセスログは、クライアントリクエストの把握、トラブルシューティングの補助、ユーザー行動の分析と整理などに役立ちます。現在アクセスログはCLSへの保存をサポートしており、分単位でのログレポート、オンラインマルチルール検索をサポートしています。
CLBのアクセスログは主にトラブルシューティングに用いられ、業務上の問題を迅速に特定する上で役立ちます。アクセスログの機能には、ログレポート、ログのストレージと照会があります。
ログレポートはベストエフォートサービス(Best-Effort Service)です。業務の転送を優先的に保障した後にログレポートを保障します。
ログのストレージと照会では、現在使用中のストレージサービスに基づいてサービス品質保証(SLA)を提供します。
説明:
現在CLBはレイヤー7プロトコル(HTTP/HTTPS)のみ、アクセスログをCLSに保存する設定をサポートしています。レイヤー4プロトコル(TCP/UDP/TCP SSL)ではアクセスログをCLSに保存する設定をサポートしていません。
CLBによるアクセスログのCLSへの保存設定機能は無料です。ユーザーにはCLSの料金のみがかかります。
この機能は現在一部のリージョンでのみサポートされています。実際には、コンソールのサポートリージョンに準じます。

方法1:単一のインスタンスにアクセスログを設定する

ステップ1:アクセスログのCLSへの保存の有効化

1. CLBコンソールにログインし、左側ナビゲーションバーのインスタンス管理をクリックします。
2. インスタンス管理ページで、目的のCLB IDをクリックします。
3. 基本情報ページの「アクセスログ(レイヤー7)」モジュールで、鉛筆のアイコンをクリックします。

4. ポップアップしたCLSログ保存場所の変更ダイアログボックスでログの有効化を開き、アクセスログを保存するログセットおよびログトピックを選択し、送信をクリックします。ログセットまたはログトピックを作成していない場合は、関連リソースの新規作成をクリックしてから、具体的な保存場所を選択してください。

説明:
clb_logsetログセット下の、CLBの表示があるログトピックを選択することをお勧めします。CLBの表示があるログトピックと一般のログトピックとの違いは次の点にあります。
CLBの表示があるログトピックでは、インデックスはデフォルトで自動作成されます。一般のログトピックでは手動でインデックスを作成する必要があり、作成しなければ検索がサポートされません。
CLBの表示があるログトピックはデフォルトでダッシュボードをサポートします。一般のログトピックでは手動でダッシュボードを設定する必要があります。
5. 設定完了後にログセットまたはログトピックをクリックすると、CLSコンソールの検索分析ページにリダイレクトされます。
6. (オプション)アクセスログを無効化したい場合は、再度鉛筆のアイコンをクリックし、ポップアップしたCLSログ保存場所の変更ダイアログボックスで無効化を行い、送信するだけで可能です。

ステップ2:ログトピックのインデックスの設定

説明:
単一のインスタンスに設定するアクセスログのログトピックには必ずインデックスを設定しなければならず、そうしなければログが検索できなくなります。
設定を推奨するインデックスは次のとおりです。
キー値インデックス
フィールドタイプ
区切り文字
server_addr
text
区切り文字は設定不要
server_name
text
区切り文字は設定不要
http_host
text
区切り文字は設定不要
status
long
-
vip_vpcid
long
-
具体的な操作は次のとおりです。
1. CLSコンソールにログインし、左側のナビゲーションバーでログトピックをクリックします。
2. ログトピックページで、目的のログトピックIDをクリックします。
3. ログトピック詳細ページでインデックスの設定タブをクリックし、右上隅の編集をクリックするとインデックスを追加できます。インデックスフィールドの設定説明については、インデックスの有効化をご参照ください。

4. インデックスの設定が完了すると、結果は下図のようになります。


ステップ3:アクセスログの確認

1. CLSコンソールにログインし、左側のナビゲーションバーの検索分析をクリックします。
2. 検索分析ページで、ログセット、ログトピックおよび時間範囲を選択し、検索分析をクリックすると、CLBがCLSに送信したアクセスログを検索できます。検索構文の詳細については、構文とルールをご参照ください。


方法2:アクセスログの一括設定

ステップ1:ログセットとログトピックの作成

アクセスログをCLSに保存するよう設定したい場合は、先にログセットとログトピックを作成する必要があります。 ログセットとログトピックを作成済みの場合は、スキップしてステップ2から操作を開始することができます。
1. CLBコンソールにログインし、左側ナビゲーションバーのアクセスログをクリックします。
2. アクセスログページの左上隅で所属リージョンを選択し、ログセット情報のエリアでログセットの作成をクリックします。
3. ポップアップしたログセットの作成ダイアログボックスで保存期間を設定し、保存をクリックします。
説明:
各リージョンにつき、作成できるログセットは1つのみです。ログセット名は「clb_logset」となります。
4. アクセスログページのログトピックのエリアでログトピックの新規作成をクリックします。
5. ポップアップしたログトピックの追加ダイアログボックスで、ストレージタイプとログの保存期間を選択した後、左側のCLBインスタンスを選択して右側のリストに追加し、保存をクリックします。
説明:
ストレージタイプには標準ストレージと低頻度ストレージがあります。詳細については、ストレージタイプの概要をご参照ください。
ログの保存は永久保存および固定期間での保存をサポートしています。
ログトピックを新規作成する際は、CLBインスタンスを追加するかどうかを選択できます。ログトピックリストの右側の操作列で管理をクリックすると、CLBインスタンスを再度追加できます。各CLBインスタンスは1つのログトピックにのみ追加できます。
1つのログセットに複数のログトピック(Topic)を作成することができます。さまざまなCLBログをさまざまなログトピックに保存することが可能であり、これらのログトピックにはデフォルトでCLBの表示が付帯します。
6. (オプション)アクセスログを無効化したい場合は、ログトピックリストの右側の操作列で停止をクリックし、ログの配信を停止します。

ステップ2:アクセスログの確認

CLBはアクセスログの変数をキー値とするインデックスを自動的に設定しているため、手動でインデックスを設定する必要はありません。検索分析によってそのままアクセスログの照会を行うことができます。
1. CLBコンソールにログインし、左側ナビゲーションバーのアクセスログをクリックします。
2. 目的のログトピック右側の操作列の検索をクリックし、CLSコンソールの「検索分析」ページにリダイレクトします。
3. 検索分析ページの入力ボックスに検索分析語を入力し、時間範囲を選択して検索分析をクリックすると、CLBがCLSに送信したアクセスログを検索できます。
説明:
検索構文の詳細については、構文とルールをご参照ください。

ログ形式および変数の説明

ログ形式

[$stgw_request_id] [$time_local] [$protocol_type] [$server_addr:$server_port] [$server_name] [$remote_addr:$remote_port] [$status] [$upstream_addr] [$upstream_status] [$proxy_host] [$request] [$request_length] [$bytes_sent] [$http_host] [$http_user_agent] [$http_referer] [$request_time] [$upstream_response_time] [$upstream_connect_time] [$upstream_header_time] [$tcpinfo_rtt] [$connection] [$connection_requests] [$ssl_handshake_time] [$ssl_cipher] [$ssl_protocol] [$vip_vpcid] [$uri] [$server_protocol]

フィールドタイプ

CLSは現在、次の3種類のフィールドタイプをサポートしています。
名前
タイプ説明
text
テキストタイプ
long
整数値タイプ(Int 64)
double
浮動小数点数値タイプ(64 bit)

ログ変数の説明

変数名
説明
フィールドタイプ
stgw_request_id
リクエストID
text
time_local
アクセスの時刻とタイムゾーンです。例えば「01/Jul/2019:11:11:00 +0800」の場合、最後の「+0800」は属するタイムゾーンがUTCの8時間後、すなわち北京時間であることを表します。
text
protocol_type
プロトコルタイプ(HTTP/HTTPS/SPDY/HTTP2/WS/WSS)。
text
server_addr
CLBのVIP。
text
server_port
CLBのVPort、すなわちリスニングポートです。
long
server_name
ルール化されたserver_name。CLBのリスナー内に設定されたドメイン名です。
text
remote_addr
クライアントIP
text
remote_port
クライアントのポートです。
long
status
CLBがクライアントに返すステータスコードです。
long
upstream_addr
RSアドレスです。
text
upstream_status
RSがCLBに返すステータスコードです。
text
proxy_host
stream IDです。
text
request
リクエスト行です。
text
request_length
クライアントから受信したリクエストバイト数です。
long
bytes_sent
クライアントに送信したバイト数です。
long
http_host
リクエストドメイン名、すなわちHTTP ヘッダー内のHostです。
text
http_user_agent
HTTPプロトコルヘッダーのuser_agent フィールドです。
text
http_referer
HTTPリクエストのソースです。
text
http_x_forward_for
HTTPリクエスト内のx-forward-for headerの内容です。
text
request_time
リクエストの処理時間です。クライアントからの最初のバイトの受信時から、クライアントに最後のバイトを送信するまでの時間です。クライアントリクエストがCLBに到着し、CLBがリクエストをRSに転送し、RSが応答データをCLBに送信し、CLBがデータをクライアントに転送するまでのすべての時間が含まれます。単位: 秒。
double
upstream_response_time
バックエンドリクエスト全体が消費する時間:CONNECT RSを開始してからRSから応答を受信するまでの時間です。単位: 秒。
double
upstream_connect_time
およびRSがTCP接続を確立する所要時間:CONNECT RSを開始してからHTTPリクエストの送信を開始するまでの時間です。
double
upstream_header_time
RSからHTTPヘッダーの受信を完了する所要時間:CONNECT RSを開始してからRSからHTTPレスポンスヘッダーの受信を完了するまでの時間です。
double
tcpinfo_rtt
TCP接続のRTTです。
long
connection
接続IDです。
long
connection_requests
接続のリクエスト個数です。
long
ssl_handshake_time
SSLハンドシェイクの各段階の消費時間を記録します。形式はx:x:x:x:x:x:xです。このうち、コロンで区切られた文字列は、単位がmsで、各段階の消費時間が1ms未満の場合は0と表示されます。
最初のフィールドはSSLセッションを再利用したかどうかを表します。
2番目のフィールドはハンドシェイク全体の時間を表します。
3~7はSSLの各段階の消費時間を表します。
3番目のフィールドはCLBのclient hello受信からserver hell done送信までの時間を表します。
4番目のフィールドはCLBのserver証明書送信開始からserver証明書送信完了までの時間を表します。
5番目のフィールドはCLBの署名計算からserver key exchange送信完了までの時間を表します。
6番目のフィールドはCLBのclient key exchange受信開始からclient key exchange受信完了までの時間を表します。
7番目のフィールドはCLBのclient key exchange受信からserver finished送信までの時間を表します。
text
ssl_cipher
SSL暗号スイートです。
text
ssl_protocol
SSLプロトコルバージョンです。
text
vip_vpcid
CLBインスタンスが所属するプライベートネットワーク ID。パブリックネットワークCLBの値は-1です。
long
request_method
リクエスト方式は、POSTおよびGETリクエストをサポートしています。
text
uri
リソース識別子です。
text
server_protocol
CLBのプロトコルです。
text

デフォルトで検索をサポートするログ変数

「CLB」の表示があるログセットの、デフォルトで検索をサポートするフィールドは次のとおりです。
インデックスフィールド
説明
フィールドタイプ
time_local
アクセスの時刻とタイムゾーンです。例えば「01/Jul/2019:11:11:00 +0800」の場合、最後の「+0800」は属するタイムゾーンがUTCの8時間後、すなわち北京時間であることを表します。
text
protocol_type
プロトコルタイプ(HTTP/HTTPS/SPDY/HTTP2/WS/WSS)。
text
server_addr
CLBのVIP。
text
server_name
ルール化されたserver_name。CLBのリスナー内に設定されたドメイン名です。
text
remote_addr
クライアントIP
text
status
CLBがクライアントに返すステータスコードです。
long
upstream_addr
RSアドレスです。
text
upstream_status
RSがCLBに返すステータスコードです。
text
request_length
クライアントから受信したリクエストバイト数です。
long
bytes_sent
クライアントに送信したバイト数です。
long
http_host
リクエストドメイン名、すなわちHTTP ヘッダー内のHostです。
text
request_time
リクエストの処理時間です。クライアントからの最初のバイトの受信時から、クライアントに最後のバイトを送信するまでの時間です。クライアントリクエストがCLBに到着し、CLBがリクエストをRSに転送し、RSが応答データをCLBに送信し、CLBがデータをクライアントに転送するまでのすべての時間が含まれます。単位: 秒。
double
upstream_response_time
バックエンドリクエスト全体が消費する時間:CONNECT RSを開始してからRSから応答を受信するまでの時間です。単位: 秒。
double

この記事はお役に立ちましたか?
営業担当者に お問い合わせ いただくか チケットを提出 してサポートを求めることができます。
はい
いいえ

フィードバック