Postgres

Envoy 支持网络级 Postgres 嗅探过滤器,以添加网络可观察性。通过使用 Postgres 代理,Envoy 能够解码 Postgres 前端/后端协议 并从解码的信息中收集统计信息。

Postgres 过滤器的主要目标是在不影响或对 Postgres 上游服务器产生任何负载的情况下捕获运行时统计信息,它对上游服务器是透明的。该过滤器目前提供以下功能

  • 解码非 SSL 流量,忽略 SSL 流量。

  • 解码会话信息。

  • 在向上游转发之前对传入的非 SSL 流量进行编码。

  • 捕获事务信息,包括提交和回滚。

  • 公开不同类型语句(INSERT、DELETE、UPDATE 等)的计数器。计数器是根据解码后端 CommandComplete 消息更新的,而不是根据解码客户端发送的 SQL 语句更新的。

  • 计算前端、后端和未知消息。

  • 识别错误和通知后端响应。

Postgres 过滤器解决了一个 Postgres 部署的显著问题:收集这些信息要么会给服务器带来额外的负载;要么需要从服务器拉取基于拉取的元数据查询,有时需要外部组件或扩展。此过滤器提供了有价值的可观察性信息,而不会影响上游 Postgres 服务器的性能或需要安装任何软件。

Postgres 代理过滤器 配置参考.