log_format header '$http_hogehoge';
という感じで、http_ の後ろに出力したいヘッダ名を追記すればいい。
今までも、 http_referer とか http_user_agent とか使ってたけど、
そもそもそうゆうルールだってことを分かってなかったことに気づいてしまった午後…orz
例えば、AWS ELB の後ろでNginxとか動かしてて、アクセス元のIPアドレスを出力したい時は、
x_forwarded_for に入っているので、'$http_x_forwarded_for' で出力してあげればいい。
さらに ltsv で出力したいということで、↓みたいな感じでやってます。
log_format ltsv 'host:$remote_addr\t' 'user:$remote_user\t' 'time:$time_local\t' 'request:$request\t' 'status:$status\t' 'size:$body_bytes_sent\t' 'referer:$http_referer\t' 'ua:$http_user_agent\t' 'forwarded_for:$http_x_forwarded_for\t' 'forwarded_proto:$http_x_forwarded_proto\t' 'forwarded_port:$http_x_forwarded_port\t' 'http_host:$http_host\t' 'request_time:$request_time\t';
ラベル名が長い感じするけど、自分のところはアクセス量が膨大では無いので特に問題ないです。
おしまい。
0 件のコメント:
コメントを投稿