nginx访问日志处理:如何解析nginx访问日志?

2021年11月9日22:25:29 发表评论 784 次浏览

如果你想优化你的 web 服务器,了解Nginx 访问日志以及学会nginx访问日志处理是必不可少的。日志记录是你在遇到问题之前采取的单一关键操作。它还在检测 Web 开发中的缺陷方面发挥作用。Nginx 访问日志包含有关用户访问请求的详细信息。如何处理nginx访问日志?要分析监控你的 Web 服务器,你必须解析 Nginx 访问日志。

如何解析 Nginx 访问日志

作为 Linux 用户,你可以使用两种方法来解析你的 Nginx 访问。你可以使用Linux 命令或使用日志分析器工具。执行Linux命令将解析指定函数的Nginx访问日志,而使用任何分析工具解析Nginx访问日志时,你都可以获得完整的报告。这篇文章将演示两种解析 Nginx 访问日志的方法。那么,让我们开始吧!

如何解析 Nginx 访问日志以获取 IP 地址列表

本节将向你展示如何使用 Linux 命令获取客户端 IP 地址。如果你想知道谁连接到服务器或何时想查看与已知麻烦制造者关联的 IP 地址,则提供的解析 Nginx 访问日志的方法对你很有用。

考虑到你的 Nginx 访问日志保存在“ /var/log ”目录中,执行下面给出的命令将解析 Nginx 访问日志以检索日志文件中已访问用户的 IP 地址列表:

$ sudo cat /var/log/nginx/access.log | awk '{ print $1}' | sort | uniq -c | sort
nginx访问日志处理:如何解析nginx访问日志?

如何解析 Nginx 访问日志以获取访问文件列表

解析nginx访问日志示例:如果你想查看服务器上用户访问的文件列表,请在终端中写出以下给定的命令并按“ Enter ”:

$ sudo cat /var/log/nginx/access.log | awk '{ print $7}' | sort | uniq -c | sort
nginx访问日志处理:如何解析nginx访问日志?

如何解析 Nginx 访问日志以计算每秒请求数

如何处理nginx访问日志?编码天才可以创建一个脚本来读取 Nginx 访问日志文件、解析时间戳并计算每秒的请求数。但是,你可以通过执行一个简单的 Linux 命令来执行整个操作,该命令是:

$ sudo cat /var/log/nginx/access.log | awk '{print $4}' | uniq -c | sort -rn | head

上述命令的输出将整理所有请求,同时为每个请求添加时间戳。这里,第一个数字代表请求计数:

nginx访问日志处理:如何解析nginx访问日志?
nginx访问日志处理

如何解析 Nginx 访问日志以获取响应代码

解析nginx访问日志示例:当 Web 服务器收到来自网站用户的请求时,会返回一个三位数的 HTTP 响应状态代码。此代码指示将要发生的事件。例如,“ 301 ”响应代码表示“永久移动”,而“ 200 ”表示“好的,这是你请求的内容”。你可以解析 Nginx 访问日志以获取响应代码。为此,请在你的 Linux 终端中执行以下命令:

$ sudo cat /var/log/nginx/access.log | cut -d '"' -f3 | cut -d ' ' -f2 | sort | uniq -c | sort -rn

如何使用在线分析工具解析 Nginx 访问日志

解析nginx访问日志示例:如果你将 Nginx 用作静态内容服务器、负载均衡器或 Web 服务器,你肯定想查看你的访问日志以了解它的运行情况。有日志分析工具,Nginx的,如几个选项Goaccess, VisitorsELK堆栈。你可以根据自己的要求选择分析工具。

但是,为了演示使用在线分析器工具解析 Nginx 访问日志的过程,我们选择了Goaccess。要使用 Goaccess 解析 Nginx 访问日志,你必须先在你的系统上安装它:

$ sudo apt install goaccess
nginx访问日志处理:如何解析nginx访问日志?
nginx访问日志处理:如何解析nginx访问日志?
nginx访问日志处理

如何解析nginx访问日志?使用 Goaccess 分析器工具Goaccess包含实时监控功能以及交互式终端查看器。它是用 C 语言构建的,这就是它速度快的原因,并利用磁盘上的 B+Tree 数据库逐步处理日志。设计 Goaccess 分析器工具背后的目标是提供一些可以在终端上快速执行日志分析的东西。

Goaccess 每 200 毫秒生成一次指标。因此,你可以实时准确了解交通状况。当某些事情无法正常工作或出现意外的流量高峰时,此功能可以方便地找出背后的原因。然后 Goaccess 将确定问题是出在 Nginx 应用程序上还是出在网络上。

如何处理nginx访问日志?你可以通过执行以下命令来利用 Nginx 访问日志中最关键的解析信息,而不是手动检查 Nginx 访问日志以查找问题:

$ goaccess /var/log/nginx/access.log
nginx访问日志处理:如何解析nginx访问日志?

现在,选择日志格式并按“ Enter ”继续:

nginx访问日志处理:如何解析nginx访问日志?

选择日志格式后,你将能够查看 Goaccess 分析器的仪表板,该仪表板将显示与每日唯一访问者、请求文件相关的信息:

nginx访问日志处理:如何解析nginx访问日志?
如何解析nginx访问日志?

Goaccess 还将为你提供有关静态请求、未找到 URL 的信息:

nginx访问日志处理:如何解析nginx访问日志?
nginx访问日志处理

你还可以查看网站访问者的主机名和 IP,以及他们的操作系统、浏览器和他们在网站上花费的时间:

nginx访问日志处理:如何解析nginx访问日志?
nginx访问日志处理:如何解析nginx访问日志?
如何解析nginx访问日志?

向下滚动 Goaccess 仪表板,查看与来自 Google 搜索引擎的引荐来源网址、引荐网站、HTTP 状态代码和关键短语相关的信息:

nginx访问日志处理:如何解析nginx访问日志?
解析nginx访问日志示例
nginx访问日志处理:如何解析nginx访问日志?
解析nginx访问日志示例

在最后一节中,我们将看到与我们的 Web 服务器链接的地理位置数据:

nginx访问日志处理:如何解析nginx访问日志?
如何处理nginx访问日志

nginx访问日志处理总结

访问日志为你提供了确定 Nginx 正在做什么所需的信息。你可以解析 Nginx 访问日志以监控、分析和优化你的 Web 服务器。如何解析nginx访问日志?如果你是 Linux 用户,则可以使用命令或 Nginx 分析器工具解析 Nginx 日志。分析器工具为你提供有关 Web 服务器性能的完整报告,而用于解析 Ngnix 访问日志的命令的执行只会向你显示指定操作的输出。这篇文章向你展示了如何使用 Linux 命令和Goaccess分析器工具解析 Ngnix 访问日志

木子山

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: