如何将Nginx日志改成JSON格式
发表于:2025-12-03 作者:千家信息网编辑
千家信息网最后更新 2025年12月03日,这篇文章将为大家详细讲解有关如何将Nginx日志改成JSON格式,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。Nginx 日志默认为普通文本的格式,例如,下面是 N
千家信息网最后更新 2025年12月03日如何将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安全错误
数据库的锁怎样保障安全
数据库面试常见语句
竹溪好的软件开发不二之选
财务软件开发
南java软件开发培训
渐飞网络技术有限公司好吗
七台河市采暖自动化控制软件开发
超算服务器维修多少钱一台
信息网络安全及保密教育课件
楚留香三星版服务器
数据库中报表的特点
5g网络技术监控
长庆油田分公司网络安全管理办法
网络技术培训班主持
重庆共生网络技术电话
卫辉手机软件开发
数据库设计数据结构与算法
java动态服务器
信阳计算机软件开发就业前景
习水软件开发者
画一幅网络安全教育的画
电网公司信息网络安全顺口溜
怎么在互联网扩展服务器
昆明电视台校园网络安全
2012服务器管理器打不开
服务器的运行速度
衡阳棋牌游戏软件开发
网络安全教育美篇
求生之路怎么屏蔽服务器
服务器最大内存和可分配内存
天翼云服务器可以同时多人登录吗