ngx_http_session_log_module モジュール
設定例 ディレクティブ session_log session_log_format session_log_zone 埋め込み変数 |
ngx_http_session_log_module
モジュールは、個々のHTTPリクエストではなく、セッション(つまり、複数のHTTPリクエストの集計)のログを有効にします。
このモジュールは、商用サブスクリプションの一部として利用できます。
設定例
次の設定は、セッションログを設定し、クライアントアドレスと「User-Agent」リクエストヘッダーフィールドに従ってリクエストをセッションにマッピングします。
session_log_zone /path/to/log format=combined zone=one:1m timeout=30s md5=$binary_remote_addr$http_user_agent; location /media/ { session_log one; }
ディレクティブ
構文 |
session_log |
---|---|
デフォルト |
session_log off; |
コンテキスト |
http 、server 、location |
指定されたセッションログの使用を有効にします。特殊値off
は、前の設定レベルから継承したsession_log
ディレクティブの影響を無効にします。
構文 |
session_log_format |
---|---|
デフォルト |
session_log_format combined "..."; |
コンテキスト |
http |
ログの出力形式を指定します。$body_bytes_sent
変数の値は、セッション内のすべてのリクエストで集計されます。ログ記録に使用できる他のすべての変数の値は、セッション内の最初のリクエストに対応します。
構文 |
session_log_zone |
---|---|
デフォルト | — |
コンテキスト |
http |
ログファイルへのパスを設定し、現在アクティブなセッションを格納するために使用される共有メモリゾーンを設定します。
セッションは、セッション内の最後のリクエストからの経過時間が指定されたtimeout
(デフォルトは30秒)を超えない限り、アクティブとみなされます。セッションが非アクティブになると、ログに書き込まれます。
id
パラメータは、リクエストがマップされるセッションを識別します。id
パラメータは、MD5ハッシュの16進数表現(たとえば、変数を使用してクッキーから取得される)に設定されます。このパラメータが指定されていないか、有効なMD5ハッシュを表していない場合、nginxはmd5
パラメータの値からMD5ハッシュを計算し、このハッシュを使用して新しいセッションを作成します。id
パラメータとmd5
パラメータの両方に変数を含めることができます。
format
パラメータは、session_log_formatディレクティブによって設定されたカスタムセッションログ形式を設定します。format
が指定されていない場合、定義済みの「combined
」形式が使用されます。
埋め込み変数
ngx_http_session_log_module
モジュールは、2つの埋め込み変数をサポートしています。
$session_log_id
- 現在のセッションID
$session_log_binary_id
- 2進数の現在のセッションID(16バイト)