nginx日志格式脚本

Nginx日志主要分为两种:

  • access_log(访问日志):记录客户端请求的信息,可以指定 log_format。

  • error_log(错误日志):记录应用程序问题等信息,不可以指定log_format

  • 在这里插入图片描述

注意:

  • 1、子配置中 想使用主配置 nginx.conf中的 log_format,则主的 log_format main 得写在 include /usr/local/nginx/conf/conf.d/*.conf; 的上面 。

  • 2、error.log主要记录的是检查nginx.conf里发现的错误,模式不支持自定义。与access.log后面经常用main结尾不同,error.log后面的结尾可能是warm也可能是crit,这里的warm或者crit代表错误的等级,crit表示最少,而debug表示记录的最详细,屁大点事都记下来。

  • 3、error_log off 并不能关闭日志记录功能,它将日志文件写入一个文件名为off的文件中,如果你想关闭错误日志记录功能,应使用以下配置:error_log /dev/null crit;(把存储位置设置到Linux的黑洞中去 )。

http段中定义格式

log_format  main '$remote_addr - [$time_local] $cookie_JSESSIONID $cookie__tracker_user_id_ $request_id $host "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_x_forwarded_for"' ' "$upstream_addr" "$upstream_status" "$upstream_response_time" "$request_time" "$http_user_agent"' ;
open_log_file_cache max=1000 inactive=20s valid=1m min_uses=2;

#对于每一条日志记录,都将是先打开文件,再写入日志,然后关闭。可以使用open_log_file_cache来设置日志文件缓存(默认是off),格式如下:
#参数注释如下:
#max:设置缓存中的最大文件描述符数量,如果缓存被占满,采用LRU算法将描述符关闭。
#inactive:设置存活时间,默认是10s
#min_uses:设置在inactive时间段内,日志文件最少使用多少次后,该日志文件描述符记入缓存中,默认是1次
#valid:设置检查频率,默认60s
#off:禁用缓存
在日志格式样式中: $remote_addr和$http_x_forwarded_for用于记录IP地址 $remote_user用于记录远程客户端用户名称; $time_local用于记录访问时间与时区; $request用于记录请求URL与HTTP协议; $status用于记录请求状态,例如成功时状态为200,页面找不到时状态为404; $body_bytes_sent用于记录发送给客户端的文件主体内容大小; $http_referer用于记录是从哪个页面链接访问过来的; $http_user_agent用于记录客户端浏览器的相关信息。

server段中使用

#声明log      log位置                log格式;
access_log    logs/access_8080.log      main;   

每天定时切割 Nginx 日志的脚本

创建脚本/usr/local/nginx/sbin/cut_nginx_log.sh
vi /usr/local/nginx/sbin/cut_nginx_log.sh

#!/bin/bash 
# This script run at 00:00 
# The Nginx logs path 
logs_path="/usr/local/nginx/logs/" 
mkdir -p ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/ 
mv ${logs_path}access.log ${logs_path}$(date -d "yesterday" +"%Y")/$(date -d "yesterday" +"%m")/access_$(date -d "yesterday" +"%Y%m%d").log 
kill -USR1 `cat /usr/local/nginx/nginx.pid` 

设置 crontab,每天凌晨 00:00 切割 nginx 访问日志

crontab -e 
00 00 * * * /bin/bash  /usr/local/nginx/sbin/cut_nginx_log.sh 
​```

相关推荐

  1. Nginx 配置,自定义日志格式 log_format

    2024-02-06 03:18:02       19 阅读
  2. nginx日志统计qps

    2024-02-06 03:18:02       18 阅读
  3. 查看nginx日志文件

    2024-02-06 03:18:02       22 阅读
  4. nginx自动清理脚本

    2024-02-06 03:18:02       10 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-06 03:18:02       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-06 03:18:02       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-06 03:18:02       18 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-06 03:18:02       20 阅读

热门阅读

  1. 【Django-ninja】使用schema

    2024-02-06 03:18:02       31 阅读
  2. docker容器stop流程

    2024-02-06 03:18:02       30 阅读
  3. Linux cp命令(cp指令)解析

    2024-02-06 03:18:02       32 阅读
  4. 每日一题 力扣1696跳跃游戏

    2024-02-06 03:18:02       39 阅读
  5. 【数学1】基础数学问题

    2024-02-06 03:18:02       39 阅读
  6. 【Android】代码混淆简单介绍

    2024-02-06 03:18:02       40 阅读
  7. 异或加密原理及简单应用(C语言版)

    2024-02-06 03:18:02       37 阅读
  8. Docker Compose下载

    2024-02-06 03:18:02       34 阅读
  9. 【lesson12】高并发内存池项目最终完整版代码

    2024-02-06 03:18:02       28 阅读
  10. Simulink仿真中Simulink.ConfigSet用法

    2024-02-06 03:18:02       35 阅读
  11. 流量控制原理

    2024-02-06 03:18:02       38 阅读
  12. Android~集成opencv问题

    2024-02-06 03:18:02       33 阅读
  13. 蓝桥杯刷题day05——2023

    2024-02-06 03:18:02       32 阅读
  14. 【C语言】语句细节理解 超详细 易懂简单

    2024-02-06 03:18:02       33 阅读
  15. Flink-1.18.1环境搭建

    2024-02-06 03:18:02       35 阅读
  16. element-plus 更换主题色

    2024-02-06 03:18:02       28 阅读
  17. C Primer Plus(第六版)15.9 编程练习 第6题

    2024-02-06 03:18:02       31 阅读