首页/系统工具/内容

Linux系统怎样区分Nginx日志

系统工具2024-01-16 阅读()
Linux,全称GNU/Linux,是一种免费使用和自由传播的类UNIX操作系统,其内核由林纳斯·本纳第克特·托瓦兹于1991年10月5日首次发布,它主要受到Minix和Unix思想的启发,是一个基于POSIX的多用户、多任务、支持多线程和多CPU的操作系统。

  Linux系统下Nginx 日志可以查看系统运行记录和出错说明,对Nginx 日志的分析可以了解系统运行的状态。那么Linux系统Nginx日志怎么分析呢?

Linux系统怎么分析Nginx日志

  Nginx 日志相关配置有 2 个地方:access_log 和 log_format 。

  默认的格式:

  access_log /data/logs/nginx-access.log;

  log_format old ‘$remote_addr [$time_local] $status $request_time $body_bytes_sent ’

  ‘“$request” “$http_referer” “$http_user_agent”’;

  相信大部分用过 Nginx 的人对默认 Nginx 日志格式配置都很熟悉,对日志的内容也很熟悉。但是默认配置和格式虽然可读,但是难以计算。

  Nginx 日志刷盘相关策略可配置:

  比如,设置 buffer,buffer 满 32k 才刷盘;假如 buffer 不满 5s 钟强制刷盘的配置如下:

  access_log /data/logs/nginx-access.log buffer=32k flush=5s;

  这决定了是否实时看到日志以及日志对磁盘 IO 的影响。

  Nginx 日志能够记录的变量还有很多没出现在默认配置中:

  比如:

  请求数据大小:$request_length

  返回数据大小:$bytes_sent

  请求耗时:$request_time

  所用连接序号:$connection

  当前连接发生请求数:$connection_requests

  Nginx 的默认格式不可计算,需要想办法转换成可计算格式,比如用控制字符 ^A (Mac 下 ctrl+v ctrl+a 打出)分割每个字段。

  log_format 的格式可以变成这样:

  log_format new ‘$remote_addr^A$http_x_forwarded_for^A$host^A$time_local^A$status^A’

  ‘$request_time^A$request_length^A$bytes_sent^A$http_referer^A$request^A$http_user_agent’;

  这样之后就通过常见的 Linux 命令行工具进行分析了:

  查找访问频率最高的 URL 和次数:

  cat access.log (北联网教程,专业提供视频软件下载)

第1页  第2页  第3页  第4页  第5页  第6页  第7页  第8页  第9页  第10页  第11页  第12页  第13页  第14页  第15页  第16页  第17页  第18页  第19页  第20页  第21页  第22页  第23页 

……

相关阅读