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 name | off;
デフォルト
session_log off;
コンテキスト httpserverlocation

指定されたセッションログの使用を有効にします。特殊値offは、前の設定レベルから継承したsession_logディレクティブの影響を無効にします。

構文 session_log_format name string ...;
デフォルト
session_log_format combined "...";
コンテキスト http

ログの出力形式を指定します。$body_bytes_sent変数の値は、セッション内のすべてのリクエストで集計されます。ログ記録に使用できる他のすべての変数の値は、セッション内の最初のリクエストに対応します。

構文 session_log_zone path zone=name:size [format=format] [timeout=time] [id=id] [md5=md5] ;
デフォルト
コンテキスト 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バイト)