pgmetrics
can collect and report data from Pgpool
instances. Pgpool versions v4.0 and later are supported. Pgpool support was
added in pgmetrics
v1.15.0.
To tell pgmetrics to collect Pgpool metrics, include the --pgpool
flag in
the command line. You can specify any database to connect to (the postgres
database is a good choice). Note that when the --pgpool
flag is specified,
pgmetrics
collects only Pgpool metrics and does not collect any Postgres
information or metrics at all.
pgmetrics
can report the data as both text and JSON. Here is how the text
output looks like:
$ pgmetrics -h localhost -p 9999 --pgpool postgres
pgmetrics run at: 18 May 2023 9:30:44 AM (now)
Pgpool Version: 4.4.2 (nurikoboshi)
Pgpool Backends:
+---------+-----------+------+--------+---------+-----------+------------------------+
| Node ID | Host | Port | Status | Role | LB Weight | Last Status Change |
+---------+-----------+------+--------+---------+-----------+------------------------+
| 0 | localhost | 7000 | up | primary | 0.5 | 17 May 2023 7:50:40 PM |
| 1 | localhost | 7001 | up | standby | 0.5 | 17 May 2023 7:50:40 PM |
+---------+-----------+------+--------+---------+-----------+------------------------+
Pgpool Backend Statement Counts:
+--------------------+--------+--------+--------+--------+-----+-------+-------+-------+-------+
| Node | SELECT | INSERT | UPDATE | DELETE | DDL | Other | Panic | Fatal | Error |
+--------------------+--------+--------+--------+--------+-----+-------+-------+-------+-------+
| 0 (localhost:7000) | 10 | 0 | 0 | 0 | 0 | 20 | 0 | 0 | 0 |
| 1 (localhost:7001) | 11 | 0 | 0 | 0 | 0 | 11 | 0 | 0 | 0 |
+--------------------+--------+--------+--------+--------+-----+-------+-------+-------+-------+
The JSON output (use the --format=json
option) produces more information,
including health checks and in-memory query cache metrics if available:
{
//... snip ...
"pgpool": {
"version": "4.4.2 (nurikoboshi)",
"backends": [
{
"node_id": 0,
"hostname": "localhost",
"port": 7000,
"status": "up",
"pg_status": "unknown",
"lb_weight": 0.5,
"role": "primary",
"pg_role": "unknown",
"select_cnt": 11,
"other_cnt": 21,
"load_balance_node": true,
"replication_delay": 0,
"last_status_change": 1684333240
},
{
"node_id": 1,
"hostname": "localhost",
"port": 7001,
"status": "up",
"pg_status": "unknown",
"lb_weight": 0.5,
"role": "standby",
"pg_role": "unknown",
"select_cnt": 11,
"other_cnt": 11,
"load_balance_node": false,
"replication_delay": 0,
"last_status_change": 1684333240
}
],
"query_cache": {
"num_cache_hits": 0,
"num_selects": 22,
"cache_hit_ratio": 0,
"num_hash_entries": 1048576,
"used_hash_entries": 10,
"num_cache_entries": 10,
"used_cache_entries_size": 984,
"free_cache_entries_size": 67107880,
"fragment_cache_entries_size": 0
}
}
}