Nginx 是一种常见的反向代理服务,实际业务中承载着大量服务请求。在运行过程中,服务会产生大量访问日志,通常导致用户面临日志分散、数据量庞大等问题。因此,如何高效地收集和管理这些日志数据,对业务的运维和运营具有重要意义。天翼云云日志服务支持Nginx日志提取采集。
Nginx 日志格式
Nginx 日志的格式可通过 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 | 客户端浏览器信息 |
Nginx 配置方式
在日志接入流程中-创建采集配置步骤中,按如下参数说明配置切割模式:
在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"';
LTS将根据 Nginx日志配置中的日志模板,自动生成日志提取正则表达式,如下所示
在正则表达式下方的样例日志中填写你需要采集的实际 Nginx 日志,并点击“验证”按钮,用来验证上述提取模式配置是否正确,如下所示
验证成功后,可在抽取结果中为每个字段设定名称或直接使用默认值: