nginx log以JSON格式记录
nginx的日志配置可以参见《nginx日志配置》一文。如果要想以json格式记录nginx日志以便logstash分析,该如何指定日志格式呢?可以按照下面的格式来实现。
定义nginx日志格式:
1
2
3
4
5
6
7
8
9
10
11
12
13
|
log_format
logstash
_json
'{ "@timestamp": "$time_local", '
'"@fields": { '
'"remote_addr": "$remote_addr", '
'"remote_user": "$remote_user", '
'"body_bytes_sent": "$body_bytes_sent", '
'"request_time": "$request_time", '
'"status": "$status", '
'"request": "$request", '
'"request_method": "$request_method", '
'"http_referrer": "$http_referer", '
'"body_bytes_sent":"$body_bytes_sent", '
'"http_x_forwarded_for": "$http_x_forwarded_for", '
'"http_user_agent": "$http_user_agent" } }'
;
|
指定记录日志格式:
1
|
access_log
/
data
/
logs
/
nginx
/
www
.
ttlsa
.
com
.
access
.
log
logstash_json
;
|
日志输出如下:
不利于阅读。复制到http://jsonlint.com/美化下格式。
收 藏
成长的对话版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!