pgmon/pgmon-metrics.cfg
James Campbell 695ad60b43 Fix verbose flag, and some queries
* Make the verbose flag do something (sets stderr logging to DEBUG)

* Coalesce potentially NULL values to 0 in db stats

* Cast the stats reset time difference to float since the python json
  library can't serialize a Decimal type.
2024-07-17 12:26:03 -04:00

15 lines
1.4 KiB
INI

# Discovery metrics
metric=discover_dbs:set::SELECT datname, %s AS agent, %s AS cluster FROM pg_database
metric=discover_rep:set::SELECT client_addr || '_' || regexp_replace(application_name, '[ ,]', '_', 'g') AS repid, client_addr, state, %s AS agent, %s AS cluster FROM pg_stat_replication
# Cluster-wide metrics
metric=version:value::SHOW server_version_num
metric=max_frozen_age:value::SELECT max(age(datfrozenxid)) FROM pg_database
# Per-database metrics
metric=db_stats:row::SELECT numbackends, xact_commit, xact_rollback, blks_read, blks_hit, tup_returned, tup_fetched, tup_inserted, tup_updated, tup_deleted, conflicts, temp_files, temp_bytes, deadlocks, blk_read_time, blk_write_time, extract('epoch' from stats_reset)::float FROM pg_stat_database WHERE datname = '{datname}'
metric=db_stats:row:140000:SELECT numbackends, xact_commit, xact_rollback, blks_read, blks_hit, tup_returned, tup_fetched, tup_inserted, tup_updated, tup_deleted, conflicts, temp_files, temp_bytes, deadlocks, COALESCE(checksum_failures, 0) AS checksum_failures, blk_read_time, blk_write_time, session_time, active_time, idle_in_transaction_time, sessions, sessions_abandoned, sessions_fatal, sessions_killed, extract('epoch' from stats_reset)::float FROM pg_stat_database WHERE datname = '{datname}'
# Per-replication metrics
metric=rep_stats:row::SELECT * FROM pg_stat_database WHERE client_addr || '_' || regexp_replace(application_name, '[ ,]', '_', 'g') = '{repid}'