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)。 |
解析失敗時保留原始字段 | 選中解析失敗時保留原始字段,則解析失敗時,將保留原始字段。 |
解析成功時保留原始字段 | 選中解析成功時保留原始字段,則解析成功時,將保留原始字段。 |
重命名的原始字段 | 選中解析失敗時保留原始字段或解析成功時保留原始字段后,可重命名原始字段名,用于存放原始的日志內容。 |