Prometheus exporter for PgBouncer.
Exports metrics at 9127/metrics
make
./pgbouncer_exporter <flags>
To see all available configuration flags:
./pgbouncer_exporter -h
Metric | Description |
---|---|
config_application_name_add_host | Whether pgbouncer add the client host address and port to the application name setting set on connection start or not |
config_autodb_idle_timeout | Unused pools created via '*' are reclaimed after this interval |
config_client_idle_timeout | Client connections idling longer than this many seconds are closed |
config_client_login_timeout | Maximum time in seconds for a client to either login, or be disconnected |
config_default_pool_size | The default for how many server connections to allow per user/database pair |
config_disable_pqexec | Boolean; 1 means pgbouncer enforce Simple Query Protocol; 0 means it allows multiple queries in a single packet |
config_dns_max_ttl | Irregardless of DNS TTL, this is the TTL that pgbouncer enforces for dns lookups it does for backends |
config_dns_nxdomain_ttl | Irregardless of DNS TTL, this is the period enforced for negative DNS answers |
config_dns_zone_check_period | Period to check if zone serial has changed. |
config_idle_transaction_timeout | If client has been in 'idle in transaction' state longer than this amount in seconds, it will be disconnected. |
config_listen_backlog | Maximum number of backlogged listen connections before further connection attempts are dropped |
config_log_connections | Whether connections are logged or not. |
config_log_disconnections | Whether connection disconnects are logged. |
config_log_pooler_errors | Whether pooler errors are logged or not |
config_max_client_conn | Maximum number of client connections allowed |
config_max_db_connections | Server level maximum connections enforced for a given db, irregardless of pool limits |
config_max_packet_size | Maximum packet size for postgresql packets that pgbouncer will relay to backends |
config_max_user_connections | Maximum number of connections a user can open irregardless of pool limits |
config_min_pool_size | Mininum number of backends a pool will always retain. |
config_pkt_buf | Internal buffer size for packets. See docs |
config_query_timeout | Maximum time that a query can run for before being cancelled. |
config_query_wait_timeout | Maximum time that a query can wait to be executed before being cancelled. |
config_reserve_pool_size | How many additional connections to allow to a pool once it's crossed it's maximum |
config_reserve_pool_timeout | If a client has not been serviced in this many seconds, pgbouncer enables use of additional connections from reserve pool. |
config_sbuf_loopcnt | How many results to process for a given connection's packet results before switching to others to ensure fairness. See docs. |
config_server_check_delay | How long to keep released connections available for immediate re-use, without running sanity-check queries on it. If 0 then the query is ran always. |
config_server_connect_timeout | Maximum time allowed for connecting and logging into a backend server |
config_server_idle_timeout | If a server connection has been idle more than this many seconds it will be dropped |
config_server_lifetime | The pooler will close an unused server connection that has been connected longer than this many seconds |
config_server_login_retry | If connecting to a backend failed, this is the wait interval in seconds before retrying |
config_server_reset_query_always | Boolean indicating whether or not server_reset_query is enforced for all pooling modes, or just session |
config_server_round_robin | Boolean; if 1, pgbouncer uses backends in a round robin fashion. If 0, it uses LIFO to minimize connectivity to backends |
config_stats_period | Periodicity in seconds of pgbouncer recalculating internal stats_ |
config_suspend_timeout | Timeout for how long pgbouncer waits for buffer flushes before killing connections during pgbouncer admin SHUTDOWN and SUSPEND invocations. |
config_tcp_defer_accept | Configurable for TCP_DEFER_ACCEPT |
config_tcp_keepcnt | See TCP documentation for this field |
config_tcp_keepidle | See TCP documentation for this field |
config_tcp_keepintvl | See TCP documentation for this field |
config_tcp_socket_buffer | Configurable for tcp socket buffering; 0 is kernel managed |
config_tcpkeepalive | Boolean; if 1, tcp keepalive is enabled w/ OS defaults. If 0, disabled. |
config_verbose | If log verbosity is increased. Only relevant as a metric if log volume begins exceeding log consumption |
databases_current_connections | Current number of client connections |
databases_disabled | Boolean indicating whether a pgbouncer DISABLE is currently active for this database |
databases_max_connections | Maximum number of client connections allowed |
databases_paused | Boolean indicating whether a pgbouncer PAUSE is currently active for this database |
databases_pool_size | Maximum number of pool backend connections |
databases_reserve_pool | Maximum amount that the pool size can be exceeded temporarily |
lists_databases | Count of databases |
lists_free_clients | Count of free clients |
lists_free_servers | Count of free servers |
lists_login_clients | Count of clients in login state |
lists_pools | Count of pools |
lists_used_clients | Count of used clients |
lists_used_servers | Count of used servers |
lists_users | Count of users |
pools_cl_active | Client connections linked to server connection and able to process queries, shown as connection |
pools_cl_waiting | Client connections waiting on a server connection, shown as connection |
pools_maxwait | Age of oldest unserved client connection, shown as second |
pools_sv_active | Server connections linked to a client connection, shown as connection |
pools_sv_idle | Server connections idle and ready for a client query, shown as connection |
pools_sv_login | Server connections currently in the process of logging in, shown as connection |
pools_sv_tested | Server connections currently running either server_reset_query or server_check_query, shown as connection |
pools_sv_used | Server connections idle more than server_check_delay, needing server_check_query, shown as connection |
stats_avg_query | The average query duration, shown as microsecond |
stats_avg_query_count | Average queries per second in last stat period |
stats_avg_query_time | Average query duration in microseconds |
stats_avg_recv | Average received (from clients) bytes per second |
stats_avg_req | The average number of requests per second in last stat period, shown as request/second |
stats_avg_sent | Average sent (to clients) bytes per second |
stats_avg_wait_time | Time spent by clients waiting for a server in microseconds (average per second) |
stats_avg_xact_count | Average transactions per second in last stat period |
stats_avg_xact_time | Average transaction duration in microseconds |
stats_bytes_received_per_second | The total network traffic received, shown as byte/second |
stats_bytes_sent_per_second | The total network traffic sent, shown as byte/second |
stats_total_query_count | Total number of SQL queries pooled |
stats_total_query_time | Total number of microseconds spent by pgbouncer when actively connected to PostgreSQL, executing queries |
stats_total_received | Total volume in bytes of network traffic received by pgbouncer, shown as bytes |
stats_total_requests | Total number of SQL requests pooled by pgbouncer, shown as requests |
stats_total_sent | Total volume in bytes of network traffic sent by pgbouncer, shown as bytes |
stats_total_wait_time | Time spent by clients waiting for a server in microseconds |
stats_total_xact_count | Total number of SQL transactions pooled |
stats_total_xact_time | Total number of microseconds spent by pgbouncer when connected to PostgreSQL in a transaction, either idle in transaction or executing queries |