ポリシー拡張のトラブルシューティング
-
エクステンショントレース
-
カスタムロギング
エクステンショントレース
-
off トレースをオフにする (ns extension-trace の設定を解除するのと同等)。
-
呼び出しは、引数を指定して関数呼び出しをトレースし、最初の戻り値を使用して関数呼び出しをトレースします。
-
行は上記のトレースと実行された行の行番号をトレースします。
-
すべて上記と実行された行によって変更されたローカル変数をトレースします。
set audit syslogParams -loglevel ALL
set ns extension combine_headers -trace all
log-header : default NSEXTENSION Message message-number 0 : "TRACE function-name CALL call-number: event"
-
ログヘッダーは、タイムスタンプ、NetScaler IPアドレス、およびパケットエンジンIDを提供します。
-
メッセージ番号はログメッセージを識別する連続番号です。
-
関数名は拡張関数名です。
-
call-number は、各拡張関数呼び出しの連続番号です。拡張関数呼び出しのすべてのトレースメッセージをグループ化するために使用できます。
-
イベントは次のいずれかです。
-
CALL 関数名; パラメータ値は、関数が指定されたパラメータで呼び出されたことを示します。
-
RETURN FROM 関数名; return = value は、関数が指定された (最初の) 値を返したことを示します。(その他の戻り値は報告されません)。
-
LINE 行番号。変数値は、行が実行されたことを示し、値が変更されたすべての変数を一覧表示します。
-
-
1 つまたは複数の値は
-
小数点のある場合とない場合の数値
-
前述のように二重引用符で囲まれてエスケープされた文字列
-
真か偽かのブーリアン、
-
nil、
-
-
parameter-values is parameter1 = value1 ; parameter2 = value2 , ...
-
variable-values is variable1 = value1 ; variable2 = value2 , ...
>shell tail -f /var/log/ns.log | grep TRACE | more
... NSEXTENSION Message 3035 0 : "TRACE combine_headers CALL 30 : CALL COMBINE_HEADERS; self = "User-Agent: curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3\r\nHost: 10.217.24.7\r\nAccept: \*/\*\r\nH2: h2val1\r\nH1: abcd\r\nH2: h2val2\r\nH2: h2val3\r\n\r\n""
... NSEXTENSION Message 3036 0 : "TRACE combine_headers CALL 30 : LINE 4; headers = {}"
... NSEXTENSION Message 3037 0 : "TRACE combine_headers CALL 30 : LINE 5; combined_headers = {}"
... NSEXTENSION Message 3038 0 : "TRACE combine_headers CALL 30 : CALL gmatch"
... NSEXTENSION Message 3039 0 : "TRACE combine_headers CALL 30 : RETURN FROM gmatch; return = function 0x2bee5a80"
... NSEXTENSION Message 3040 0 : "TRACE combine_headers CALL 30 : CALL for iterator"
... NSEXTENSION Message 3041 0 : "TRACE combine_headers CALL 30 : RETURN FROM for iterator; return = " curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3""
... NSEXTENSION Message 3042 0 : "TRACE combine_headers CALL 30 : LINE 9; name = "User-Agent"; value = " curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3""
... NSEXTENSION Message 3043 0 : "TRACE combine_headers CALL 30 : LINE 10"
... NSEXTENSION Message 3044 0 : "TRACE combine_headers CALL 30 : LINE 14; headers = {["User-Agent"]={[1]="User-Agent: curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3"}}"
. . .
... NSEXTENSION Message 3117 0 : "TRACE combine_headers CALL 30 : CALL for iterator"
... NSEXTENSION Message 3118 0 : "TRACE combine_headers CALL 30 : RETURN FROM for iterator; return = nil"
... NSEXTENSION Message 3119 0 : "TRACE combine_headers CALL 30 : LINE 19"
... NSEXTENSION Message 3120 0 : "TRACE combine_headers CALL 30 : CALL concat"
... NSEXTENSION Message 3121 0 : "TRACE combine_headers CALL 30 : RETURN FROM concat; return = "User-Agent: curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3\r\nH1: abcd\r\nAccept: \*/\*\r\nHost: 10.217.24.7\r\nH2: h2val1, h2val2, h2val3"" ... NSEXTENSION Message 3122 0 : "TRACE combine_headers CALL 30 : LINE 25; result_str = "User-Agent: curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3\r\nH1: abcd\r\nAccept: \*/\*\r\nHost: 10.217.24.7\r\nH2: h2val1, h2val2, h2val3\r\n\r\n""
... NSEXTENSION Message 3123 0 : "TRACE combine_headers CALL 30 : RETURN FROM COMBINE_HEADERS; return = "User-Agent: curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3\r\nH1: abcd\r\nAccept: \*/\*\r\nHost: 10.217.24.7\r\nH2: h2val1, h2val2, h2val3\r\n\r\n""
カスタムロギング
local result_str = table.concat(combined_headers, "\r\n") .. "\r\n\r\n"
ns.logger:info("Result: %s", result_str)
return result_str
... : default NSEXTENSION Message 143 0 : "Result: Host: 10.217.24.7:2000\^M H1: abcd, 1234\^M User-Agent: curl/7.24.0 (amd64-portbld-freebsd8.4) libcurl/7.24.0 OpenSSL/0.9.8y zlib/1.2.3\^M Accept: */*\^M H2: h2val1, h2val2, h2val3\^M \^M"