网站首页 > 精选教程 正文
json日志优点
json本身就是结构化的。
几乎所有编程语言都可以很轻松地解析它,便于数据采集和分析。
日志格式配置
# 文本格式
# log_format main '$remote_addr - $remote_user [$time_local] "$request" '
# '$status $body_bytes_sent "$http_referer" '
# '"$http_user_agent" "$http_x_forwarded_for"';
# JSON格式
log_format log_json '{"@timestamp": "$time_iso8601", '
'"connection": "$connection", '
'"remote_addr": "$remote_addr", '
'"remote_user": "$remote_user", '
'"request_method": "$request_method", '
'"request_uri": "$request_uri", '
'"server_protocol": "$server_protocol", '
'"status": "$status", '
'"body_bytes_sent": "$body_bytes_sent", '
'"http_referer": "$http_referer", '
'"http_user_agent": "$http_user_agent", '
'"http_x_forwarded_for": "$http_x_forwarded_for", '
'"request_time": "$request_time"}';
修改 Nginx 的配置,重启 Nginx ,便可以看到 json 格式的日志,重启 Nginx。
sudo /usr/local/nginx/sbin/nginx -s reload
此时查看最新日志,就会发现日志变为json格式,例如
{"@timestamp": "2021-09-08T22:36:21+08:00", "connection": "6605", "remote_addr": "123.139.52.164", "remote_user": "-", "request_method": "GET", "request_uri": "/", "server_protocol": "HTTP/1.1", "status": "304", "body_bytes_sent": "0", "http_referer": "-", "http_user_agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.107 Safari/537.36", "http_x_forwarded_for": "-", "request_time": "0.000"}
log_format指令中常用变量
$bytes_sent
发送给客户端的总字节数
$body_bytes_sent
发送给客户端的字节数,不包括响应头的大小
$connection
连接序列号
$connection_requests
当前通过连接发出的请求数量
$request_length
请求长度(包括请求行,请求头和请求体)
$request_time
请求处理时长,单位为秒,精度为毫秒,从读入客户端的第一个字节开始,直到把最后一个字符发送张客户端进行日志写入为止
$status
响应状态码
$time_iso8601
标准格式的本地时间,形如“2017-05-24T18:31:27+08:00”
$time_local
通用日志格式下的本地时间,如"24/May/2017:18:31:27 +0800"
$http_referer
请求的referer地址。
$http_user_agent
客户端浏览器信息。
$remote_addr
客户端IP
$http_x_forwarded_for
当前端有代理服务器时,设置web节点记录客户端地址的配置,此参数生效的前提是代理服务器也要进行相关的x_forwarded_for设置。
$request
完整的原始请求行,如 "GET / HTTP/1.1"
$remote_user
客户端用户名称,针对启用了用户认证的请求
$request_uri
从客户端发送来的原生请求URI,包括参数。它不可以进行修改。
$uri
重写后/改变的URI。
猜你喜欢
- 2024-10-12 ELK总结—第三篇Logstash监控Nginx日志存入redis,实现服务解耦
- 2024-10-12 如何对Kubernetes中的Ingress-NGINX进行监控和预警
- 2024-10-12 nginx 的try_files $uri $uri/ xxxxx用法
- 2024-10-12 Nginx 动态配置 HTTP Basic Authentication 并实时推送到钉钉
- 2024-10-12 猪八戒网Nginx的动态服务发现演进之路
- 2024-10-12 Nginx+Lua+Redis实现高性能缓存数据读取
- 2024-10-12 nginx-2:部署生产级openresty nginx 部署django
- 2024-10-12 HTML5(三)——Web 本地存储 h5的本地存储是什么
- 2024-10-12 现代配置指南——YAML 比 JSON 高级在哪
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- nginx反向代理 (57)
- nginx日志 (56)
- nginx限制ip访问 (62)
- mac安装nginx (55)
- java和mysql (59)
- java中final (62)
- win10安装java (72)
- java启动参数 (64)
- java链表反转 (64)
- 字符串反转java (72)
- java逻辑运算符 (59)
- java 请求url (65)
- java信号量 (57)
- java定义枚举 (59)
- java字符串压缩 (56)
- java中的反射 (59)
- java 三维数组 (55)
- java插入排序 (68)
- java线程的状态 (62)
- java异步调用 (55)
- java中的异常处理 (62)
- java锁机制 (54)
- java静态内部类 (55)
- java怎么添加图片 (60)
- java 权限框架 (55)
本文暂时没有评论,来添加一个吧(●'◡'●)