目录:

  1. 日志分析
  2. 日志的常用需求分析
  3. Nginx 日志切割

日志分析

Nginx 默认日志路径/usr/local/nginx/logs/,其中包含访问日志 access.log 和错误 记 录 日 志 error.log。
查看 nginx 访问日志 :

cat /usr/local/nginx/logs/access.log | more

Nginx 访问日志打印的格式可以自定义,例如 Nginx 日志打印格式配置如下, Log_format 用来设置日志格式,Name(模块名) Type(日志类型),可以配置多个日志模块,分别供不同的虚拟主机日志记录所调用:

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

Nginx 日志格式内部变量及函数参数说明:

$remote_addr 记录客户端 IP 地址;$server_name 虚拟主机名称;$http_x_forwarded_for HTTP 的请求端真实的 IP;$remote_user 记录客户端用户名称;$request   记录请求的 URL 和 HTTP 协议;$status  记录返回 HTTP 请求的状态;$uptream_status  upstream 的状态;$ssl_protocol   SSL 协议版本;$body_bytes_sent    发送给客户端的字节数,不包括响应头的大小;$bytes_sent  发送给客户端的总字节数;$connection_requests 当前通过一个连接获得的请求数量;$http_referer    记录从哪个页面链接访问过来的;$http_user_agent  记录客户端浏览器相关信息;$request_length 请求的长度,包括请求行,请求头和请求正文;$msec 日志写入时间;$request_time 请求处理时间,单位为秒,精度毫秒,Nginx 接受用户请求的第一个字节到发送完响应数据的时间,包括:接收请求数据时间、程序响应时间、输出、响应数据时间。$upstream_response_time 应用程序响应时间,Nginx 向后端服务建立连接开始到接受完数据然后关闭连接为止的总时间。

回到目录

日志的常用需求分析

通过 Nginx 日志,可以简单分析 WEB 网站的运行状态、数据报表、IP、UV(unique visitor)、PV(page view)访问量等需求

  1. 统计 Nginx 服务器独立 IP 数。
[root@cacti logs]# awk '{print $1}' access.log | sort -r | uniq -c | wc -l
713739
  1. 统计 Nginx 服务器总 PV 量。
[root@linux-node2 ~]# awk '{print $7}' access.log | wc -l
130586
  1. 统计 Nginx 服务器 UV 统计
[root@linux-node2 ~]# awk '{print $11}' access.log | sort -r| uniq -c | wc -l
10
  1. 分析 Nginx 访问日志截止目前为止访问量前 20 的 IP 列表。
[root@linux-node2 ~]# awk '{print$1}' access.log | sort | uniq -c | sort -nr |head -2088466 10.0.0.517441 192.168.5.2525431 119.130.230.1012446 119.130.229.2172142 192.168.40.831238 192.168.40.2381129 192.168.40.2321065 192.168.40.118663 192.168.40.88528 192.168.40.153517 192.168.40.146510 192.168.40.134474 192.168.40.124450 192.168.40.73414 192.168.40.200333 192.168.40.164321 192.168.40.177318 73.171.171.150306 192.168.40.81306 192.168.40.116
  1. 分析 Nginx 访问日志早上 9 点至中午 12 点的总请求量
[root@linux-node2 ~]# awk '/2019:00:00/,/2019:12:00/' access.log | wc -l
27008
  1. 分析 Nginx 访问日志状态码 404、502、503、500、499 等错误信息页面,打印错误出现次数大于 20 的 IP 地址。
[root@linux-node2 ~]# awk '{if ($12~/502|499|500|503|404/) print $1,$12}' access.log |sort |uniq -c|sort -nr | awk '{if($1>20) print $2}'
  1. 分析 Nginx 访问日志访问最多的页面。
[root@linux-node2 ~]# awk '{print $7}' access.log |sort |uniq -c|sort -nr|head -20
  1. 分析 Nginx 访问日志请求处理时间大于 5 秒的 URL,并打印出时间、URL、访客IP
[root@linux-node2 ~]# awk '{if ($(NF-4)>5) print $(NF-4),$7,$1}' access.log|sort -nr|more

回到目录

Nginx 日志切割

示例:vim /data/sh/auto_nginx_log.sh

#!/bin/bash
#
#auto mv nginx log shellS_LOG=/usr/local/nginx/logs/access.log
D_LOG=/data/backup/`date +%Y%m%d`echo -e "\033[32mPlease wait start cut shell scripts...\033[1m" sleep 2if [ ! -d $D_LOG ];then
mkdir -p $D_LOG
fimv $S_LOG $D_LOGkill -USR1 `cat /usr/local/nginx/logs/nginx.pid`echo "------------------------------------"echo "The Nginx log Cutting Successfully!"echo "You can access backup nginx log $D_LOG/access.log files."

在/var/spool/cron/root 中添加

0    0   *   *   *   /bin/sh /data/sh/auto_nginx_log.sh >>/tmp/nginx_cut.log 2>&1

回到目录

