- 最新动态
- 功能总览
- 产品介绍
- 计费说明
- 快速入门
-
用户指南
- 授权IAM用户使用云日志服务LTS
- 购买LTS资源包
- 日志管理
-
日志接入
- 日志接入概述
- 使用ICAgent插件采集日志
-
使用云服务接入LTS
- 云服务接入LTS概述
- 应用运维管理AOM接入LTS
- API网关APIG接入LTS
- Astro轻应用接入LTS
- 云堡垒机CBH接入LTS
- 内容分发网络CDN接入LTS
- 云防火墙CFW接入LTS
- 云审计服务CTS接入LTS
- 分布式缓存服务DCS接入LTS
- 文档数据库服务DDS接入LTS
- DDoS防护 AAD接入LTS
- 分布式消息服务Kafka版接入LTS
- 数据复制服务DRS接入LTS
- 数据仓库服务GaussDB(DWS)接入LTS
- 弹性负载均衡 ELB接入LTS
- 企业路由器ER接入LTS
- 函数工作流FunctionGraph接入LTS
- 云数据库GaussDB接入LTS
- 图引擎服务GES接入LTS
- 云数据库 TaurusDB接入LTS
- 云数据库GeminiDB接入LTS
- 云数据库GeminiDB Mongo接入LTS
- 云数据库GeminiDB Cassandra接入LTS
- 华为HiLens接入LTS
- 设备接入IoTDA接入LTS
- AI开发平台ModelArts接入LTS
- MapReduce服务MRS接入LTS
- 云数据库RDS for MySQL接入LTS
- 云数据库RDS for PostgreSQL接入LTS
- 云数据库RDS for SQLServer接入LTS
- 应用与数据集成平台ROMA Connect接入LTS
- 视频直播Live接入LTS
- 消息通知服务SMN接入LTS
- 安全云脑SecMaster接入LTS
- 对象存储服务OBS接入LTS(邀测)
- 虚拟私有云VPC接入LTS
- Web应用防火墙WAF接入LTS
- 使用API接入LTS
- 使用SDK接入LTS
- 跨IAM账号接入LTS
- 使用KAFKA协议上报日志到LTS
- 使用Flume采集器上报日志到LTS
- 使用匿名写入采集日志
- 自建中间件
- 日志搜索与分析(默认推荐)
- 日志搜索与分析(管道符方式-邀测)
- 日志可视化
- 日志告警
- 日志转储
- 日志消费与加工
- LTS配置中心管理
- 查看LTS审计事件
- 最佳实践
- 开发指南
- API参考
- SDK参考
- 场景代码示例
- 常见问题
- 视频帮助
- 文档下载
- 通用参考
链接复制成功!
中间件-Nginx日志
Nginx是一个开源的、高性能的HTTP和反向代理服务器,以及IMAP/POP3/SMTP代理服务器。它具有其稳定性、丰富的功能集、简单的配置和低系统资源消耗等特点。Nginx常被用于处理静态文件、负载均衡、反向代理以及缓存等功能,适用于各种规模的网站和应用程序。
Nginx日志主要分为两种:访问日志(access_log)和错误日志(error_log)。这些日志对于系统监控、性能分析、故障排查等都非常有用。
- 访问日志(access_log):访问日志记录了客户端访问Nginx服务器的详细信息。通过访问日志,您可以了解到用户的IP地址、访问的URL、访问时间、请求的处理时间、HTTP响应状态码、请求的头部信息等。
- 错误日志(error_log):错误日志记录了Nginx服务器在处理请求过程中遇到的错误和警告信息。通过查看错误日志,您可以定位到问题的源头,从而进行故障排除。
采集方法
使用ICAgent采集日志,接入前请参考安装ICAgent(区域内主机)完成ICAgent安装。然后再通过采集ECS-文本日志方式将日志上报至LTS服务,详细操作请参考云主机ECS文本日志接入LTS。
Nginx日志示例以及字段含义
介绍访问日志和错误日志的示例和字段说明。
参数 |
说明 |
示例 |
---|---|---|
$remote_addr |
客户端地址。 |
211.28.65.253 |
$remote_user |
客户端用户名称。 |
-- |
$time_local |
访问时间和时区。 |
18/Jul/2012:17:00:01 +0800 |
$request |
请求的URI和HTTP协议。 |
"GET /article-10000.html HTTP/1.1" |
$http_host |
请求地址,即浏览器中您输入的地址(IP或域名)。 |
www.wang.com 192.168.100.100 |
$status |
HTTP请求状态。 |
200 |
$upstream_status |
upstream状态。 |
200 |
$body_bytes_sent |
发送给客户端文件内容大小。 |
1547 |
$http_referer |
url跳转来源。 |
https://www.example.com/ |
$http_user_agent |
用户终端浏览器等信息。 |
"Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; SV1; GTB7.0; .NET4.0C; |
$ssl_protocol |
SSL协议版本。 |
TLSv1 |
$ssl_cipher |
交换数据中的算法。 |
RC4-SHA |
$upstream_addr |
后台upstream的地址,即真正提供服务的主机地址。 |
10.10.10.100:80 |
$request_time |
整个请求的总时间。 |
0.205 |
$upstream_response_time |
请求过程中,upstream响应时间。 |
0.002 |
错误日志示例:
2023/07/10 17:00:00 [error] 12345#12345: *1 recv() failed (104: Connection reset by peer) while reading response header from upstream, client: 192.168.1.100, server: example.com, request: "GET /api/data HTTP/1.1", upstream: "http://10.0.0.1:8080", host: "example.com
示例 |
说明 |
---|---|
2023/07/10 17:00:00 |
错误发生的时间。 |
[error] |
表示这是一个错误日志。 |
12345#12345 |
进程ID。 |
*1 |
连接的编号。 |
recv() failed (104: Connection reset by peer) while reading response header from upstream |
错误信息,表明在从上游读取响应头时接收失败,错误原因是“连接被对方重置”。 |
client: 192.168.1.100 |
客户端的IP地址。 |
server: example.com |
服务器的名称。 |
request: "GET /api/data HTTP/1.1" |
请求的方法和路径。 |
upstream: "http://x.x.x.x:8080" |
上游服务器的地址。 |
host: "example.com" |
请求的主机名。 |
日志位置
在Nginx配置文件中,您可以通过指令来设置访问日志和错误日志的存放位置和格式。例如:
http { ... log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"'; server { ... access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log warn; ... } }
在这个例子中,log_format指令定义了一个名为main的日志格式,然后在server块中使用access_log指令指定了访问日志的存放位置 /var/log/nginx/access.log,错误日志被存放在/var/log/nginx/error.log路径下,并且日志级别被设置为warn。Nginx支持多种日志级别,包括debug、info、notice、warn、error、crit和alert。