Postgres
Envoy 支援網路層級的 Postgres 偵測過濾器,以新增網路可觀察性。透過使用 Postgres 代理,Envoy 能夠解碼 Postgres 前端/後端協定,並從解碼的資訊中收集統計資料。
Postgres 過濾器的主要目標是在不影響或產生任何 Postgres 上游伺服器負載的情況下捕獲執行時間統計資料,它對伺服器是透明的。該過濾器目前提供以下功能:
解碼非 SSL 流量,忽略 SSL 流量。
解碼連線資訊。
在上游轉發之前,編碼傳入的非 SSL 流量。
捕獲交易資訊,包括提交 (commits) 和回滾 (rollbacks)。
公開不同類型語句(INSERT、DELETE、UPDATE 等)的計數器。計數器是根據解碼的後端 CommandComplete 訊息更新,而不是通過解碼客戶端發送的 SQL 語句更新。
計算前端、後端和未知訊息。
識別錯誤和通知後端回應。
Postgres 過濾器解決了 Postgres 部署的一個顯著問題:收集這些資訊要么會對伺服器施加額外負載;要么需要從伺服器進行基於拉取的元數據查詢,有時需要外部組件或擴展。此過濾器提供有價值的可觀察性資訊,而不會影響上游 Postgres 伺服器的效能或需要安裝任何軟體。
Postgres 代理過濾器組態參考。