Apache模式解析

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开头。

  • 当配置日志格式commoncombined时,此处会自动填充对应格式的配置字段,请确认是否和Apache配置文件中定义的格式一致。

  • 当配置日志格式自定义时,请根据实际情况填写,例如LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %D %f %k %p %q %R %T %I %O" customized

原始字段

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

正则表达式

用于提取Apache日志的正则表达式。日志服务会根据APACHE配置字段中的内容自动生成该正则表达式。

日志提取字段

根据APACHE配置字段中的内容自动生成日志字段(key)。

解析失败时保留原始字段

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

解析成功时保留原始字段

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

重命名的原始字段

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