PgBouncer 监控

免费使用此 InfluxDB 集成

PgBouncer 是一个针对 PostgreSQL 的开源连接池工具。默认情况下,PostgreSQL 以一种资源消耗较大的方式处理传入的数据库连接,为每个连接创建一个新进程。对于某些用例来说这很好,但在连接被快速创建和断开的情况下,这就不太有效率。

PgBouncer 通过为每个唯一的用户和数据库对维护一个连接池来工作。当新的客户端请求到来时,使用这些预先制作的连接来处理请求。一旦客户端断开连接,数据库连接就返回到池中,稍后可以被新的传入连接使用。这节省了在创建和初始化 TCP 连接上的服务器资源,因为这些连接只创建一次,然后被多个用户重复使用。

为什么使用 PgBouncer 的 Telegraf 插件?

PgBouncer 的 Telegraf 插件允许您轻松收集和存储从您的 PgBouncer 实例中获取的宝贵指标,用于长期存储和分析。Telegraf 有超过 40 个不同的输出插件,但与 InfluxDB 配合得非常好。通过将您的 PgBouncer 指标输出到 InfluxDB 云,您还可以根据用户定义的阈值设置警报和通知。

如何使用 Telegraf 插件监控 PgBouncer

设置 PgBouncer Telegraf 输入插件很简单,只需几行配置即可。唯一要求的配置值是数据库的地址,可以是以下类似格式的 PostgreSQL 连接字符串或 URL

PostgreSQL 连接字符串

host=/run/postgresql port=6432 user=telegraf database=pgbouncer

URL 匹配

postgres://[pqgotest[:password]]@host:port[/dbname]?sslmode=[disable|verify-ca|verify-full]

以下是一个完整的配置文件示例设置

[[inputs.pgbouncer]]
  ## specify address via a url matching:
  ##   postgres://[pqgotest[:password]]@host:port[/dbname]\
  ##       ?sslmode=[disable|verify-ca|verify-full]
  ## or a simple string:
  ##   host=localhost port=5432 user=pqgotest password=... sslmode=... dbname=app_production
  ##
  ## All connection parameters are optional.
  ##
  address = "host=localhost user=pgbouncer sslmode=disable"

用于监控的 Key PgBouncer 指标

PgBouncer Telegraf 输入插件提供了访问与 PgBouncer 实例本身相关的多个不同指标,每个连接池的指标以及汇总指标。使用 Telegraf,您可以选择要发送到输出存储的指标。以下是可用的完整指标列表

  • pgbouncer
    • 标签
      • db
      • server
    • 字段
      • avg_query_count
      • avg_query_time
      • avg_wait_time
      • avg_xact_count
      • avg_xact_time
      • total_query_count
      • total_query_time
      • total_received
      • total_sent
      • total_wait_time
      • total_xact_count
      • total_xact_time
  • pgbouncer_pools
    • 标签
      • db
      • pool_mode
      • server
      • user
    • 字段
      • cl_active
      • cl_waiting
      • maxwait
      • maxwait_us
      • sv_active
      • sv_idle
      • sv_login
      • sv_tested
      • sv_used
有关更多信息,请查阅文档。

项目网址   文档

相关资源

InfluxDb-cloud-logo

最强大的时间序列
数据库即服务

免费开始
Influxdbu

开发者教育

时间序列应用开发者培训。

查看所有教育