tencent cloud

日志服务

动态与公告
产品动态
公告
新手指引
产品简介
产品概述
产品优势
地域和访问域名
规格与限制
基本概念
购买指南
计费概述
产品定价
按量计费(后付费)
欠费说明
清理日志服务资源
成本优化
常见问题
快速入门
一分钟入门指南
入门指南
使用 Demo 日志快速体验 CLS
操作指南
资源管理
权限管理
日志采集
指标采集
日志存储
指标存储
检索分析(日志主题)
检索分析(指标主题)
仪表盘
数据处理
投递与消费
监控告警
云产品中心
DataSight 独立控制台
历史文档
实践教程
日志采集
检索分析
仪表盘
监控告警
投递和消费
成本优化
开发者指南
通过 iframe 内嵌 CLS(旧方案)
通过 Grafana 使用 CLS
API 文档
History
Introduction
API Category
Making API Requests
Topic Management APIs
Log Set Management APIs
Index APIs
Topic Partition APIs
Machine Group APIs
Collection Configuration APIs
Log APIs
Metric APIs
Alarm Policy APIs
Data Processing APIs
Kafka Protocol Consumption APIs
CKafka Shipping Task APIs
Kafka Data Subscription APIs
COS Shipping Task APIs
SCF Delivery Task APIs
Scheduled SQL Analysis APIs
COS Data Import Task APIs
Data Types
Error Codes
常见问题
健康监测问题解释
采集相关
检索分析相关
其他问题
服务等级协议
CLS 政策
隐私协议
数据处理和安全协议
联系我们
词汇表

采集 Nginx 访问日志

PDF
聚焦模式
字号
最后更新时间: 2025-12-03 11:22:42

操作场景

Nginx 作为常见的反向代理服务,在实际业务中承载着大量的服务请求。服务在运行过程中会产生大量访问日志,通常使用户面临着集群中日志分散,数据量庞大等问题,因此如何有效地收集管理这些日志数据对业务的运维及运营都有着非常重要的意义。本文以 Nginx 访问日志为例,介绍如何使用日志服务接入 Nginx 日志。

Nginx 日志格式

Nginx 访问日志(access.log)的格式可以通过 log_format 命令来定义,例如下列格式:
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
各字段含义如下:
字段名
含义
remote_addr
客户端 IP 地址
remote_user
客户端名称
time_local
服务器本地时间
request
HTTP 请求方法及 url 地址
status
HTTP 请求状态码
body_bytes_sent
发送给客户端的字节数
http_referer
访问来源的页面链接地址
http_user_agent
客户端浏览器信息

操作步骤

步骤1:创建/选择日志主题

选择新的日志主题
选择现有的日志主题
如果您想选择新的日志主题,可执行如下操作:
2. 在左侧导航栏中,单击概览,进入概览页面。
3. 在快速接入中,从服务器及应用找到并单击 Nginx 日志,进入采集配置流程。

4. 在采集配置流程的日志主题管理页面,根据实际需求,输入日志主题名称,配置日志保存时间等信息,单击下一步

如果您想选择现有的日志主题,可执行如下操作:
2. 在左侧导航栏中,单击日志主题,选择需要投递的日志主题,单击日志主题名称,进入日志主题管理页面。
3. 选择采集配置页签,在 LogListener 采集配置栏下单击新增,进入采集配置流程。

4. 在日志数据源选择页面中,从服务器及应用找到并单击 Nginx 日志,进入采集配置流程。


步骤2:管理机器组

完成日志主题新建或选择之后,单击下一步进入机器组管理页面。



若您需要采集的目标服务器未安装 LogListener,可参见:
如果您想创建新的机器组,可执行如下操作:
(1)单击新建机器组,并在机器组创建弹窗中,通过 IP 或者机器标识的方式关联已安装 LogListener 的目标服务器。详情请参见 机器组






(2)完成创建后,您可在列表中找到并选择您创建的机器组。



如果您想选择现有的机器组,可直接在列表中找到您的目标机器组:




步骤3:采集配置

完成机器组配置之后,单击下一步进入采集配置流程 - 采集配置页面。

配置日志文件采集路径




