存取日誌
HTTP 連線管理器、tcp proxy 和 thrift proxy 支援具有以下特性的可擴展存取日誌:
每個連線串流的任意數量的存取日誌。
可自訂的存取日誌篩選器,允許將不同類型的請求和回應寫入不同的存取日誌。
可以使用 監聽器存取日誌啟用下游連線存取日誌。監聽器存取日誌補充了 HTTP 請求存取日誌,並且可以與篩選器存取日誌分開獨立啟用。
如果啟用了存取日誌,則預設情況下,它將在 UDP 工作階段、TCP 連線或 HTTP 串流結束時報告給已設定的接收器。可以擴展此行為,並定期或在 UDP 工作階段、TCP 連線或 HTTP 串流開始時報告存取日誌。向上游連線建立或新的傳入 HTTP 請求報告存取日誌並不依賴於定期報告,反之亦然。
工作階段開始存取日誌
UDP Proxy
對於 UDP Proxy,當設定透過 HTTP 的 UDP 通道時,可以使用 存取日誌刷新間隔在成功建立上游通道連線後啟用一次存取日誌記錄。
TCP Proxy
對於 TCP Proxy,可以使用 連線時刷新存取日誌在成功建立上游連線後啟用一次存取日誌記錄。
HTTP 連線管理器
對於 HTTP 連線管理器,可以使用 在新的請求上刷新存取日誌在收到新的 HTTP 請求且在迭代篩選器鏈之前啟用一次存取日誌。注意:某些資訊(例如上游主機)尚不可用。
HTTP 路由器篩選器
對於路由器篩選器,可以使用 在上游串流上刷新上游日誌在新的上游串流與下游串流關聯且成功與上游建立連線後啟用上游存取日誌。注意:如果 HTTP 請求涉及重試,則每次重試都會記錄一個請求開始上游存取日誌。
定期存取日誌
UDP Proxy
對於 UDP Proxy,可以使用 存取日誌刷新間隔啟用定期存取日誌。
TCP Proxy
對於 TCP Proxy,可以使用 存取日誌刷新間隔啟用定期存取日誌。注意:第一個存取日誌項目是在 TCP Proxy 收到新連線後的一個間隔產生,無論是否已建立上游連線。
HTTP 連線管理器
對於 HTTP 連線管理器,可以使用 存取日誌刷新間隔啟用定期存取日誌。注意:第一個存取日誌項目是在 HTTP 連線管理器收到新的 HTTP 請求且在迭代 HTTP 篩選器鏈之前的一個間隔產生,無論是否已建立上游連線。
HTTP 路由器篩選器
對於路由器篩選器,可以使用 上游日誌刷新間隔啟用定期存取日誌。注意:第一個存取日誌項目是在路由器篩選器收到新的 HTTP 請求後的一個間隔產生,無論是否已建立上游連線。
存取日誌篩選器
存取日誌接收器
Envoy 支援可插拔的存取日誌接收器。目前支援的接收器有:
檔案
非同步 IO 刷新架構。存取日誌永遠不會封鎖主網路處理執行緒。
可自訂的存取日誌格式,使用預先定義的欄位以及任意 HTTP 請求和回應標頭。
gRPC
Envoy 可以將存取日誌訊息傳送到 gRPC 存取日誌服務。
Stdout
非同步 IO 刷新架構。存取日誌永遠不會封鎖主網路處理執行緒。
可自訂的存取日誌格式,使用預先定義的欄位以及任意 HTTP 請求和回應標頭。
寫入程序的標準輸出。它在所有平台上都有效。
Stderr
非同步 IO 刷新架構。存取日誌永遠不會封鎖主網路處理執行緒。
可自訂的存取日誌格式,使用預先定義的欄位以及任意 HTTP 請求和回應標頭。
寫入程序的標準錯誤。它在所有平台上都有效。
Fluentd
透過 TCP 連線將存取日誌刷新到接受 Fluentd Forward Protocol 的上游,如:Fluentd Forward Protocol Specification 中所述。
透過網路傳送的資料是 Fluentd Forward Mode 事件的串流,其中可能包含一個或多個存取日誌項目(取決於刷新間隔和其他設定參數)。
延伸閱讀
存取日誌設定。
檔案存取日誌接收器。
gRPC 存取日誌服務 (ALS) 接收器。
OpenTelemetry (gRPC) LogsService
Stdout 存取日誌接收器
Stderr 存取日誌接收器
Fluentd 存取日誌接收器