Nginx-日志切割

日志功能配置

访问日志:/var/log/nginx/access.log        ngx_http_log_module
log_format  main ' $remote_addr - $remote_user [$time_local] "$request" '
                 ' $status $body_bytes_sent "$http_referer" '
                 ' "$http_user_agent" "$http_x_forwarded_for" ';

access_log  /var/log/nginx/access.log  main;
$remote_addr            显示用户访问源IP地址信息
$remote_user            显示认证的用户名信息
[$time_local]           显示访问网站时间
“$request”            请求报文的请求行信息
$status                 用户访问网站状态码信息
$body_bytes_sent        显示响应的数据尺寸信息
$http_referer           记录调用网站资源的连接地址信息(防止用户盗链)                    
$http_user_agent        记录用户使用什么客户端软件进行访问页面的  (谷歌 火狐 IE 安卓 iphone)
$http_x_forwarded_for   负载均衡

错误日志级别

错误日志:/var/log/nginx/error.log    — core functionality
Syntax:    error_log file [level]; 指定错误日志路径以及错误日志记录的级别
Default:    error_log log/error.log error;
Context:    main, http, mail, stream, server, location

error_log  /var/log/nginx/error.log warn;

错误级别:

debug    :调试级别: 服务运行的状态信息和错误信息详细显示        信息越多
info     :信息级别: 只显示重要的运行信息和错误信息
notice   :通知级别: 更加重要的的信息进行通知说明
warn     :警告级别: 可能出现了一些错误信息,但不影响服务运行
error    :错误级别: 服务运行已经出现了错误,需要进行纠正        推荐选择
crit     :严重级别:必须进行修改调整
alert    :严重警告级别:即警告,而且必须进行错误修改
emerg    :灾难级别:服务已经不能正常运行                        信息越少

实现nginx日志文件定时切割处理

/etc/logrotate.d/

日志切割方法一:利用脚本实现切割

#!/bin/bash
mv /var/log/nginx/access.log /var/log/nginx/access_$(date +%F).log
systemctl restart nginx

日志切割方法二:利用专用的文件切割程序–logrotate

# rotate log files weekly
  weekly                       # 定义默认日志切割的周期
        
# keep 4 weeks worth of backlogs
  rotate 4                     # 定义只保留几个切割后的文件
        
# create new (empty) log files after rotating old ones
  create                       # 创建出一个相同的源文件
        
# use date as a suffix of the rotated file
  dateext                      # 定义角标(扩展名称信息)
                
# uncomment this if you want your log files compressed
# compress                     # 是否是切割后的文件进行压缩处理
            
# RPM packages drop log rotation information into this directory
 include /etc/logrotate.d      # 加载包含/etc/logrotate.d/目录中文件配置
        
# no packages own wtmp and btmp — we’ll rotate them here
  /var/log/wtmp {              # 单独对某个文件进行切割配置
       monthly
       create 0664 root utmp
       minsize 1M              # 最小大小为1M,小于1M不进行切割
       rotate 1
  }
        
  /var/log/btmp {
       missingok
       monthly
       create 0600 root utmp
       rotate 1
  }
posted @ 2021-08-30 13:46  Cai_HL  阅读(148)  评论(0编辑  收藏  举报
>