采集配置页面,填写采集规则名称,并根据日志采集路径格式填写采集路径。日志采集路径格式参考如下:
注意:
Linux日志路径必须以/开头。 Windows文件路径必须以盘符开头,如C:\\
Linux 系统中的日志路径:/[目录前缀表达式]/**/[文件名表达式],例如:/data/log/**/*.log
Windows 系统中的日志路径:[盘符]:\\[目录前缀表达式]\\**\\[文件名表达式],例如:C:\\Program Files\\Tencent\\...\\*.log
填写日志采集路径后,LogListener 会按照[目录前缀表达式]匹配所有符合规则的公共前缀路径,并监听这些目录(包含子层目录)下所有符合[文件名表达式]规则的日志文件。其参数详细说明如下:
字段
说明
目录前缀
日志文件前缀目录结构,仅支持通配符 * 和 ?
* 表示匹配多个任意字符
? 表示匹配单个任意字符
不支持填写逗号
**
表示当前目录以及所有子目录
文件名
日志文件名,仅支持通配符 * 和 ?
* 表示匹配多个任意字符
? 表示匹配单个任意字符
不支持填写逗号
常用的配置模式如下:
[公共目录前缀]/**/[公共文件名前缀]*
[公共目录前缀]/**/*[公共文件名后缀]
[公共目录前缀]/**/[公共文件名前缀]*[公共文件名后缀]
[公共目录前缀]/**/*[公共字符串]*
填写示例如下:
序号
目录前缀表达式
文件名表达式
说明
1.
/var/log/nginx
access.log
此例中,日志路径配置为/var/log/nginx/**/access.log,LogListener 将会监听/var/log/nginx前缀路径下所有子目录中以access.log命名的日志文件
2.
/var/log/nginx
*.log
此例中,日志路径配置为/var/log/nginx/**/*.log,LogListener 将会监听/var/log/nginx前缀路径下所有子目录中以.log结尾的日志文件
3.
/var/log/nginx
error*
此例中,日志路径配置为/var/log/nginx/**/error*,LogListener 将会监听/var/log/nginx前缀路径下所有子目录中以error开头命名的日志文件
注意:
Windows 系统环境暂不支持软链采集。
LogListener 2.3.9及以上版本才可以添加多个采集路径。
日志轮转场景下,建议配置采集路径为 log/*.log,并将日志轮转后的老文件命名为 log/*.log.xxxx
默认情况下,一个日志文件只能被一个日志主题采集。如果一个文件需要对应多个采集配置,且文件所在系统环境为 Linux,请给源文件添加一个软链接,并将其加到另一组采集配置中。

配置采集路径黑名单

开启采集路径黑名单,可在采集时忽略指定的目录前缀或完整的文件路径。目录路径和文件路径可以是完全匹配,也支持通配符模式匹配。



采集黑名单分为两类过滤类型,且可以同时使用:
文件路径:采集路径下,需要忽略采集的完整文件路径,支持通配*或?,支持**路径模糊匹配。
目录路径:采集路径下,需要忽略采集的目录前缀,支持通配*或?,支持**路径模糊匹配。
注意:
需要 LogListener 2.3.9及以上版本。
采集黑名单是在采集路径下进行排除,因此无论是文件路径模式,还是目录路径模式,其指定路径要求为采集路径的子集。

配置采集策略

全量采集:LogListener 采集文件时,从文件的开头开始读。
增量采集:LogListener 采集文件时,只采集文件内新增的内容。

配置回溯采集

注意:
Windows 系统环境暂不支持。

当采集策略选择为增量采集时,您可进一步在回溯采集中指定当 LogListener 启动采集时,是否从最新的位置往前偏移指定字节的位置开始采集。

配置编码模式

UTF-8:若您的日志文件编码模式为 UTF-8,请选择该选项。
GBK:若您的日志文件编码模式为 GBK,请选择该选项。

配置提取模式

提取模式选择“Nginx 日志模板”,填写 Nginx 配置文件(通常为 /etc/nginx/nginx.conf 或 /usr/local/nginx/conf/nginx.conf)中的日志模板,通常以 log_format 开头,例如:
log_format main '$remote_addr - $remote_user [$time_local] '
'"$request" $status $body_bytes_sent '
'"$http_referer" "$http_user_agent"';
CLS 将根据上面的 Nginx 日志模板自动生成日志提取正则表达式,例如:
(\\S+)\\s*-\\s*(\\S+)\\s*\\[(\\d+\\S+\\d+:\\d+:\\d+:\\d+)\\s+\\S+\\]\\s*\\"(\\S+)\\s+(\\S+)\\s+\\S+\\"\\s*(\\S+)\\s*(\\S+)\\s*\\"([^"]*)\\"\\s*\\"([^"]*)\\".*
在样例日志中填写一条实际的 Nginx 日志,用来验证上述提取模式配置是否正确,例如:
59.x.x.x - - [06/Aug/2019:12:12:19 +0800] "GET /nginx-logo.png HTTP/1.1" 200 368 "http://119.x.x.x/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36" "-"
提取模式验证成功后,可为每个字段设定名称或直接使用默认值:



配置自定义元数据

注意:
Windows 系统环境暂不支持。
需要 LogListener-2.8.7及以上版本。
您可配置自定义元数据,可以用来区分日志。当前支持以下几种元数据配置。详情请参见 自定义元数据
机器组元数据:使用机器组元数据。
采集路径:通过正则提取采集路径中的值作为元数据。
自定义:自定义键值作为元数据。

配置过滤器条件

过滤器的目的是根据业务需要添加日志采集过滤规则,以帮助您筛选出有价值的日志数据。
完全正则采集时,需要根据所自定义的键值对来配置过滤条件。支持以下过滤规则:
等于:仅采集指定字段值匹配指定字符的日志。支持完全匹配,或正则匹配。
不等于:仅采集指定字段值不匹配指定字符的日志。支持完全匹配,或正则匹配。
字段存在:仅采集指定字段存在的日志。
字段不存在:仅采集指定字段不存在的日志。
例如,样例日志使用完全正则模式解析后,您希望 status 字段为400或500的所有日志数据被采集,那么 key 处配置 status,过滤规则选择等于,value 处配置400|500。
注意:
Windows 系统环境暂不支持。
过滤规则 “不等于”、“字段存在”以及“字段不存在” 仅在 LogListener 2.9.3及以上版本支持。
多条过滤条件之间关系是"与"逻辑,若同一 key 名配置多条过滤条件,规则会被覆盖。

配置上传解析失败日志

建议开启上传解析失败日志。开启后,LogListener 会上传各式解析失败的日志。若关闭上传解析失败日志,则会丢弃失败的日志。



开启后需要配置解析失败的 Key 值(默认为 LogParseFailure),所有解析失败的日志,均以输入内容作为键名称(Key),原始日志内容作为值(Value)进行上传。

上传原始日志

开启后 LogListener 会将原始日志与解析后的日志一起上传。所有原始日志,均以您指定的键名称,原始日志内容将作为值(Value)进行上传。

高级配置

注意:
Windows 系统环境暂不支持。
通过勾选,选择您需要定义的高级配置:



单行全文模式下,支持配置以下高级配置:
名称
描述
配置项
超时属性
该配置控制日志文件的超时时间。如果一个日志文件在指定时间内没有任何更新,则为超时。超时的日志文件 LogListener 将不再采集。当您的日志文件数量较大时,建议降低超时时间,避免 LogListener 性能浪费
不超时:日志文件永不超时
自定义:自定义日志文件的超时时间
最大目录深度
采集路径中的/**/代表查找所有子目录中的文件。但是,在查找过程中,如果不想搜索太深的目录,可以使用"最大目录深度"配置项来限制搜索深度
大于0的整数。0代表不进行子目录的下钻

数据加工

如您需要对采集到的 CLS 日志进一步处理,如结构化、脱敏、过滤,然后再写入日志主题,您可点击采集配置页面下方的数据加工,添加数据加工,最后 配置索引



说明:
数据加工相关操作请参考 创建加工任务 文档中【采集后立即加工】TAB 页面。
数据加工脚本的编写请参考 数据加工函数总览,或者 加工实战案例
数据加工会产生费用,详情请参见 计费概述

步骤4:索引配置

1. 单击下一步,进入索引配置页面。
2. 索引配置页面,设置如下信息。配置详情请参考 索引配置
注意:
检索必须开启索引配置,否则无法检索。
3. 单击提交,完成采集配置。

步骤5:检索分析 Nginx 日志

1. 在左侧导航栏中,单击检索分析,进入检索分析页面。
2. 单击顶部的“日志集”和“日志主题”的下拉框,选择待检索的日志主题,即可查询到 Nginx 访问日志内容。
3. 更多检索分析示例语句可参见 Nginx 访问日志分析

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