5.2
2021-01-04T15:01:56Z
Templates/Databases
Template DB PostgreSQL Agent 2
Template DB PostgreSQL Agent 2
Template tooling version used: 0.35
Templates/Databases
PostgreSQL
Zabbix raw items
-
Archive: Count of archive files
DEPENDENT
pgsql.archive.count_archived_files
0
7d
FLOAT
Collect all metrics from pg_stat_activity
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW
PostgreSQL
JSONPATH
$.archived_count
pgsql.archive["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Archive: Count of files in archive_status need to archive
DEPENDENT
pgsql.archive.count_files_to_archive
0
7d
FLOAT
PostgreSQL
JSONPATH
$.count_files
pgsql.archive["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Archive: Count of attempts to archive files
DEPENDENT
pgsql.archive.failed_trying_to_archive
0
7d
FLOAT
Collect all metrics from pg_stat_activity
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ARCHIVER-VIEW
PostgreSQL
JSONPATH
$.failed_count
pgsql.archive["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Archive: Count of files need to archive
DEPENDENT
pgsql.archive.size_files_to_archive
0
7d
FLOAT
Size of files to archive
PostgreSQL
JSONPATH
$.size_files
pgsql.archive["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
PostgreSQL: Get archive
pgsql.archive["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
0
0
TEXT
Collect archive status metrics
Zabbix raw items
-
Autovacuum: Count of autovacuum workers
pgsql.autovacuum.count["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
7d
FLOAT
Number of autovacuum workers.
PostgreSQL
-
Bgwriter: Buffers allocated
DEPENDENT
pgsql.bgwriter.buffers_alloc.rate
0
7d
FLOAT
Number of buffers allocated
PostgreSQL
JSONPATH
$.buffers_alloc
CHANGE_PER_SECOND
pgsql.bgwriter["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Bgwriter: Buffers written directly by a backend
DEPENDENT
pgsql.bgwriter.buffers_backend.rate
0
7d
FLOAT
Number of buffers written directly by a backend
PostgreSQL
JSONPATH
$.buffers_backend
CHANGE_PER_SECOND
pgsql.bgwriter["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Bgwriter: Times a backend execute its own fsync
DEPENDENT
pgsql.bgwriter.buffers_backend_fsync.rate
0
7d
FLOAT
Number of times a backend had to execute its own fsync call (normally the background writer handles those even when the backend does its own write)
PostgreSQL
JSONPATH
$.buffers_backend_fsync
CHANGE_PER_SECOND
pgsql.bgwriter["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Checkpoint: Buffers checkpoints written
DEPENDENT
pgsql.bgwriter.buffers_checkpoint.rate
0
7d
FLOAT
Number of buffers written during checkpoints
PostgreSQL
JSONPATH
$.buffers_checkpoint
CHANGE_PER_SECOND
pgsql.bgwriter["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Checkpoint: Buffers background written
DEPENDENT
pgsql.bgwriter.buffers_clean.rate
0
7d
FLOAT
Number of buffers written by the background writer
PostgreSQL
JSONPATH
$.buffers_clean
CHANGE_PER_SECOND
pgsql.bgwriter["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Checkpoint: Requested
DEPENDENT
pgsql.bgwriter.checkpoints_req.rate
0
7d
FLOAT
Number of requested checkpoints that have been performed
PostgreSQL
JSONPATH
$.checkpoints_req
CHANGE_PER_SECOND
pgsql.bgwriter["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Checkpoint: By timeout
DEPENDENT
pgsql.bgwriter.checkpoints_timed.rate
0
7d
FLOAT
Number of scheduled checkpoints that have been performed
PostgreSQL
JSONPATH
$.checkpoints_timed
CHANGE_PER_SECOND
pgsql.bgwriter["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Checkpoint: Checkpoint write time
DEPENDENT
pgsql.bgwriter.checkpoint_write_time.rate
0
7d
FLOAT
s
Total amount of time that has been spent in the portion of checkpoint processing where files are written to disk, in milliseconds
PostgreSQL
JSONPATH
$.checkpoint_write_time
MULTIPLIER
0.001
CHANGE_PER_SECOND
pgsql.bgwriter["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Bgwriter: Number of bgwriter stopped
DEPENDENT
pgsql.bgwriter.maxwritten_clean.rate
0
7d
FLOAT
Number of times the background writer stopped a cleaning scan because it had written too many buffers
PostgreSQL
JSONPATH
$.maxwritten_clean
CHANGE_PER_SECOND
pgsql.bgwriter["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Checkpoint: Checkpoint sync time
DEPENDENT
pgsql.bgwriter.sync_time.rate
0
7d
FLOAT
s
Total amount of time that has been spent in the portion of checkpoint processing where files are synchronized to disk
PostgreSQL
JSONPATH
$.checkpoint_sync_time
MULTIPLIER
0.001
CHANGE_PER_SECOND
pgsql.bgwriter["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
PostgreSQL: Get bgwriter
pgsql.bgwriter["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
0
0
TEXT
https://www.postgresql.org/docs/12/monitoring-stats.html#PG-STAT-BGWRITER-VIEW
Zabbix raw items
-
PostgreSQL: Cache hit
pgsql.cache.hit["{$PG.URI}"]
7d
FLOAT
%
PostgreSQL
-
Connections sum: Active
DEPENDENT
pgsql.connections.active
0
7d
Total number of connections executing a query
PostgreSQL
JSONPATH
$.active
pgsql.connections["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Connections sum: Disabled
DEPENDENT
pgsql.connections.disabled
0
7d
Total number of disabled connections
PostgreSQL
JSONPATH
$.disabled
pgsql.connections["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Connections sum: Fastpath function call
DEPENDENT
pgsql.connections.fastpath_function_call
0
7d
Total number of connections executing a fast-path function
PostgreSQL
JSONPATH
$.idle_in_transaction
pgsql.connections["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Connections sum: Idle
DEPENDENT
pgsql.connections.idle
0
7d
Total number of connections waiting for a new client command
PostgreSQL
JSONPATH
$.idle
pgsql.connections["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Connections sum: Idle in transaction
DEPENDENT
pgsql.connections.idle_in_transaction
0
7d
Total number of connections in a transaction state, but not executing a query
PostgreSQL
JSONPATH
$.idle_in_transaction
pgsql.connections["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Connections sum: Idle in transaction (aborted)
DEPENDENT
pgsql.connections.idle_in_transaction_aborted
0
7d
Total number of connections in a transaction state, but not executing a query and one of the statements in the transaction caused an error.
PostgreSQL
JSONPATH
$.idle_in_transaction_aborted
pgsql.connections["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Connections sum: Prepared
DEPENDENT
pgsql.connections.prepared
0
7d
Total number of prepared transactions
https://www.postgresql.org/docs/current/sql-prepare-transaction.html
PostgreSQL
JSONPATH
$.prepared
pgsql.connections["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Connections sum: Total
DEPENDENT
pgsql.connections.total
0
7d
Total number of connections
PostgreSQL
JSONPATH
$.total
pgsql.connections["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Connections sum: Total %
DEPENDENT
pgsql.connections.total_pct
0
7d
%
Total number of connections in percentage
PostgreSQL
JSONPATH
$.total_pct
pgsql.connections["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
{min(5m)} > {$PG.CONN_TOTAL_PCT.MAX.WARN}
Connections sum: Total number of connections is too high (over {$PG.CONN_TOTAL_PCT.MAX.WARN} in 5m)
AVERAGE
-
Connections sum: Waiting
DEPENDENT
pgsql.connections.waiting
0
7d
Total number of waiting connections
https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-TABLE
PostgreSQL
JSONPATH
$.waiting
pgsql.connections["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
PostgreSQL: Get connections
pgsql.connections["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
0
0
TEXT
Collect all metrics from pg_stat_activity
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW
Zabbix raw items
-
Custom queries
pgsql.custom.query["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}",""]
30s
0
DISABLED
TEXT
Execute custom queries from file *.sql
PostgreSQL
-
Dbstat: Hit blocks read
DEPENDENT
pgsql.dbstat.sum.blks_hit.rate
0
7d
FLOAT
Number of times disk blocks were found already in the buffer cache
PostgreSQL
JSONPATH
$.blks_hit
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Disk blocks read
DEPENDENT
pgsql.dbstat.sum.blks_read.rate
0
7d
FLOAT
Number of disk blocks read
PostgreSQL
JSONPATH
$.blks_read
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Blocks read time
DEPENDENT
pgsql.dbstat.sum.blk_read_time
0
7d
FLOAT
s
Time spent reading data file blocks by backends, in milliseconds
PostgreSQL
JSONPATH
$.blk_read_time
MULTIPLIER
0.001
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Blocks write time
DEPENDENT
pgsql.dbstat.sum.blk_write_time
0
7d
FLOAT
s
Time spent writing data file blocks by backends, in milliseconds
PostgreSQL
JSONPATH
$.blk_read_time
MULTIPLIER
0.001
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Checksum failures
DEPENDENT
pgsql.dbstat.sum.checksum_failures.rate
0
7d
FLOAT
Number of data page checksum failures detected (or on a shared object), or NULL if data checksums are not enabled. This metric included in PostgreSQL 12
PostgreSQL
JSONPATH
$.checksum_failures
MATCHES_REGEX
^\d*$
CHANGE_PER_SECOND
CUSTOM_VALUE
-1
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Conflicts
DEPENDENT
pgsql.dbstat.sum.conflicts.rate
0
7d
FLOAT
Number of queries canceled due to conflicts with recovery. (Conflicts occur only on standby servers; see pg_stat_database_conflicts for details.)
PostgreSQL
JSONPATH
$.conflicts
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Deadlocks
DEPENDENT
pgsql.dbstat.sum.deadlocks.rate
0
7d
FLOAT
Number of deadlocks detected
PostgreSQL
JSONPATH
$.deadlocks
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Backends connected
DEPENDENT
pgsql.dbstat.sum.numbackends
0
7d
Number of connected backends
JSONPATH
$.numbackends
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Number temp bytes
DEPENDENT
pgsql.dbstat.sum.temp_bytes.rate
0
7d
FLOAT
b
Total amount of data written to temporary files by queries
PostgreSQL
JSONPATH
$.temp_bytes
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Number temp bytes
DEPENDENT
pgsql.dbstat.sum.temp_files.rate
0
7d
FLOAT
Number of temporary files created by queries
PostgreSQL
JSONPATH
$.temp_files
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Rows deleted
DEPENDENT
pgsql.dbstat.sum.tup_deleted.rate
0
7d
FLOAT
Number of rows deleted by queries
PostgreSQL
JSONPATH
$.tup_deleted
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Rows fetched
DEPENDENT
pgsql.dbstat.sum.tup_fetched.rate
0
7d
FLOAT
Number of rows fetched by queries
PostgreSQL
JSONPATH
$.tup_fetched
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Rows inserted
DEPENDENT
pgsql.dbstat.sum.tup_inserted.rate
0
7d
FLOAT
Number of rows inserted by queries
PostgreSQL
JSONPATH
$.tup_inserted
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Rows returned
DEPENDENT
pgsql.dbstat.sum.tup_returned.rate
0
7d
FLOAT
Number of rows returned by queries
PostgreSQL
JSONPATH
$.tup_returned
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Rows updated
DEPENDENT
pgsql.dbstat.sum.tup_updated.rate
0
7d
FLOAT
Number of rows updated by queries
PostgreSQL
JSONPATH
$.tup_updated
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Committed transactions
DEPENDENT
pgsql.dbstat.sum.xact_commit.rate
0
7d
FLOAT
Number of transactions that have been committed
PostgreSQL
JSONPATH
$.xact_commit
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
Dbstat: Roll backed transactions
DEPENDENT
pgsql.dbstat.sum.xact_rollback.rate
0
7d
FLOAT
Number of transactions that have been rolled back
PostgreSQL
JSONPATH
$.xact_rollback
CHANGE_PER_SECOND
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
PostgreSQL: Get dbstat sum
pgsql.dbstat.sum["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
0
TEXT
Collect all metrics from pg_stat_database per database
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW
Zabbix raw items
-
PostgreSQL: Get dbstat
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
0
DISABLED
TEXT
Collect all metrics from pg_stat_database per database
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW
Zabbix raw items
-
PostgreSQL: Get locks
pgsql.locks["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
0
DISABLED
TEXT
Collect all metrics from pg_locks per database
https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-TABLES
Zabbix raw items
-
PostgreSQL: Age of oldest xid
pgsql.oldest.xid["{$PG.URI}","{$PG.USER}"]
7d
FLOAT
Age of oldest xid.
PostgreSQL
{last()} > 18000000
PostgreSQL: Oldest xid is too big
AVERAGE
-
PostgreSQL: Ping
pgsql.ping["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
7d
PostgreSQL
DISCARD_UNCHANGED_HEARTBEAT
1h
{last()}=0
PostgreSQL: Service is down
HIGH
-
Replication: Standby count
pgsql.replication.count["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
7d
Number of standby servers
PostgreSQL
-
Replication: Lag in bytes
pgsql.replication.lag.b["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
7d
B
Replication lag with Master in byte.
PostgreSQL
-
Replication: Lag in seconds
pgsql.replication.lag.sec["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
7d
s
Replication lag with Master in seconds.
PostgreSQL
-
Replication lag information
pgsql.replication.process["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
0
TEXT
Collect metrics from the pg_stat_replication, which contains information about the WAL sender process, showing statistics about replication to that sender's connected standby server.
PostgreSQL
-
Replication: Recovery role
pgsql.replication.recovery_role["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
7d
Replication role: 1 — recovery is still in progress (standby mode), 0 — master mode.
PostgreSQL
PostgreSQL recovery role
-
Replication: Status
pgsql.replication.status["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
7d
Replication status: 0 — streaming is down, 1 — streaming is up, 2 — master mode
PostgreSQL
PostgreSQL replication status
-
PostgreSQL: Uptime
pgsql.uptime["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
7d
FLOAT
s
PostgreSQL
{last()} < 600
PostgreSQL: Service has been restarted (uptime={ITEM.LASTVALUE})
AVERAGE
-
WAL: Segments count
DEPENDENT
pgsql.wal.count
0
7d
Number of WAL segments
PostgreSQL
JSONPATH
$.write
pgsql.wal.stat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
-
PostgreSQL: Get WAL
pgsql.wal.stat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
5m
0
0
TEXT
Collect WAL metrics
Zabbix raw items
-
WAL: Bytes written
DEPENDENT
pgsql.wal.write
0
7d
B
WAL write in bytes
PostgreSQL
JSONPATH
$.write
CHANGE_PER_SECOND
pgsql.wal.stat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
Database discovery
pgsql.db.discovery["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
1h
DISABLED
AND
{#DBNAME}
{$PG.LLD.FILTER.DBNAME}
A
DB {#DBNAME}: Database age
pgsql.db.age["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]
30s
7d
Database age
PostgreSQL: DB {#DBNAME}
DB {#DBNAME}: Get bloating tables
pgsql.db.bloating_tables["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]
7d
Number оf bloating tables
PostgreSQL: DB {#DBNAME}
DB {#DBNAME}: Database size
pgsql.db.size["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]
5m
7d
B
Database size
PostgreSQL: DB {#DBNAME}
DB {#DBNAME}: Blocks hit per second
DEPENDENT
pgsql.dbstat.blks_hit.rate["{#DBNAME}"]
0
7d
FLOAT
Total number of times disk blocks were found already in the buffer cache, so that a read was not necessary
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].blks_hit
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Disk blocks read per second
DEPENDENT
pgsql.dbstat.blks_read.rate["{#DBNAME}"]
0
7d
FLOAT
Total number of disk blocks read in this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].blks_read
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Disk blocks read per second
DEPENDENT
pgsql.dbstat.blk_read_time.rate["{#DBNAME}"]
0
7d
FLOAT
s
Time spent reading data file blocks by backends, in milliseconds
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].blk_read_time
MULTIPLIER
0.001
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Disk blocks read per second
DEPENDENT
pgsql.dbstat.blk_write_time.rate["{#DBNAME}"]
0
7d
FLOAT
s
Time spent writing data file blocks by backends, in milliseconds
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].blk_write_time
MULTIPLIER
0.001
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Checksum failures
DEPENDENT
pgsql.dbstat.checksum_failures.rate["{#DBNAME}"]
0
7d
FLOAT
Number of data page checksum failures detected in this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].checksum_failures
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Detected conflicts per second
DEPENDENT
pgsql.dbstat.conflicts.rate["{#DBNAME}"]
0
7d
FLOAT
Total number of queries canceled due to conflicts with recovery in this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].conflicts
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
{min(5m)} > {$PG.CONFLICTS.MAX.WARN:"{#DBNAME}"}
DB {#DBNAME}: Too many recovery conflicts (over {$PG.CONFLICTS.MAX.WARN:"{#DBNAME}"} in 5m)
AVERAGE
The primary and standby servers are in many ways loosely connected. Actions on the primary will have an effect on the standby. As a result, there is potential for negative interactions or conflicts between them.
https://www.postgresql.org/docs/current/hot-standby.html#HOT-STANDBY-CONFLICT
DB {#DBNAME}: Detected deadlocks per second
DEPENDENT
pgsql.dbstat.deadlocks.rate["{#DBNAME}"]
0
7d
FLOAT
Total number of detected deadlocks in this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].deadlocks
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
{min(5m)} > {$PG.DEADLOCKS.MAX.WARN:"{#DBNAME}"}
DB {#DBNAME}: Deadlock occurred (over {$PG.DEADLOCKS.MAX.WARN:"{#DBNAME}"} in 5m)
HIGH
DB {#DBNAME}: Backends connected
DEPENDENT
pgsql.dbstat.numbackends["{#DBNAME}"]
0
7d
Number of backends currently connected to this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].numbackends
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Temp_bytes written per second
DEPENDENT
pgsql.dbstat.temp_bytes.rate["{#DBNAME}"]
0
7d
B
Total amount of data written to temporary files by queries in this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].temp_bytes
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Temp_files created per second
DEPENDENT
pgsql.dbstat.temp_files.rate["{#DBNAME}"]
0
7d
Total number of temporary files created by queries in this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].temp_files
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Tuples deleted per second
DEPENDENT
pgsql.dbstat.tup_deleted.rate["{#DBNAME}"]
0
7d
FLOAT
Total number of rows deleted by queries in this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].tup_deleted
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Tuples fetched per second
DEPENDENT
pgsql.dbstat.tup_fetched.rate["{#DBNAME}"]
0
7d
FLOAT
Total number of rows fetched by queries in this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].tup_fetched
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Tuples inserted per second
DEPENDENT
pgsql.dbstat.tup_inserted.rate["{#DBNAME}"]
0
7d
FLOAT
Total number of rows inserted by queries in this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].tup_inserted
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Tuples returned per second
DEPENDENT
pgsql.dbstat.tup_returned.rate["{#DBNAME}"]
0
7d
FLOAT
Number of rows returned by queries in this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].tup_returned
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Tuples updated per second
DEPENDENT
pgsql.dbstat.tup_updated.rate["{#DBNAME}"]
0
7d
FLOAT
Total number of rows updated by queries in this database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].tup_updated
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Commits per second
DEPENDENT
pgsql.dbstat.xact_commit.rate["{#DBNAME}"]
0
7d
FLOAT
Number of transactions in this database that have been committed
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].xact_commit
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Rollbacks per second
DEPENDENT
pgsql.dbstat.xact_rollback.rate["{#DBNAME}"]
0
7d
FLOAT
Total number of transactions in this database that have been rolled back
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].xact_rollback
CHANGE_PER_SECOND
pgsql.dbstat["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Num of accessexclusive locks
DEPENDENT
pgsql.locks.accessexclusive["{#DBNAME}"]
0
7d
Number of accessexclusive locks for each database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].accessexclusive
pgsql.locks["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Num of accessshare locks
DEPENDENT
pgsql.locks.accessshare["{#DBNAME}"]
0
7d
Number of accessshare locks for each database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].accessshare
pgsql.locks["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Num of exclusive locks
DEPENDENT
pgsql.locks.exclusive["{#DBNAME}"]
0
7d
Number of exclusive locks for each database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].exclusive
pgsql.locks["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Num of rowexclusive locks
DEPENDENT
pgsql.locks.rowexclusive["{#DBNAME}"]
0
7d
Number of rowexclusive locks for each database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].rowexclusive
pgsql.locks["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Num of rowshare locks
DEPENDENT
pgsql.locks.rowshare["{#DBNAME}"]
0
7d
Number of rowshare locks for each database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].rowshare
pgsql.locks["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Num of sharerowexclusive locks
DEPENDENT
pgsql.locks.sharerowexclusive["{#DBNAME}"]
0
7d
Number of total sharerowexclusive for each database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].sharerowexclusive
pgsql.locks["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Num of shareupdateexclusive locks
DEPENDENT
pgsql.locks.shareupdateexclusive["{#DBNAME}"]
0
7d
Number of shareupdateexclusive locks for each database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].shareupdateexclusive
pgsql.locks["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Num of share locks
DEPENDENT
pgsql.locks.share["{#DBNAME}"]
0
7d
Number of share locks for each database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].share
pgsql.locks["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Num of total locks
DEPENDENT
pgsql.locks.total["{#DBNAME}"]
0
7d
Number of total locks for each database
PostgreSQL: DB {#DBNAME}
JSONPATH
$['{#DBNAME}'].total
pgsql.locks["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
DB {#DBNAME}: Locks
GRADIENT_LINE
1A7C11
-
Template DB PostgreSQL Agent 2
pgsql.locks.total["{#DBNAME}"]
1
2774A4
-
Template DB PostgreSQL Agent 2
pgsql.locks.accessexclusive["{#DBNAME}"]
2
F63100
-
Template DB PostgreSQL Agent 2
pgsql.locks.accessshare["{#DBNAME}"]
3
A54F10
-
Template DB PostgreSQL Agent 2
pgsql.locks.exclusive["{#DBNAME}"]
4
FC6EA3
-
Template DB PostgreSQL Agent 2
pgsql.locks.rowexclusive["{#DBNAME}"]
5
6C59DC
-
Template DB PostgreSQL Agent 2
pgsql.locks.rowshare["{#DBNAME}"]
6
AC8C14
-
Template DB PostgreSQL Agent 2
pgsql.locks.sharerowexclusive["{#DBNAME}"]
7
611F27
-
Template DB PostgreSQL Agent 2
pgsql.locks.shareupdateexclusive["{#DBNAME}"]
8
F230E0
-
Template DB PostgreSQL Agent 2
pgsql.locks.share["{#DBNAME}"]
9
FFAD40
-
Template DB PostgreSQL Agent 2
pgsql.locks.share["{#DBNAME}"]
DB {#DBNAME}: Number of bloating tables
GRADIENT_LINE
1A7C11
-
Template DB PostgreSQL Agent 2
pgsql.db.bloating_tables["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]
DB {#DBNAME}: pg_stat_database metrics
1A7C11
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.blks_hit.rate["{#DBNAME}"]
1
2774A4
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.blks_read.rate["{#DBNAME}"]
2
F63100
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.conflicts.rate["{#DBNAME}"]
3
A54F10
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.deadlocks.rate["{#DBNAME}"]
4
FC6EA3
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.temp_bytes.rate["{#DBNAME}"]
5
6C59DC
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.temp_files.rate["{#DBNAME}"]
6
AC8C14
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.tup_deleted.rate["{#DBNAME}"]
7
611F27
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.tup_fetched.rate["{#DBNAME}"]
8
F230E0
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.tup_inserted.rate["{#DBNAME}"]
9
FFAD40
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.tup_returned.rate["{#DBNAME}"]
10
40CDFF
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.tup_updated.rate["{#DBNAME}"]
11
40FFA0
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.xact_commit.rate["{#DBNAME}"]
12
AE4500
-
Template DB PostgreSQL Agent 2
pgsql.dbstat.xact_rollback.rate["{#DBNAME}"]
DB {#DBNAME}: Size
GRADIENT_LINE
1A7C11
-
Template DB PostgreSQL Agent 2
pgsql.db.size["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]
Replication Discovery
pgsql.replication.process.discovery["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
{#APPLICATION_NAME}
{$PG.LLD.FILTER.APPLICATION_NAME}
A
PostgreSQL replication flush lag
DEPENDENT
pgsql.replication.process.flush_lag["{#APPLICATION_NAME}"]
0
FLOAT
s
PostgreSQL
JSONPATH
$['{#APPLICATION_NAME}'].flush_lag
pgsql.replication.process["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
PostgreSQL replication replay lag
DEPENDENT
pgsql.replication.process.replay_lag["{#APPLICATION_NAME}"]
0
FLOAT
s
PostgreSQL
JSONPATH
$['{#APPLICATION_NAME}'].replay_lag
pgsql.replication.process["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
PostgreSQL replication write lag
DEPENDENT
pgsql.replication.process.write_lag["{#APPLICATION_NAME}"]
0
FLOAT
s
PostgreSQL
JSONPATH
$['{#APPLICATION_NAME}'].write_lag
pgsql.replication.process["{$PG.URI}","{$PG.USER}","{$PG.PASSWORD}"]
PostgreSQL replication lag
1
1A7C11
-
Template DB PostgreSQL Agent 2
pgsql.replication.process.write_lag["{#APPLICATION_NAME}"]
2
F63100
-
Template DB PostgreSQL Agent 2
pgsql.replication.process.replay_lag["{#APPLICATION_NAME}"]
3
2774A4
-
Template DB PostgreSQL Agent 2
pgsql.replication.process.write_lag["{#APPLICATION_NAME}"]
{$PG.CONFLICTS.MAX.WARN}
0
{$PG.CONN_TOTAL_PCT.MAX.WARN}
90
{$PG.DATABASE}
postgres
{$PG.DEADLOCKS.MAX.WARN}
0
{$PG.LLD.FILTER.APPLICATION_NAME}
(.+)
{$PG.LLD.FILTER.DBNAME}
(.+)
{$PG.PASSWORD}
postgres
{$PG.SESSION}
Test
{$PG.URI}
tcp://localhost:5433
{$PG.USER}
postgres
PostgreSQL databases
GRAPH_PROTOTYPE
12
5
INTEGER
columns
1
GRAPH_PROTOTYPE
graphid
DB {#DBNAME}: pg_stat_database metrics
Template DB PostgreSQL Agent 2
GRAPH_PROTOTYPE
12
12
5
INTEGER
columns
1
GRAPH_PROTOTYPE
graphid
DB {#DBNAME}: Locks
Template DB PostgreSQL Agent 2
GRAPH_PROTOTYPE
5
12
5
INTEGER
columns
1
GRAPH_PROTOTYPE
graphid
DB {#DBNAME}: Size
Template DB PostgreSQL Agent 2
GRAPH_PROTOTYPE
12
5
12
5
INTEGER
columns
1
GRAPH_PROTOTYPE
graphid
DB {#DBNAME}: Number of bloating tables
Template DB PostgreSQL Agent 2
PostgreSQL recovery role
0
Master
1
Standby
PostgreSQL replication status
0
Down
1
Up
2
Master