将nginx access.log改成json格式

本文介绍了如何将nginx的日志格式改为json,方便使用logstash进行分析。主要步骤包括编辑nginx.conf配置文件,定义json格式的日志,注释掉原有的日志储存,然后重新加载nginx配置。修改后,nginx的access日志将以json格式记录,包含如@timestamp、host、clientip、size等信息。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

为了便于使用和分析,有时候需要把nginx的日志定义为json格式,特别是在使用logstash的时候,json化的日志相当直观。

具体配置方法:

1、打开nginx.conf配置文件

找到nginx安装目录下的nginx.conf文件

 vim /etc/nginx/nginx.conf

在http模块中将nginx日志格式定义为json格式

log_format json '{"@timestamp":"$time_iso8601",'

                      '"@source":"$server_addr",'

                      '"remote_addr":"$remote_addr",'

                      '"remote_user":"$remote_user",'

                      '"body_bytes_sent":"$body_bytes_sent",'

                      '"request_time":"$request_time",'

                      '"status":"$status",'

                      '"host":"$host",'

                      '"uri":"$uri",'

                      '"server":"$server_name",'

                      '"port":"$server_port",'

                      '"protocol":"$server_protocol",'

                      '"request_uri":"$request_uri",'

                      '"request_body":"$request_body",'

                      '"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",'

                      '"upstream_response_time":"$upstream_response_time",'

                      '"upstream_addr":"$upstream_addr"}';

编辑好json格式之后定义日志储存(注:需要注释掉原来的日志储存)

access_log /var/log/nginx/access_json.log json;

重新加载nginx

nginx -s reload

这样在调用之后access日志便变为了json格式

cd /var/log/nginx

此时通过浏览器或者curl访问nginx服务,可看到生成的日志内容是json格式的

{

"@timestamp": "2019-06-25T14:22:49+08:00",

"host": "192.168.1.82",

"clientip": "192.168.1.40",

"size": 1225,

"responsetime": 0.000,

"upstreamtime ": " - ",

"upstreamhost ": " - ",

"http_host ": "192.168 .1 .82 ",

"url ": " / statics / images /icon / rsso.gif ",

"referer ": "http: //192.168.1.82/statics/css/default_blue.css",

"agent": "Mozilla/5.0 (Windows NT 10.0;Win64;x64;rv: 67.0) Gecko / 20100101 Firefox / 67.0 ",

"status ": "200 "

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值