nginx日志自定义和统计处理

1.默认日志配置解析

  • access.log日志用处

    • 统计站点访问IP来源、某个时间段的访问频率
    • 查看访问最频的页面、http响应状态码、接口性能
    • 接口秒级访问量、分钟访问量、小时和天访问量
  • 默认配置解析

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';
    
  • 案例

    192.168.1.1 - - [11/Apr/2024:04:48:01 +0800] "GET / HTTP/1.1" 200 615 "-" "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/123.0.0.0 Safari/537.36"
    
  • 解析

    $remote_addr:客户端IP地址
    $remote_user:远程用户
    [$time_local]:请求时间 
    "$request":请求方式
    $status:请求响应状态码
    $body_bytes_sent:响应body的大小
    "$http_referer":URL跳转来源,若是直接打开域名浏览时就会为-
    "$http_user_agent":用户终端浏览器等信息
    

2.运维统计awk

  • 查看访问最频繁的前3个IP

    awk '{print $1}' access.log | sort -n | uniq -c | sort -rn | head -n 3
    
  • 基础

    • awk是文本处理工具,默认按照空格切分,$N是切割后第几列,从1开始
    • sort命令用于将文本文件内容加以排序,-n按照数值顺序排,-r按照倒序排
    • uniq去除重复出现的行列,-c在每列旁边显示该行重复出行的次数

3.自定义日志格式

  • 日志格式增加$request_time

    • 从接收用户请求的第一个字节到发送完响应数据的时间,即包括接收请求数据时间、程序响应时间、输出响应数据时间
    • $upstream_response_time:指从nginx向后端建立连接开始到接收完数据然后关闭连接为止的时间
    • request_time一般会比upstream_response_time大,因为用户网络差或者传递数据较大时,前者会耗时大很多
  • 自定义日志配置

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
        '$status $body_bytes_sent "$http_referer" '
        '"$http_user_agent" "$http_x_forwarded_for" $request_time $upstream_response_time';
    
    ----------------------------------------------------
        
    server {
        listen       80;
        server_name  localhost a.com;
    
        access_log  logs/host.access.log  main;
    
        location / {
            root   html;
            index  index.html index.htm;
        }
        location /img {
            alias /usr/local/img/;
        }
    }
    
  • 统计耗时接口,列出传输时间超过2秒的接口,显示前3条

    cat host.access.log | awk '($25 > 2) {print $7}' | sort -n | uniq -c | sort -nr | head -3
    

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

软件需求开发和管理过程性指导文件

1. 目的 2. 适用范围 3. 参考文件 4. 术语和缩写 5. 需求获取的方式 5.1. 与用户交谈向用户提问题 5.1.1. 访谈重点注意事项 5.1.2. 访谈指南 5.2. 参观用户的工作流程 5.3. 向用户群体发调查问卷 5.4. 已有软件系统调研 5.5. 资料收集 5.6. 原型系统调研 5.6.1. …

Cesium中实现镜头光晕

镜头光晕 镜头光晕 (Lens Flares) 是模拟相机镜头内的折射光线的效果,主要作用就是让太阳光/其他光源更加真实,和为您的场景多增添一些气氛。 Cesium 中实现 其实 Cesium 里面也是有实现一个镜头光晕效果的,添加方式如下,只是效…

Leetcode - 周赛393

目录 一,3114. 替换字符可以得到的最晚时间 二,3115. 素数的最大距离 三,3116. 单面值组合的第 K 小金额 四, 3117. 划分数组得到最小的值之和 一,3114. 替换字符可以得到的最晚时间 本题是一道模拟题,…

泛型的初步认识(1)

前言~🥳🎉🎉🎉 hellohello~,大家好💕💕,这里是E绵绵呀✋✋ ,如果觉得这篇文章还不错的话还请点赞❤️❤️收藏💞 💞 关注💥&#x…

标准版uni-app移动端页面添加/开发操作流程

页面简介 uni-app项目中,一个页面就是一个符合Vue SFC规范的.vue文件或.nvue文件。 .vue页面和.nvue页面,均全平台支持,差异在于当uni-app发行到App平台时,.vue文件会使用webview进行渲染,.nvue会使用原生进行渲染。…

HCIP的学习(10)

