Logtail Apache模式解析插件支持根据Apache日志配置文件中的定义将日志内容结构化,解析为多个键值对形式。
Apache日志简介
Apache服务器会根据Apache日志配置文件中指定的日志打印格式、日志文件路径和名称输出Apache日志。例如CustomLog "/var/log/apache2/access_log" combined
,表示日志打印时使用combined格式,日志文件路径为/var/log/apache2/access_log
。
Apache日志格式
combined格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined
common格式
LogFormat "%h %l %u %t \"%r\" %>s %b"
自定义格式
LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D %f %k %p %q %R %T %I %O" customized
相关字段说明如下所示。更多信息,请参见mod_log_config。
字段格式
字段名称
说明
%a
client_addr
客户端IP地址。
%A
local_addr
本地IP地址。
%b
response_size_bytes
响应字节大小,空值时显示为短划线(-)。
%B
response_bytes
响应字节大小,空值时为0。
%D
request_time_msec
请求时间,单位为微秒。
%f
filename
文件名。
%h
remote_addr
远程的主机名。
%H
request_protocol_supple
请求协议。
%I
bytes_received
服务器接收的字节数,需要启用mod_logio模块。
%k
keep_alive
在此连接上处理的请求数。
%l
remote_ident
远程主机提供的识别信息。
%m
request_method_supple
请求方法。
%O
bytes_sent
服务器发送的字节数,需要启用mod_logio模块。
%p
remote_port
服务器端口号。
%P
child_process
子进程ID。
%q
request_query
查询字符串,如果不存在则为空字符串。
%r
request
请求内容,包括方法名、地址和HTTP协议。
%R
response_handler
服务端的处理程序类型。
%s
status
响应的HTTP状态,初始状态。
%>s
status
响应的HTTP状态,最终状态。
%t
time_local
服务器时间。
%T
request_time_sec
请求时间,单位为秒。
%u
remote_user
客户端用户名。
%U
request_uri_supple
请求的URI路径,不带查询字符串。
%v
server_name
服务器名称。
%V
server_name_canonical
根据UseCanonicalName指令设定的服务器名称。
“%{User-Agent}i”
http_user_agent
客户端信息。
“%{Referer}i”
http_referer
来源页。
功能入口
当您需要使用Logtail插件处理日志时,您可以在创建或修改Logtail配置时,添加插件。具体操作,请参见概述。
配置说明
参数名称 | 说明 |
日志格式 | 根据Apache日志配置文件中定义的日志格式进行选择,包括common、combined和自定义。 |
APACHE配置字段 | Apache配置文件中的日志配置部分,通常以LogFormat开头。
|
原始字段 | 解析日志前,用于存放日志内容的原始字段,默认值为content。 |
正则表达式 | 用于提取Apache日志的正则表达式。日志服务会根据APACHE配置字段中的内容自动生成该正则表达式。 |
日志提取字段 | 根据APACHE配置字段中的内容自动生成日志字段(key)。 |
解析失败时保留原始字段 | 选中解析失败时保留原始字段,则解析失败时,将保留原始字段。 |
解析成功时保留原始字段 | 选中解析成功时保留原始字段,则解析成功时,将保留原始字段。 |
重命名的原始字段 | 选中解析失败时保留原始字段或解析成功时保留原始字段后,可重命名原始字段名,用于存放原始的日志内容。 |