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。 |
Regex | 用於提取Apache日誌的Regex。Simple Log Service會根據APACHE配置欄位中的內容自動產生該Regex。 |
日誌提取欄位 | 根據APACHE配置欄位中的內容自動組建記錄檔欄位(key)。 |
解析失敗時保留原始欄位 | 選中解析失敗時保留原始欄位,則解析失敗時,將保留原始欄位。 |
解析成功時保留原始欄位 | 選中解析成功時保留原始欄位,則解析成功時,將保留原始欄位。 |
重新命名的原始欄位 | 選中解析失敗時保留原始欄位或解析成功時保留原始欄位後,可重新命名原始欄位名,用於存放原始的日誌內容。 |