OSPF不规则区域划分 区域划分 非骨干与骨干区域直接相连骨干区域唯一 限制规则: 非骨干区域之间不允许直接相互发布区域间路由信息OSPF区域水平分割:从非骨干区域收到的路由信息,ABR设备能接收到不能使用(从某区域传出的路由&…

全新升级轻舟知识付费系统引流变现至上利器

知识付费系统:引流变现至上利器 本系统参考各大主流知识付费系统,汇总取其精华,自主研发,正版授权系统。 我们给你搭建搭建一个独立运营的知识付费平台,搭建好之后,你可以自由的运营管理。网站里面的名称…

【机器学习】分类与预测算法评价的方式介绍

一、引言 1、机器学习分类与预测算法的重要性 在数据驱动的时代,机器学习已经成为了处理和分析大规模数据的关键工具。分类与预测作为机器学习的两大核心任务,广泛应用于各个领域,如金融、医疗、电商等。分类算法能够对数据进行有效归类&…

web前端网络相关知识

一、OSI 7层参考模型 1.物理层(光纤、电缆等物理介质) 传播比特流(bit) 01010101的形式 2.数据链路层(交换机,mac地址) 将比特流组合成字节,组合成帧,用mac地址访问&…

bugku-web-login2

这里提示是命令执行 抓包发现有五个报文 其中login.php中有base64加密语句 $sql"SELECT username,password FROM admin WHERE username".$username.""; if (!empty($row) && $row[password]md5($password)){ } 这里得到SQL语句的组成,…

CRMEB PRO安装系统配置清单

统在安装完成之后,需要对系统进行一系列的配置,才能正常使用全部的功能,以下是官方整理的配置清单

Xinstall带你进入一键通过URL打开App的新时代

在移动互联网时代,App已经成为我们日常生活中不可或缺的一部分。然而,在使用App的过程中,我们常常会遇到一些烦恼。比如,当我们通过一个网页链接想要打开对应的App时,往往需要先复制链接,然后在App中粘贴&a…

2024的新宠儿——Mamba(1):SSM

引言 自 2017 年被提出以来,Transformer 已经成为 AI 大模型的主流架构,但随着模型规模的扩展和需要处理的序列不断变长,Transformer 的局限性也逐渐凸显。一个很明显的缺陷是:Transformer 模型中自注意力机制的计算量会随着上下文长度的增加呈平方级增长,比如上下文增加 …

多模态之ALBEF—先对齐后融合,利用动量蒸馏学习视觉语言模型表征,学习细节理解与论文详细阅读:Align before Fuse

Align before Fuse: Vision and Language Representation Learning with Momentum Distillation (ALBEF)在融合之前对齐:利用动量蒸馏进行视觉与语言表示学习 Paper: arxiv.org/pdf/2107.07651.pdf Github: https://github.com/salesforce/…

用云手机运营TikTok有什么好处?

在数字化浪潮的推动下,社交媒体平台正重塑商业推广与品牌建设的面貌。TikTok,这款全球热门的短视频应用,已经吸引了亿万用户的瞩目。对于出海电商和品牌推广而言,借助云手机运营TikTok,能够解锁更多潜在可能&#xff0…

Linux:进程调度

Linux:进程调度 进程优先级查看优先级调整优先级 Linux 2.6 内核进程调度队列 进程优先级 查看优先级 在Linux中,进程是有优先级的,我们可以通过指令ps -la来查看: 其中PRI表示priority优先级,在Linux中,…

第九、十章 异常、模块、包以及数据可视化

第九章 异常、模块、包 异常 捕获异常 捕获常规异常 # 捕获常规异常 try:f open("D:/abc.txt", "r", encoding "UTF-8") except:print("出现异常了,因为文件不存在,我将open的模式,改为w模式去打开&qu…

docker灵活部署mysql

博客简要 用docker部署mysql,并将数据库映射到主机上,并增加远端访问mysql数据库 当你使用Docker运行MySQL时,并且希望将MySQL数据库的数据存储在宿主机(也就是运行Docker的主机)上的特定路径,你需要在启动容器时通过…

windows下vscode调试虚拟机linux c++工程的三种方法

vscode去远程调试方法有很多种,不同的插件对应了不同的调试方法,比如: 1.C/C插件进行GDB调试(编写launch.json文件) 2.C/C Runner插件 3.CMake Tools插件(只针对CMake工程,需要搭配C/C插件一起使用,但无…

js自动缩放页面,html自动缩放页面,大屏自动缩放页面,数字看板自动缩放页面,大数据看板自动缩放页面

js自动缩放页面,html自动缩放页面,大屏自动缩放页面,数字看板自动缩放页面,大数据看板自动缩放页面 由纯JS实现 html代码 <!DOCTYPE html> <html lang="en"><head><meta charset="UTF-8"><meta http-equiv="X-UA-C…