Nginx模式解析

Logtail Nginx模式插件支持根据log_format中的定义将日志内容结构化,解析为多个键值对形式。

Nginx日志简介

Nginx服务器会根据log_format和access_log配置输出对应的Nginx访问日志,log_format和access_log的默认值如下所示。

log_format main  '$remote_addr - $remote_user [$time_local] "$request" '
                 '$request_time $request_length '
                 '$status $body_bytes_sent "$http_referer" '
                 '"$http_user_agent"';
access_log /var/logs/nginx/access.log main

日志字段说明如下所示。

字段名称

说明

remote_addr

客户端IP地址。

remote_user

客户端用户名。

time_local

服务器时间,前后必须加上中括号([])。

request

请求的URI和HTTP协议。

request_time

整个请求的总时间,单位为秒。

request_length

请求的长度,包括请求行、请求头和请求正文。

status

请求状态。

body_bytes_sent

发送给客户端的字节数,不包括响应头的大小。

http_referer

URL跳转来源。

http_user_agent

客户端浏览器等信息。

功能入口

当您需要使用Logtail插件处理日志时,您可以在创建或修改Logtail配置时,添加插件。具体操作,请参见概述

配置说明

参数名称

说明

NGINX日志配置

Nginx配置文件中的日志配置部分,以log_format开头。例如:

log_format main  '$remote_addr - $remote_user [$time_local] "$request" '
                 '$request_time $request_length '
                 '$status $body_bytes_sent "$http_referer" '
                 '"$http_user_agent"';

更多信息,请参见Nginx日志简介

原始字段

解析日志前,用于存放日志内容的原始字段,默认值为content。

日志提取字段

根据NGINX日志配置自动提取对应的日志字段(Key)。

解析失败时保留原始字段

选中解析失败时保留原始字段,则解析失败时,将保留原始字段。

解析成功时保留原始字段

选中解析成功时保留原始字段,则解析成功时,将保留原始字段。

重命名的原始字段

选中解析失败时保留原始字段解析成功时保留原始字段后,可重命名原始字段名,用于存放原始的日志内容。