如何将Nginx日志改成JSON格式
发表于:2025-01-23 作者:千家信息网编辑
千家信息网最后更新 2025年01月23日,这篇文章将为大家详细讲解有关如何将Nginx日志改成JSON格式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Nginx 日志默认为普通文本的格式,例如,下面是 N
千家信息网最后更新 2025年01月23日如何将Nginx日志改成JSON格式
这篇文章将为大家详细讲解有关如何将Nginx日志改成JSON格式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
Nginx 日志默认为普通文本的格式,例如,下面是 Nginx 的一行访问日志:
10.88.122.105 - - [02/Dec/2017:09:15:04 +0800] "GET /js/pagination.js HTTP/1.1" 304 0 "http://10.88.105.20:8063/stockrecommand.html" "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 6.1; WOW64; Trident/7.0; SLCC2; .NET CLR 2.0.50727; .NET CLR 3.5.30729; .NET CLR 3.0.30729; Media Center PC 6.0; .NET4.0C; .NET4.0E)" "-" 0.000
为了便于利用 Elastic Stack 日志平台收集展示 Nginx 的日志,可以将 Nginx 的日志改成 json 的格式。修改后的 json 日志格式如下所示:
{ "@timestamp": "12/Dec/2017:14:30:40 +0800", "remote_addr": "10.88.122.108", "referer": "-", "request": "GET / HTTP/1.1", "status": 304, "bytes":0, "agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36", "x_forwarded": "-", "up_addr": "-","up_host": "-","up_resp_time": "-","request_time": "0.000" }
为了修改 Nginx 的日志格式改成 json,需要修改 Nginx 的配置文件,笔者 Nginx 的配置文件为 /usr/local/nginx/conf/nginx.conf。
http { include mime.types; default_type application/octet-stream; charset utf-8; log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for" $request_time'; log_format log_json '{ "@timestamp": "$time_local", ''"remote_addr": "$remote_addr", ''"referer": "$http_referer", ''"request": "$request", ''"status": $status, ''"bytes": $body_bytes_sent, ''"agent": "$http_user_agent", ''"x_forwarded": "$http_x_forwarded_for", ''"up_addr": "$upstream_addr",''"up_host": "$upstream_http_host",''"up_resp_time": "$upstream_response_time",''"request_time": "$request_time"'' }'; access_log logs/access.log log_json; (省略内容)}
在 Nginx 的配置文件nginx.conf中,我们定义了两种的日志格式:main和log_json,其中,main为普通的文本格式,log_json为 json 格式。log_json其实就是手工构造一个 json 字符串。定义了 json 的日志格式后,便可以指定 access log 为 json 格式:
access_log logs/access.log log_json;
修改 Nginx 的配置,重启 Nginx ,便可以看到 json 格式的日志,重启 Nginx:
nginx -s reload
关于"如何将Nginx日志改成JSON格式"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
日志
格式
配置
文件
篇文章
普通
内容
文本
更多
不错
实用
一行
字符
字符串
就是
平台
手工
文章
知识
笔者
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
医保网络安全论文
温州推广rpa软件开发公司
对软件开发过程的理解论文
软件开发技术指标描述
浪潮服务器安装系统时间
云南网络安全保护
软件开发每天干什么
sftp 连接数据库
光照feret人脸数据库
西湖区网络安全公司
平谷区好的软件开发调试
软件开发公司是有哪些
淘宝显示服务器出错了
东西湖区 网络安全产业港
服务器密码管理办法
网络安全行业竞争态势
联想服务器带外管理口
北京能动网络技术公司电话多少
软件开发原则是要高内聚
扑拓网络技术有限公司
网络安全管理专业前景
吉夫森软件开发有限公司
加强网络安全的措施
招零基础软件开发是真的吗
俄罗斯软件开发工资
南京数据网络技术服务费
数据库提取数据用到哪个端口
科技风互联网企业宣传汇报
小优服务器安全
零元代还软件开发