存取日誌

HTTP 連線管理器tcp proxythrift 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 支援多個內建 存取日誌篩選器擴展篩選器,這些篩選器在執行時註冊。

存取日誌接收器

Envoy 支援可插拔的存取日誌接收器。目前支援的接收器有:

檔案

  • 非同步 IO 刷新架構。存取日誌永遠不會封鎖主網路處理執行緒。

  • 可自訂的存取日誌格式,使用預先定義的欄位以及任意 HTTP 請求和回應標頭。

gRPC

  • Envoy 可以將存取日誌訊息傳送到 gRPC 存取日誌服務。

Stdout

  • 非同步 IO 刷新架構。存取日誌永遠不會封鎖主網路處理執行緒。

  • 可自訂的存取日誌格式,使用預先定義的欄位以及任意 HTTP 請求和回應標頭。

  • 寫入程序的標準輸出。它在所有平台上都有效。

Stderr

  • 非同步 IO 刷新架構。存取日誌永遠不會封鎖主網路處理執行緒。

  • 可自訂的存取日誌格式,使用預先定義的欄位以及任意 HTTP 請求和回應標頭。

  • 寫入程序的標準錯誤。它在所有平台上都有效。

Fluentd

延伸閱讀