nginx日志管理 - 日志切割、自定义日志字段,清理日志

服务器nginx 日志管理

在服务器上使用nginx部署了站点后,nginx日志是我们对站点进行监测、排查线上问题的重要手段之一。对日志进行合理的管理,有日志定时切割,归档后清理日志,自定义需要记录的日志字段等方法。

自定义日志字段

nginx默认配置中有一个名为 main log格式,里面包含了很多字段,有些可能不是我们想要了解的信息,可以删减,也可以增加其他字段。例如下面配置了一个 my_blog的日志规则。

http{
    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    log_format  my_blog '$remote_addr,$time_iso8601,$request,'
                      '$http_referer,$http_x_forwarded_for';
    access_log  /var/log/nginx/access.log  my_blog;
}
# nginx日志修改时间格式为年月日时分秒
$time_iso8601    生成格式:2019-04-20T09:24:35+08:00
$time_local          生成格式: 20/Apr/2019:09:24:13 +0800

nginx清理日志

通过 mv 重命名日志文件进行备份,原日志文件就不存在了,重新打开 nginx加载日志文件就会生成新日志文件

$ mv /var/log/nginx/access.log /var/log/nginx/access.log.bak  # 重命名日志文件
$ nginx -s reopen
# 重新加载日志文件

# 还是上面那个例子,把 my_blog 的日志通过重命名进行备份,日志文件也就清理掉了
$ mv /www/wwwlogs/my_blog.log /www/wwwlogs/my_blog.log.bak

更多详情可以参考
nginx日志详解

日志配置与切割

定时任务完成日志切割

封面图
nginx日志管理 - 日志切割、自定义日志字段,清理日志封面

猜你喜欢

转载自blog.csdn.net/zhouweihua138/article/details/129655138