最新消息:

nginx log以JSON格式记录

JSON admin 3581浏览 0评论

nginx的日志配置可以参见《nginx日志配置》一文。如果要想以json格式记录nginx日志以便logstash分析,该如何指定日志格式呢?可以按照下面的格式来实现。

定义nginx日志格式:

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" } }';

指定记录日志格式:

access_log  /data/logs/nginx/www.ttlsa.com.access.log  logstash_json;

日志输出如下:

eGhoXzAxNjg_882366

不利于阅读。复制到http://jsonlint.com/美化下格式。

eGhoXzAxNjg_899819

 

转载请注明:爱开源 » nginx log以JSON格式记录

您必须 登录 才能发表评论!