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 
​```

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/452738.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024最新最详细【接口测试总结】

序章 ​ 说起接口测试,网上有很多例子,但是当初做为新手的我来说,看了不不知道他们说的什么,觉得接口测试,好高大上。认为学会了接口测试就能屌丝逆袭,走上人生巅峰,迎娶白富美。因此学了点开发…

Leetcode24:两两交换链表中的节点

一、题目 给你一个链表,两两交换其中相邻的节点,并返回交换后链表的头节点。你必须在不修改节点内部的值的情况下完成本题(即,只能进行节点交换)。 示例: 输入:head [1,2,3,4] 输出&#xff…

101 C++内存高级话题 内存池概念,代码实现和详细分析

零 为什么要用内存池? 从前面的知识我们知道,当new 或者 malloc 的时候,假设您想要malloc 10个字节, char * pchar new char[10]; char *pchar1 malloc(10); 实际上编译器为了 记录和管理这些数据,做了不少事情&…

undefined symbol: avio_protocol_get_class, version LIBAVFORMAT_58

rv1126上进行编译和在虚拟机里面进行交叉编译ffmpeg都不行 解决办法查看 查看安装的ffmpeg链接的文件 ldd ./ffmpeg rootEASY-EAI-NANO:/home/nano/ffmpeg-4.3.6# ldd ffmpeg linux-vdso.so.1 (0xaeebd000)libavdevice.so.58 > /lib/arm-linux-gnueabihf/libavde…

斗破年番:七星斗宗地魔老鬼,首战吊打萧炎,毁灭莲逼出千百二老

Hello,小伙伴们,我是拾荒君。 国漫《斗破苍穹年番》第82期超前爆料,在万众瞩目之下,卡点帝再次展现了他的卡点救场技巧。此次,韩枫为了除掉萧炎,以他击杀魔炎谷四位长老为借口,请来了七品斗宗地魔老鬼。更…

LabVIEW与EtherCAT实现风洞安全联锁及状态监测

LabVIEW与EtherCAT实现风洞安全联锁及状态监测 在现代风洞试验中,安全联锁与状态监测系统发挥着至关重要的作用,确保了试验过程的安全性与高效性。介绍了一套基于EtherCAT总线技术和LabVIEW软件开发的风洞安全联锁及状态监测系统。该系统通过实时、可靠…

redis的缓存击穿和缓存雪崩和缓存穿透问题解决方法

Redis的缓存击穿: 热点的key,在不停的扛着大并发,当这个key失效时,一瞬间大量的请求冲到持久层的数据库中,就像在一堵墙上某个点凿开了一个洞! 解决方法: 1.热点key永不过期: 统计访…

彻底扒光QQ音乐,批量下载音乐和MV文件

购买了一年的QQ音乐绿钻豪华版,还有几天就到期了,虽然平时听音乐比较少,但是还比较喜欢听歌曲的。计划会员到期前下载一些音乐文件,继续针对QQ音乐网站源码分析和歌曲下载链接的进行研究。 平时通过APP和软件播放歌曲也是趋势&…

面试数据结构与算法总结分类+leetcode目录【基础版】

🧡🧡🧡算法题目总结: 这里为大家总结数据结构与算法的题库目录,如果已经解释过的题目会标注链接更新,方便查看。 数据结构概览 Array & String 大家对这两类肯定比较清楚的,同时这也是面试…

bert分类模型使用

使用 bert-bert-chinese 预训练模型去做分类任务,这里找了新闻分类数据,数据有 20w,来自https://github.com/649453932/Bert-Chinese-Text-Classification-Pytorch/tree/master/THUCNews 数据 20w ,18w 训练数据,1w 验…

ddddocr验证码识别模块

ddddocr验证码识别模块 简介 ddddocr是一个基于深度学习的OCR(Optical Character Recognition,光学字符识别)工具,主要用于中文场景文字识别。能够对图片中的文字进行识别并提取出来。 ddddocr模块主要特点包括: 适用…