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
- 标签