Nginx 日志分析相关推荐

  1. python nginx日志分析_Nginx日志分析及脚本编写

    在我们日常的运维中,当Nginx服务器正常运行后,我们会经常密切关注Nginx访问日志的相关情况,发现有异常的日志信息需要进行及时处理. 那今天我将跟大家一起来研究和分析Nginx日志,nginx默认 ...

  2. 使用elk+redis搭建nginx日志分析平台(引)

    http://www.cnblogs.com/yjf512/p/4199105.html elk+redis 搭建nginx日志分析平台 logstash,elasticsearch,kibana 怎 ...

  3. ELK+redis搭建nginx日志分析平台

    ELK+redis搭建nginx日志分析平台 发表于 2015-08-19   |   分类于 Linux/Unix   |   ELK简介 ELKStack即Elasticsearch + Logs ...

  4. nginx日志分析脚本

    #!/usr/bin/env bashecho "" echo " =================================================== ...

  5. SRE从踩坑到牛逼(二)利用Python进行Arcgis站点分析+Nginx日志分析

    前面是日记,或者是牢骚吧 就感觉挺可惜的,一月份的时候因为分析日志的需求,写过一个几十行的代码,能够做到Arcgis站点分析,并且录入到Excel,根据Arcgis站点信息进行日志分析的部分还没写,这 ...

  6. Nginx日志分析系统——Elastic Stack的系列产品的使用

    目录 1.Nginx日志分析系统 1.1.项目需求 2.部署安装Nginx 3.Beats 简介 4.Filebeat 4.1.架构 4.2.部署与运行 4.3.读取文件 4.4.自定义字段 4.5. ...

  7. php 监控nginx日志文件,Nginx 日志分析及实时监控

    本文档以 Nginx 日志为例,介绍如何使用日志分析服务来分析 Nginx 日志中的各种指标. 许多个人站长选取了 Nginx 作为服务器搭建网站,在对网站访问情况进行分析时,需要对 Nginx 访问 ...

  8. Nginx日志分析工具

    Nginx日志分析工具 1. 介绍三个关于分析nginx日志信息的工具. 2. nginx_log_analysis 这个工具是由一位叫LEO的网友提供的,它的博客是http://linux5588. ...

  9. shell进行nginx日志分析

    shell进行Nginx日志分析 日志格式 log_format combined_realip '$remote_addr $http_x_forwarded_for [$time_local]'' ...

  10. 基于awk的nginx日志分析

    基于awk的nginx日志分析 基于awk的nginx日志分析 定义 nginx日志 awk分析示例 基于awk的nginx日志分析 在系统调优的时候,经常要去分析nginx的请求日志,统计.分析各个 ...

最新文章

  1. 5款没有专利纠葛的Linux发行版
  2. centos7 mysql安装
  3. 滴滴重磅开源跨平台统一 MVVM 框架 Chameleon
  4. java txt 写入_JAVA 写入TXT文件
  5. 栈应用(中缀表达式转后缀表达式并计算后缀表达式的值)
  6. Android公共jar,使用JitPack管理Android项目中公共模块库
  7. 十八、数据容器、数据访问宽度、端口(计算机对数据处理方式:读取、写入、运算;数据可存放三个地方:CPU内部、内存、端口)
  8. SqlBulkCopy类进行大数据(一万条以上)插入测试
  9. 【OpenCV】视频/图像背景减除方法
  10. “37岁,985毕业,年薪50万,被裁掉只用了10分钟”
  11. golang中的检验hash
  12. 台式计算机可以连接蓝牙吗,台式电脑可以连接蓝牙音响吗
  13. SpringAop实现原理
  14. 活动回顾 | 大咖云集“开源安全治理模型和工具”线上研讨会
  15. python制作模型排放清单_机动车尾气污染物排放模型研究综述.pdf
  16. ue4 vr连接_基于UE4的VR项目基础环境配置和Motion Controller控制配置
  17. Java6面向对象编程创建一个矩形类, 求周长 面积
  18. 2017第二届上海DAC体验
  19. Vue 脚手架搭建目录及文件详解
  20. 单页面SPA(如react,vue)网站的服务器渲染SSR之SEO大杀器rendertron(超详细配置+避坑)

热门文章

  1. ​创业15年,50岁回到农村过上退休的生活,上班和创业是两难的选择。
  2. ajax长轮询tornado,Tornado长轮询和WebSocket
  3. 极限题型二:求数列极限常见题型
  4. 使用java打开网页并截图
  5. 服务器整体爆率如何修改,土豪玩家是怎么玩游戏的?一口气收购全区物资,逼得官方修改爆率!...
  6. 小学用计算机画图单元教学要求,小学电脑绘画教学计划
  7. 用HTML画一个好看的玫瑰花
  8. 虚猕数藏数字藏品平台如何?平台藏品安全吗?
  9. 【区块链 | NFT】NFT游戏怎么开发?详细的开发指南来了【2022】
  10. v63.04 鸿蒙内核源码分析(文件系统) | 用图书管理说文件系统 | 百篇博客分析OpenHarmony源码