LNMP详解(十四)——Nginx日志详解

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: LNMP详解(十四)——Nginx日志详解

今天继续给大家介绍Linux运维相关知识,本文主要内容是Nginx日志分析。

一、Nginx日志分析简介
当Nginx作为web服务器时,会提供对外访问功能,这时对Nginx日志运行的错误和访问记录会进行记录,这就是Nginx的日志。Nginx日志主要记录以下信息:
1、记录Nginx服务启动和停止的信息。
2、记录客户端访问Nginx服务的信息,包括客户端IP、客户端浏览器、访问时间、访问状态等等。
3、记录Nginx运行的异常情情况及错误信息。
如果是使用源码的方式安装Nginx,那么Nginx日志在安装目录下的logs目录下,在该目录下存在访问日志和错误日志,访问日志如下所示:

错误日志如下所示:

在企业生产环境中,当Nginx运行后,SA(系统分析师)会密切关注Nginx日志的相关内容,发现异常情况及时处理。

二、Nginx日志配置
Nginx对于日志的配置,分为日志格式和日志文件两部分,日志格式定义了日志中含有什么内容,而日志文件定义了日志文件的位置和文件名。
Nginx的日志包含访问日志access_log和错误日志error_log两种,错误日志配置格式如下:
error_log 【日志文件】 【日志级别】
错误日志的级别有以下6种,从高到低分别是debug——info——notice——warning——error——critic,含义分别是测试、显示、通知、警告、报错和紧急,显示信息逐步减少。在生产环境中,我们一般将日志级别定义为warning及以上。
访问日志配置格式如下:
log_format 【日志格式名】 【日志参数】
access_log 【日志文件】 【日志格式】
log_format定义了日志中含有什么类型的参数,而access_log定义了访问日志的位置和采用的格式。
定义access_log时必须定义log_format。

三、Nginx日志参数
有时我们需要根据我们的需要来定义Nginx访问日志的参数,即Nginx访问日志的内容,这时需要我们对Nginx日志的参数有一定的了解,从而筛选出我们想要的信息。常见的Nginx日志参数及其含义如下所示:
1、$remote_addr
表示客户端IP地址。
2、$server_name
表示虚拟主机名称
3、$http_x_forward_for
表示HTTP端请求的真实IP
4、$remote_user
表示客户端用户
5、$request
表示请求的URL和HTTP协议
6、$status
表示返回的HTTP状态码
7、$upstream_status
表示upstream的状态,Nginx作为反向代理时使用。
8、$ssl_protocol
表示SSL协议版本
9、$body_bytes_sent
表示Nginx发送给客户端的字节数,不包括HTTP头的大小
10、$bytes_sent
表示Nginx发送给客户端的字节数,包括HTTP头的大小
11、$connection_requests
表示通过当前链接获得的请求数量
12、$http_referer
表示该访问的来源网页
13、$http_user_agent
表示客户端浏览器
14、$request_length
表示HTTP请求的长度,包括请求行、请求头和请求正文
15、$msec
表示日志写入时间
16、$request_time
表示请求处理时间,单位为秒,精度为毫秒级别,表示Nginx接受用户请求的第一个字节到发送完响应数据的时间,包括接收请求数据时间
17、$upstream_response_time
表示应用程序响应时间,Nginx作为反向代理时使用,计算从Nginx向后端真实服务器建立链接开始到接受完完整数据然后关闭链接的总时间。
原创不易,转载请说明出处:https://blog.csdn.net/weixin_40228200
————————————————

                        版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

原文链接:https://blog.csdn.net/weixin_40228200/article/details/123011564

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
3月前
|
应用服务中间件 nginx
nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
【8月更文挑战第27天】nginx error日志 client intended to send too large body: 1434541 bytes 如何处理?
221 6
|
3月前
|
应用服务中间件 Linux nginx
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
在Linux中,如何统计ip访问情况?分析 nginx 访问日志?如何找出访问页面数量在前十位的ip?
|
3月前
|
存储 监控 应用服务中间件
查看nginx日志文件
器性能和提高网站可用性。掌握日志文件的路径、查看方法和基本分析技能对于任何服务器管理员来说都是必备技能。
112 1
|
3月前
|
存储 Ubuntu 应用服务中间件
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
如何在 Ubuntu VPS 上配置 Nginx 的日志记录和日志轮转
31 4
|
3月前
|
存储 应用服务中间件 nginx
部署ELK+filebeat收集nginx日志
部署ELK+filebeat收集nginx日志
118 0
部署ELK+filebeat收集nginx日志
|
3月前
|
应用服务中间件 Linux nginx
Nginx log 日志文件较大,按日期生成 实现日志的切割
Nginx log 日志文件较大,按日期生成 实现日志的切割
582 0
|
3月前
|
应用服务中间件 nginx
[nginx]日志中记录自定义请求头
[nginx]日志中记录自定义请求头
|
3月前
|
应用服务中间件 Shell nginx
shell分析nginx日志的一些指令
shell分析nginx日志的一些指令
|
3月前
|
应用服务中间件 Shell Linux
使用logrotate定期切割nginx日志
使用logrotate定期切割nginx日志
|
4月前
|
应用服务中间件 Linux 开发工具
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​
Nginx14---目录结构分析,查看Ngnix访问日志命令的写法​