You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2496 lines
98 KiB

1 year ago
zabbix_export:
version: '7.0'
template_groups:
- uuid: 748ad4d098d447d492bb935c907f652f
name: Templates/Databases
templates:
- uuid: d0ef7d659a8f4beaaabfc4b6134e737a
template: 'PostgreSQL by Zabbix agent 2'
name: 'PostgreSQL by Zabbix agent 2'
description: |
This template is designed for the deployment of PostgreSQL monitoring by Zabbix via Zabbix agent 2 and uses a loadable plugin to run SQL queries.
Setup:
1. Deploy Zabbix agent 2 with the PostgreSQL plugin. Starting with Zabbix versions 6.0.10 / 6.2.4 / 6.4 PostgreSQL metrics are moved to a loadable plugin and require installation of a separate package or compilation of the plugin from sources (https://www.zabbix.com/documentation/7.0/manual/extensions/plugins/build).
2. Create the PostgreSQL user for monitoring (`<password>` at your discretion) and inherit permissions from the default role `pg_monitor`:
CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>' INHERIT;
GRANT pg_monitor TO zbx_monitor;
3. Edit the `pg_hba.conf` configuration file to allow connections for the user `zbx_monitor`. You can check the PostgreSQL documentation for examples (https://www.postgresql.org/docs/current/auth-pg-hba-conf.html).
4. Set the connection string for the PostgreSQL instance in the `{$PG.CONNSTRING}` macro as URI, such as `<protocol(host:port)>`, or specify the named session - `<sessionname>`.
Note: if you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, a named session must be used. In that case, the instance URI should be specified in the `Plugins.PostgreSQL.Sessions.*.Uri` parameter in the PostgreSQL plugin configuration files alongside all the encryption parameters (type, cerfiticate/key filepaths if needed etc.).
You can check the PostgreSQL plugin documentation (https://git.zabbix.com/projects/AP/repos/postgresql/browse?at=refs%2Fheads%2Frelease%2F7.0) for details about agent plugin parameters and named sessions.
Also, it is assumed that you set up the PostgreSQL instance to work in the desired encryption mode. Check the PostgreSQL documentation (https://www.postgresql.org/docs/current/ssl-tcp.html) for details.
Note that plugin TLS certificate validation relies on checking the Subject Alternative Names (SAN) instead of the Common Name (CN), check the cryptography package documentation (https://pkg.go.dev/crypto/x509) for details.
For example, to enable required encryption in transport mode without identity checks you could create the file `/etc/zabbix/zabbix_agent2.d/postgresql_myconn.conf` with the following configuration for the named session `myconn` (replace `<instanceip>` with the address of the PostgreSQL instance):
Plugins.PostgreSQL.Sessions.myconn.Uri=tcp://<instanceip>:5432
Plugins.PostgreSQL.Sessions.myconn.TLSConnect=required
Then set the `{$PG.CONNSTRING}` macro to `myconn` to use this named session.
5. Set the password that you specified in step 2 in the macro `{$PG.PASSWORD}`.
You can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/384190-%C2%A0discussion-thread-for-official-zabbix-template-db-postgresql
Generated by official Zabbix template tool "Templator" 2.0.0
vendor:
name: Zabbix
version: 7.0-0
groups:
- name: Templates/Databases
items:
- uuid: 04b1c83463f247b0a42f17c5d0a9ce14
name: 'Archive: Count of archived files'
type: DEPENDENT
key: pgsql.archive.count_archived_files
delay: '0'
history: 7d
value_type: FLOAT
description: 'Count of archived files.'
preprocessing:
- type: JSONPATH
parameters:
- $.archived_count
master_item:
key: 'pgsql.archive["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: archive
- uuid: 729208d50ef64e50b0bb342899e211c2
name: 'Archive: Count of files in archive_status need to archive'
type: DEPENDENT
key: pgsql.archive.count_files_to_archive
delay: '0'
history: 7d
value_type: FLOAT
description: 'Count of files to archive.'
preprocessing:
- type: JSONPATH
parameters:
- $.count_files
master_item:
key: 'pgsql.archive["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: archive
- uuid: b60523c62afc4813aeb64cf9598fb7bd
name: 'Archive: Count of failed attempts to archive files'
type: DEPENDENT
key: pgsql.archive.failed_trying_to_archive
delay: '0'
history: 7d
value_type: FLOAT
description: 'Count of failed attempts to archive files.'
preprocessing:
- type: JSONPATH
parameters:
- $.failed_count
master_item:
key: 'pgsql.archive["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: archive
- uuid: 285f434f79864d24a4e66d5a49c539e9
name: 'Archive: Size of files need to archive'
type: DEPENDENT
key: pgsql.archive.size_files_to_archive
delay: '0'
history: 7d
value_type: FLOAT
description: 'Size of files to archive.'
preprocessing:
- type: JSONPATH
parameters:
- $.size_files
master_item:
key: 'pgsql.archive["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: archive
- uuid: e9f4284fd3a1459e9c519dbdd8ee3425
name: 'PostgreSQL: Get archive'
key: 'pgsql.archive["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: '0'
trends: '0'
value_type: TEXT
description: 'Collect archive status metrics.'
tags:
- tag: component
value: raw
- uuid: d9169b4b31554063b9d01d0d27b4beee
name: 'PostgreSQL: Count of autovacuum workers'
key: 'pgsql.autovacuum.count["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: 7d
value_type: FLOAT
description: 'Number of autovacuum workers.'
tags:
- tag: component
value: system
- uuid: c49f777ae0db48879bc946989bfc36f6
name: 'Bgwriter: Buffers allocated per second'
type: DEPENDENT
key: pgsql.bgwriter.buffers_alloc.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of buffers allocated per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.buffers_alloc
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.bgwriter["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: bgwriter
- uuid: 1624e89567824e0493492a3dcc979788
name: 'Bgwriter: Buffers written directly by a backend per second'
type: DEPENDENT
key: pgsql.bgwriter.buffers_backend.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of buffers written directly by a backend per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.buffers_backend
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.bgwriter["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: bgwriter
- uuid: 6e5990d8a0854efd83b3e6a57aa2c2f9
name: 'Bgwriter: Times a backend executed its own fsync per second'
type: DEPENDENT
key: pgsql.bgwriter.buffers_backend_fsync.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of times a backend had to execute its own fsync call per second (normally the background writer handles those even when the backend does its own write).'
preprocessing:
- type: JSONPATH
parameters:
- $.buffers_backend_fsync
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.bgwriter["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: bgwriter
- uuid: 3bf0496d313f4dfea67c95010be54372
name: 'Checkpoint: Buffers written during checkpoints per second'
type: DEPENDENT
key: pgsql.bgwriter.buffers_checkpoint.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of buffers written during checkpoints per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.buffers_checkpoint
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.bgwriter["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: bgwriter
- uuid: 65f4aeedbc7d40ed9a14e0dbd8024c4b
name: 'Checkpoint: Buffers written by the background writer per second'
type: DEPENDENT
key: pgsql.bgwriter.buffers_clean.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of buffers written by the background writer per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.buffers_clean
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.bgwriter["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: bgwriter
- uuid: 23fcb5ee8c19436b827001114961eb16
name: 'Checkpoint: Requested per second'
type: DEPENDENT
key: pgsql.bgwriter.checkpoints_req.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of requested checkpoints that have been performed per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.checkpoints_req
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.bgwriter["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: bgwriter
- uuid: 9c578a8e072940728cc00d94f52cec8d
name: 'Checkpoint: Scheduled per second'
type: DEPENDENT
key: pgsql.bgwriter.checkpoints_timed.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of scheduled checkpoints that have been performed per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.checkpoints_timed
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.bgwriter["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: bgwriter
- uuid: b94507037a584b9391f610e59dd34e6c
name: 'Checkpoint: Checkpoint sync time per second'
type: DEPENDENT
key: pgsql.bgwriter.checkpoint_sync_time.rate
delay: '0'
history: 7d
value_type: FLOAT
units: s
description: 'Total amount of time per second that has been spent in the portion of checkpoint processing where files are synchronized to disk.'
preprocessing:
- type: JSONPATH
parameters:
- $.checkpoint_sync_time
- type: MULTIPLIER
parameters:
- '0.001'
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.bgwriter["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: bgwriter
- uuid: 26839587c46043caa2991e973962b954
name: 'Checkpoint: Checkpoint write time per second'
type: DEPENDENT
key: pgsql.bgwriter.checkpoint_write_time.rate
delay: '0'
history: 7d
value_type: FLOAT
units: s
description: 'Total amount of time per second that has been spent in the portion of checkpoint processing where files are written to disk.'
preprocessing:
- type: JSONPATH
parameters:
- $.checkpoint_write_time
- type: MULTIPLIER
parameters:
- '0.001'
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.bgwriter["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: bgwriter
- uuid: b83939ecfb094a7e9eb42cd9a7e2695c
name: 'Bgwriter: Number of bgwriter cleaning scan stopped per second'
type: DEPENDENT
key: pgsql.bgwriter.maxwritten_clean.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of times the background writer stopped a cleaning scan because it had written too many buffers per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.maxwritten_clean
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.bgwriter["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: bgwriter
- uuid: 6020e17c25104cbfba182e9cddfe6336
name: 'PostgreSQL: Get bgwriter'
key: 'pgsql.bgwriter["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: '0'
trends: '0'
value_type: TEXT
description: |
Collect all metrics from pg_stat_bgwriter:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-BGWRITER-VIEW
tags:
- tag: component
value: raw
- uuid: b98d2328694f44598f2177b3f93d4b90
name: 'PostgreSQL: Cache hit ratio, %'
type: CALCULATED
key: pgsql.cache.hit
history: 7d
value_type: FLOAT
units: '%'
params: 'last(//pgsql.dbstat.sum.blks_hit.rate) * 100 / (last(//pgsql.dbstat.sum.blks_hit.rate) + last(//pgsql.dbstat.sum.blks_read.rate))'
description: 'Cache hit ratio.'
tags:
- tag: component
value: cache
- uuid: 2ea55460f0d34063ae4ab65b74ec852c
name: 'Connections sum: Active'
type: DEPENDENT
key: pgsql.connections.sum.active
delay: '0'
history: 7d
description: 'Total number of connections executing a query.'
preprocessing:
- type: JSONPATH
parameters:
- $.active
master_item:
key: 'pgsql.connections["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: connections
- uuid: 69f14028e98b48d489fbd7345c2213dd
name: 'Connections sum: Disabled'
type: DEPENDENT
key: pgsql.connections.sum.disabled
delay: '0'
history: 7d
description: 'Total number of disabled connections.'
preprocessing:
- type: JSONPATH
parameters:
- $.disabled
master_item:
key: 'pgsql.connections["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: connections
- uuid: 62a2401041724b4888bf058035dc6a0c
name: 'Connections sum: Fastpath function call'
type: DEPENDENT
key: pgsql.connections.sum.fastpath_function_call
delay: '0'
history: 7d
description: 'Total number of connections executing a fast-path function.'
preprocessing:
- type: JSONPATH
parameters:
- $.fastpath_function_call
master_item:
key: 'pgsql.connections["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: connections
- uuid: fc3b357cc8a24c4aad60784d1bfb7e18
name: 'Connections sum: Idle'
type: DEPENDENT
key: pgsql.connections.sum.idle
delay: '0'
history: 7d
description: 'Total number of connections waiting for a new client command.'
preprocessing:
- type: JSONPATH
parameters:
- $.idle
master_item:
key: 'pgsql.connections["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: connections
- uuid: b900a8123dfa48e0ac8fd4b92ae8678d
name: 'Connections sum: Idle in transaction'
type: DEPENDENT
key: pgsql.connections.sum.idle_in_transaction
delay: '0'
history: 7d
description: 'Total number of connections in a transaction state but not executing a query.'
preprocessing:
- type: JSONPATH
parameters:
- $.idle_in_transaction
master_item:
key: 'pgsql.connections["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: connections
- uuid: 99b0a3e14af44924b0319a0a9f6c16c7
name: 'Connections sum: Idle in transaction (aborted)'
type: DEPENDENT
key: pgsql.connections.sum.idle_in_transaction_aborted
delay: '0'
history: 7d
description: 'Total number of connections in a transaction state but not executing a query, and where one of the statements in the transaction caused an error.'
preprocessing:
- type: JSONPATH
parameters:
- $.idle_in_transaction_aborted
master_item:
key: 'pgsql.connections["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: connections
- uuid: 194c41f88e9e44879a70033913dd41d3
name: 'Connections sum: Prepared'
type: DEPENDENT
key: pgsql.connections.sum.prepared
delay: '0'
history: 7d
description: |
Total number of prepared transactions:
https://www.postgresql.org/docs/current/sql-prepare-transaction.html
preprocessing:
- type: JSONPATH
parameters:
- $.prepared
master_item:
key: 'pgsql.connections["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: connections
- uuid: 1ec042e5853b430d9d7982c53c3fcf14
name: 'Connections sum: Total'
type: DEPENDENT
key: pgsql.connections.sum.total
delay: '0'
history: 7d
description: 'Total number of connections.'
preprocessing:
- type: JSONPATH
parameters:
- $.total
master_item:
key: 'pgsql.connections["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: connections
- uuid: 101149dd68994084a1cdab82c9d064f0
name: 'Connections sum: Total, %'
type: DEPENDENT
key: pgsql.connections.sum.total_pct
delay: '0'
history: 7d
units: '%'
description: 'Total number of connections, in percentage.'
preprocessing:
- type: JSONPATH
parameters:
- $.total_pct
master_item:
key: 'pgsql.connections["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: connections
triggers:
- uuid: 1d0903401af64d93ac16761808d672ca
expression: 'min(/PostgreSQL by Zabbix agent 2/pgsql.connections.sum.total_pct,5m) > {$PG.CONN_TOTAL_PCT.MAX.WARN}'
name: 'PostgreSQL: Total number of connections is too high'
event_name: 'PostgreSQL: Total number of connections is too high (over {$PG.CONN_TOTAL_PCT.MAX.WARN} in 5m)'
priority: AVERAGE
description: 'Total number of current connections exceeds the limit of {$PG.CONN_TOTAL_PCT.MAX.WARN}% out of the maximum number of concurrent connections to the database server (the "max_connections" setting).'
tags:
- tag: scope
value: performance
- uuid: f2c298008b914434b96da85a985e4a54
name: 'Connections sum: Waiting'
type: DEPENDENT
key: pgsql.connections.sum.waiting
delay: '0'
history: 7d
description: |
Total number of waiting connections:
https://www.postgresql.org/docs/current/monitoring-stats.html#WAIT-EVENT-TABLE
preprocessing:
- type: JSONPATH
parameters:
- $.waiting
master_item:
key: 'pgsql.connections["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: connections
- uuid: e926ecd967f342bf90e9923825147d64
name: 'PostgreSQL: Get connections sum'
key: 'pgsql.connections["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: '0'
trends: '0'
value_type: TEXT
description: |
Collect all metrics from pg_stat_activity:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-ACTIVITY-VIEW
tags:
- tag: component
value: raw
- uuid: 1cab825fac8a49ba96dfbf7a696be729
name: 'PostgreSQL: Custom queries'
key: 'pgsql.custom.query["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}",""]'
history: 1h
trends: '0'
status: DISABLED
value_type: TEXT
description: 'Execute custom queries from file *.sql (check for option Plugins.Postgres.CustomQueriesPath at agent configuration).'
tags:
- tag: component
value: application
- uuid: 5c6de0fe332043bfb35c999b10893e4c
name: 'Dbstat: Hit blocks read per second'
type: DEPENDENT
key: pgsql.dbstat.sum.blks_hit.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of times per second disk blocks were found already in the buffer cache'
preprocessing:
- type: JSONPATH
parameters:
- $.blks_hit
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: cache
- uuid: 4dc3f2c23dfd4dfebe024a5c2d4409ae
name: 'Dbstat: Disk blocks read per second'
type: DEPENDENT
key: pgsql.dbstat.sum.blks_read.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of disk blocks read per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.blks_read
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: storage
- uuid: 619211cc2afa4a159f36abf1a17d5476
name: 'Dbstat: Blocks read time'
type: DEPENDENT
key: pgsql.dbstat.sum.blk_read_time
delay: '0'
history: 7d
value_type: FLOAT
units: s
description: 'Time spent reading data file blocks by backends.'
preprocessing:
- type: JSONPATH
parameters:
- $.blk_read_time
- type: MULTIPLIER
parameters:
- '0.001'
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: storage
- uuid: fba3b51d644c4c16ac71b3eda1be1701
name: 'Dbstat: Blocks write time'
type: DEPENDENT
key: pgsql.dbstat.sum.blk_write_time
delay: '0'
history: 7d
value_type: FLOAT
units: s
description: 'Time spent writing data file blocks by backends.'
preprocessing:
- type: JSONPATH
parameters:
- $.blk_write_time
- type: MULTIPLIER
parameters:
- '0.001'
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: storage
- uuid: 1b98b9c95b32424baa68c354496ed2de
name: 'Dbstat: Checksum failures per second'
type: DEPENDENT
key: pgsql.dbstat.sum.checksum_failures.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of data page checksum failures per second detected (or on a shared object), or NULL if data checksums are not enabled. This metric is available since PostgreSQL 12.'
valuemap:
name: 'PostgreSQL checksum failure status'
preprocessing:
- type: JSONPATH
parameters:
- $.checksum_failures
- type: MATCHES_REGEX
parameters:
- '^\d*$'
error_handler: CUSTOM_VALUE
error_handler_params: '-2'
- type: CHANGE_PER_SECOND
parameters:
- ''
error_handler: CUSTOM_VALUE
error_handler_params: '-1'
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: system
triggers:
- uuid: 1d67b13f47134a538708c2a14dcfa6b1
expression: 'last(/PostgreSQL by Zabbix agent 2/pgsql.dbstat.sum.checksum_failures.rate)>0'
name: 'Dbstat: Checksum failures detected'
priority: AVERAGE
description: |
Data page checksum failures were detected on that DB instance:
https://www.postgresql.org/docs/current/checksums.html
tags:
- tag: scope
value: availability
- uuid: 0106dfc55ace4dacaff00ce2c98de2ea
name: 'Dbstat: Conflicts per second'
type: DEPENDENT
key: pgsql.dbstat.sum.conflicts.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of queries canceled per second due to conflicts with recovery (conflicts occur only on standby servers; see pg_stat_database_conflicts for details).'
preprocessing:
- type: JSONPATH
parameters:
- $.conflicts
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: queries
- uuid: e5d3838e5cf84be9ae83cacf22dc99af
name: 'Dbstat: Deadlocks per second'
type: DEPENDENT
key: pgsql.dbstat.sum.deadlocks.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of deadlocks detected per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.deadlocks
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: deadlocks
- uuid: c61f60e6f7d24ffe99db480f6bbd9613
name: 'Dbstat: Backends connected'
type: DEPENDENT
key: pgsql.dbstat.sum.numbackends
delay: '0'
history: 7d
description: 'Number of connected backends.'
preprocessing:
- type: JSONPATH
parameters:
- $.numbackends
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: backends
- uuid: 96cb6b388b2c480ead1568293dd81e70
name: 'Dbstat: Number temp bytes per second'
type: DEPENDENT
key: pgsql.dbstat.sum.temp_bytes.rate
delay: '0'
history: 7d
value_type: FLOAT
units: b
description: 'Total amount of data written per second to temporary files by queries.'
preprocessing:
- type: JSONPATH
parameters:
- $.temp_bytes
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: storage
- uuid: bea47c8a95074ad3997aff64fcfcf49b
name: 'Dbstat: Number temp files per second'
type: DEPENDENT
key: pgsql.dbstat.sum.temp_files.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of temporary files created by queries per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.temp_files
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: storage
- uuid: 731f4adac9d34eaaaa1f8d5080fdf6ce
name: 'Dbstat: Rows deleted per second'
type: DEPENDENT
key: pgsql.dbstat.sum.tup_deleted.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of rows deleted by queries per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.tup_deleted
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: queries
- uuid: 4eb6cc273484453bab1233de085363f5
name: 'Dbstat: Rows fetched per second'
type: DEPENDENT
key: pgsql.dbstat.sum.tup_fetched.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of rows fetched by queries per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.tup_fetched
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: queries
- uuid: ae250ffa30c94df187c2010011e794aa
name: 'Dbstat: Rows inserted per second'
type: DEPENDENT
key: pgsql.dbstat.sum.tup_inserted.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of rows inserted by queries per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.tup_inserted
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: queries
- uuid: 3253ed1c96db4a84974e62b85d80bc0f
name: 'Dbstat: Rows returned per second'
type: DEPENDENT
key: pgsql.dbstat.sum.tup_returned.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of rows returned by queries per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.tup_returned
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: queries
- uuid: 13feadafa00a4bd293fcf1a98ddf1f39
name: 'Dbstat: Rows updated per second'
type: DEPENDENT
key: pgsql.dbstat.sum.tup_updated.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of rows updated by queries per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.tup_updated
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: queries
- uuid: bc8a3b29a6684b7f8a70a54b962f0e7e
name: 'Dbstat: Committed transactions per second'
type: DEPENDENT
key: pgsql.dbstat.sum.xact_commit.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of transactions that have been committed per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.xact_commit
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: transactions
- uuid: 8aedfe3e385b447eb75b85f92301665a
name: 'Dbstat: Roll backed transactions per second'
type: DEPENDENT
key: pgsql.dbstat.sum.xact_rollback.rate
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of transactions that have been rolled back per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.xact_rollback
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: transactions
- uuid: ddddde3084d54f55838b970f44290523
name: 'PostgreSQL: Get dbstat sum'
key: 'pgsql.dbstat.sum["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: '0'
trends: '0'
value_type: TEXT
description: |
Collect all metrics from pg_stat_database as sums for all databases:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW
tags:
- tag: component
value: raw
- uuid: 3be06ec14cba44d0892f3271a599c473
name: 'PostgreSQL: Get dbstat'
key: 'pgsql.dbstat["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: '0'
trends: '0'
value_type: TEXT
description: |
Collect all metrics from pg_stat_database per database:
https://www.postgresql.org/docs/current/monitoring-stats.html#PG-STAT-DATABASE-VIEW
tags:
- tag: component
value: raw
- uuid: 7112eeb300c14d959c79715462bf9563
name: 'PostgreSQL: Get locks'
key: 'pgsql.locks["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: '0'
trends: '0'
value_type: TEXT
description: |
Collect all metrics from pg_locks per database:
https://www.postgresql.org/docs/current/explicit-locking.html#LOCKING-TABLES
tags:
- tag: component
value: raw
- uuid: 0377fe6f2f8d4539b649c636ab012415
name: 'PostgreSQL: Age of oldest xid'
key: 'pgsql.oldest.xid["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: 7d
value_type: FLOAT
description: 'Age of oldest xid.'
tags:
- tag: component
value: transactions
triggers:
- uuid: 2a5c11571d9d46f093ed9081f9d51504
expression: 'last(/PostgreSQL by Zabbix agent 2/pgsql.oldest.xid["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]) > 18000000'
name: 'PostgreSQL: Oldest xid is too big'
priority: AVERAGE
tags:
- tag: scope
value: availability
- uuid: 56323e572fa443228987c62039153825
name: 'PostgreSQL: Ping'
key: 'pgsql.ping["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: 7d
description: 'Used to test a connection to see if it is alive. It is set to 0 if the query is unsuccessful.'
valuemap:
name: 'Service state'
preprocessing:
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1h
tags:
- tag: component
value: application
- tag: component
value: health
triggers:
- uuid: 48a24a78519d47349200f0b41ceec56a
expression: 'last(/PostgreSQL by Zabbix agent 2/pgsql.ping["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"])=0'
name: 'PostgreSQL: Service is down'
priority: HIGH
description: 'Last test of a connection was unsuccessful.'
tags:
- tag: scope
value: availability
- uuid: 01123126fcd54adc84c3bbfa227d9c0c
name: 'PostgreSQL: Get queries'
key: 'pgsql.queries["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}","{$PG.QUERY_ETIME.MAX.WARN}"]'
history: '0'
trends: '0'
value_type: TEXT
description: 'Collect all metrics by query execution time.'
tags:
- tag: component
value: raw
- uuid: a171db459d6144e4ad294579fb8dc56d
name: 'PostgreSQL: Replication: Standby count'
key: 'pgsql.replication.count["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: 7d
description: 'Number of standby servers.'
tags:
- tag: component
value: replication
- uuid: da9ce769f9444a3f9600ce64c4ab2857
name: 'PostgreSQL: Replication: Lag in bytes'
key: 'pgsql.replication.lag.b["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: 7d
units: B
description: 'Replication lag with master, in bytes.'
tags:
- tag: component
value: replication
- uuid: 5a9eb8ee4a484911903688e620eb618b
name: 'PostgreSQL: Replication: Lag in seconds'
key: 'pgsql.replication.lag.sec["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: 7d
units: s
description: 'Replication lag with master, in seconds.'
tags:
- tag: component
value: replication
- uuid: 4120befb754d47e9a931f868c28badb9
name: 'PostgreSQL: Get replication'
key: 'pgsql.replication.process["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: '0'
trends: '0'
value_type: TEXT
description: '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.'
tags:
- tag: component
value: raw
- uuid: 4085b836bf614f3d910818074c386845
name: 'PostgreSQL: Replication: Recovery role'
key: 'pgsql.replication.recovery_role["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: 7d
description: 'Replication role: 1 — recovery is still in progress (standby mode), 0 — master mode.'
valuemap:
name: 'PostgreSQL recovery role'
tags:
- tag: component
value: replication
- uuid: 3c83904cbad74ff7a0d10136a233e6c6
name: 'PostgreSQL: Replication: Status'
key: 'pgsql.replication.status["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: 7d
description: 'Replication status: 0 — streaming is down, 1 — streaming is up, 2 — master mode.'
valuemap:
name: 'PostgreSQL replication status'
tags:
- tag: component
value: replication
- uuid: efa946a67e5844ecb905c68a2a6b85bb
name: 'PostgreSQL: Uptime'
key: 'pgsql.uptime["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
history: 7d
value_type: FLOAT
units: s
description: 'Time since the server started.'
tags:
- tag: component
value: application
triggers:
- uuid: 5fbabc5f60b74a369a13a260d25cce3c
expression: 'last(/PostgreSQL by Zabbix agent 2/pgsql.uptime["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]) < 10m'
name: 'PostgreSQL: Service has been restarted'
event_name: 'PostgreSQL: Service has been restarted (uptime < 10m)'
priority: AVERAGE
description: 'PostgreSQL uptime is less than 10 minutes.'
tags:
- tag: scope
value: notice
- uuid: 6d5aa6213cf248749cbffdea9aff694f
name: 'WAL: Segments count'
type: DEPENDENT
key: pgsql.wal.count
delay: '0'
history: 7d
description: 'Number of WAL segments.'
preprocessing:
- type: JSONPATH
parameters:
- $.count
master_item:
key: 'pgsql.wal.stat["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: wal
- uuid: 0e58a74b8a2d47d28f596196405b22b5
name: 'WAL: Bytes received'
type: DEPENDENT
key: pgsql.wal.receive
delay: '0'
history: 7d
units: B
description: 'WAL receive, in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- $.receive
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.wal.stat["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: wal
- uuid: c3d96741af454f6b9a3a49b6117c31be
name: 'PostgreSQL: Get WAL'
key: 'pgsql.wal.stat["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
delay: 5m
history: '0'
trends: '0'
value_type: TEXT
description: 'Collect write-ahead log (WAL) metrics.'
tags:
- tag: component
value: raw
- uuid: 95f67516be544daf9ad8a1cad2e46114
name: 'WAL: Bytes written'
type: DEPENDENT
key: pgsql.wal.write
delay: '0'
history: 7d
units: B
description: 'WAL write, in bytes.'
preprocessing:
- type: JSONPATH
parameters:
- $.write
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.wal.stat["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: wal
discovery_rules:
- uuid: b1a4bfe1031a40529a7c38ac6bed3c6d
name: 'Database discovery'
key: 'pgsql.db.discovery["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
delay: 1h
filter:
evaltype: AND
conditions:
- macro: '{#DBNAME}'
value: '{$PG.LLD.FILTER.DBNAME}'
formulaid: A
description: |
Discovers databases (DB) in the database management system (DBMS), except:
- templates;
- DBs that do not allow connections.
item_prototypes:
- uuid: 1419ff1331734a4088349332e118ca94
name: 'DB [{#DBNAME}]: Database age'
key: 'pgsql.db.age["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]'
delay: 10m
history: 7d
description: 'Database age.'
tags:
- tag: component
value: application
- tag: database
value: '{#DBNAME}'
- uuid: 4367ba7fdffd459ea2b18e1877bc74ca
name: 'DB [{#DBNAME}]: Bloating tables'
key: 'pgsql.db.bloating_tables["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]'
history: 7d
description: 'Number of bloating tables.'
tags:
- tag: component
value: tables
- tag: database
value: '{#DBNAME}'
- uuid: b614a0909eec40bc841bf7446e842544
name: 'DB [{#DBNAME}]: Database size'
key: 'pgsql.db.size["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]'
delay: 5m
history: 7d
units: B
description: 'Database size.'
tags:
- tag: component
value: storage
- tag: database
value: '{#DBNAME}'
- uuid: 4b1b1a4374c0429cb1790e774f181512
name: 'DB [{#DBNAME}]: Blocks hit per second'
type: DEPENDENT
key: 'pgsql.dbstat.blks_hit.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Total number of times per second disk blocks were found already in the buffer cache, so that a read was not necessary.'
preprocessing:
- type: JSONPATH
parameters:
- $.blks_hit
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: cache
- tag: database
value: '{#DBNAME}'
- uuid: 841496e662cc43cf8db7728e96fcba76
name: 'DB [{#DBNAME}]: Disk blocks read per second'
type: DEPENDENT
key: 'pgsql.dbstat.blks_read.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Total number of disk blocks read per second in this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.blks_read
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: storage
- tag: database
value: '{#DBNAME}'
- uuid: 0313d02ce8274bc9bcaee54d062300c8
name: 'DB [{#DBNAME}]: Disk blocks read time per second'
type: DEPENDENT
key: 'pgsql.dbstat.blk_read_time.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
units: s
description: 'Time spent reading data file blocks by backends per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.blk_read_time
- type: MULTIPLIER
parameters:
- '0.001'
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: storage
- tag: database
value: '{#DBNAME}'
- uuid: e746a7760d554a0e9d41ba01c3be9db5
name: 'DB [{#DBNAME}]: Disk blocks write time'
type: DEPENDENT
key: 'pgsql.dbstat.blk_write_time.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
units: s
description: 'Time spent writing data file blocks by backends per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.blk_write_time
- type: MULTIPLIER
parameters:
- '0.001'
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: storage
- tag: database
value: '{#DBNAME}'
- uuid: d44335162082498bbc42e29e938a4de7
name: 'DB [{#DBNAME}]: Checksum failures'
type: DEPENDENT
key: 'pgsql.dbstat.checksum_failures.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of data page checksum failures detected in this database.'
valuemap:
name: 'PostgreSQL checksum failure status'
preprocessing:
- type: JSONPATH
parameters:
- $.checksum_failures
- type: MATCHES_REGEX
parameters:
- '^\d*$'
error_handler: CUSTOM_VALUE
error_handler_params: '-2'
- type: CHANGE_PER_SECOND
parameters:
- ''
error_handler: CUSTOM_VALUE
error_handler_params: '-1'
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: system
- tag: database
value: '{#DBNAME}'
trigger_prototypes:
- uuid: 5995403b904349d296227647ca318f5b
expression: 'last(/PostgreSQL by Zabbix agent 2/pgsql.dbstat.checksum_failures.rate["{#DBNAME}"])>0'
name: 'DB [{#DBNAME}]: Checksum failures detected'
priority: AVERAGE
description: |
Data page checksum failures were detected on that database:
https://www.postgresql.org/docs/current/checksums.html
tags:
- tag: scope
value: availability
- uuid: 4eb67f16bc2948a7927ed58c9d037466
name: 'DB [{#DBNAME}]: Detected conflicts per second'
type: DEPENDENT
key: 'pgsql.dbstat.conflicts.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Total number of queries canceled due to conflicts with recovery in this database per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.conflicts
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
trigger_prototypes:
- uuid: 05ac4216e1a941df8880224ffd38b806
expression: 'min(/PostgreSQL by Zabbix agent 2/pgsql.dbstat.conflicts.rate["{#DBNAME}"],5m) > {$PG.CONFLICTS.MAX.WARN:"{#DBNAME}"}'
name: 'DB [{#DBNAME}]: Too many recovery conflicts'
event_name: 'DB [{#DBNAME}]: Too many recovery conflicts (over {$PG.CONFLICTS.MAX.WARN:"{#DBNAME}"} in 5m)'
priority: AVERAGE
description: |
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
tags:
- tag: scope
value: performance
- uuid: d53da0cc702f4fe381e4d13d454ec229
name: 'DB [{#DBNAME}]: Detected deadlocks per second'
type: DEPENDENT
key: 'pgsql.dbstat.deadlocks.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Total number of detected deadlocks in this database per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.deadlocks
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: deadlocks
- tag: database
value: '{#DBNAME}'
trigger_prototypes:
- uuid: dd948e3ec19c419e8c9a62ace8d1695f
expression: 'min(/PostgreSQL by Zabbix agent 2/pgsql.dbstat.deadlocks.rate["{#DBNAME}"],5m) > {$PG.DEADLOCKS.MAX.WARN:"{#DBNAME}"}'
name: 'DB [{#DBNAME}]: Deadlock occurred'
event_name: 'DB [{#DBNAME}]: Deadlock occurred (over {$PG.DEADLOCKS.MAX.WARN:"{#DBNAME}"} in 5m)'
priority: HIGH
description: 'Number of deadlocks detected per second exceeds {$PG.DEADLOCKS.MAX.WARN:"{#DBNAME}"} for 5m.'
tags:
- tag: scope
value: availability
- uuid: 7ebf1570bebe4b9cb82474fe5aea0562
name: 'DB [{#DBNAME}]: Get dbstat'
type: DEPENDENT
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
delay: '0'
history: '0'
trends: '0'
value_type: TEXT
description: 'Get dbstat metrics for database "{#DBNAME}".'
preprocessing:
- type: JSONPATH
parameters:
- '$[''{#DBNAME}'']'
error_handler: DISCARD_VALUE
master_item:
key: 'pgsql.dbstat["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: raw
- tag: database
value: '{#DBNAME}'
- uuid: 2e31986867d24bca930d141cc5d9cc0f
name: 'DB [{#DBNAME}]: Backends connected'
type: DEPENDENT
key: 'pgsql.dbstat.numbackends["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Number of backends currently connected to this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.numbackends
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: backends
- tag: database
value: '{#DBNAME}'
- uuid: 82a2f4b2dc4f4dfe9a0a42144f603a8a
name: 'DB [{#DBNAME}]: Temp_bytes written per second'
type: DEPENDENT
key: 'pgsql.dbstat.temp_bytes.rate["{#DBNAME}"]'
delay: '0'
history: 7d
units: B
description: 'Total amount of data written to temporary files by queries in this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.temp_bytes
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: storage
- tag: database
value: '{#DBNAME}'
- uuid: 480ffc23ca8d41e3ac86bb162007065f
name: 'DB [{#DBNAME}]: Temp_files created per second'
type: DEPENDENT
key: 'pgsql.dbstat.temp_files.rate["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Total number of temporary files created by queries in this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.temp_files
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: storage
- tag: database
value: '{#DBNAME}'
- uuid: cf288751fb894e5291b2d539b4c1a6a1
name: 'DB [{#DBNAME}]: Tuples deleted per second'
type: DEPENDENT
key: 'pgsql.dbstat.tup_deleted.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Total number of rows deleted by queries in this database per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.tup_deleted
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: a512a7a075244ccb90ab6824125a405e
name: 'DB [{#DBNAME}]: Tuples fetched per second'
type: DEPENDENT
key: 'pgsql.dbstat.tup_fetched.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Total number of rows fetched by queries in this database per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.tup_fetched
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: 2f24c195df5842f1bdf65a11dea3a315
name: 'DB [{#DBNAME}]: Tuples inserted per second'
type: DEPENDENT
key: 'pgsql.dbstat.tup_inserted.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Total number of rows inserted by queries in this database per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.tup_inserted
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: 175c5051ef0c4a31b76270cacbdd7ed5
name: 'DB [{#DBNAME}]: Tuples returned per second'
type: DEPENDENT
key: 'pgsql.dbstat.tup_returned.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of rows returned by queries in this database per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.tup_returned
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: 9888b495d3f04cceb373c341bd4f1941
name: 'DB [{#DBNAME}]: Tuples updated per second'
type: DEPENDENT
key: 'pgsql.dbstat.tup_updated.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Total number of rows updated by queries in this database per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.tup_updated
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: 5b0ecb9c928c49a6a01b5df6aec931dd
name: 'DB [{#DBNAME}]: Commits per second'
type: DEPENDENT
key: 'pgsql.dbstat.xact_commit.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of transactions in this database that have been committed per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.xact_commit
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: transactions
- tag: database
value: '{#DBNAME}'
- uuid: 1d280198e31649fcb053d4c87a0e869d
name: 'DB [{#DBNAME}]: Rollbacks per second'
type: DEPENDENT
key: 'pgsql.dbstat.xact_rollback.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Total number of transactions in this database that have been rolled back.'
preprocessing:
- type: JSONPATH
parameters:
- $.xact_rollback
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.dbstat.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: transactions
- tag: database
value: '{#DBNAME}'
- uuid: 8eb2bd907a0e4385bcac9e0f467f9748
name: 'DB [{#DBNAME}]: Num of accessexclusive locks'
type: DEPENDENT
key: 'pgsql.locks.accessexclusive["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Number of accessexclusive locks for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.accessexclusive
master_item:
key: 'pgsql.locks.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: locks
- tag: database
value: '{#DBNAME}'
- uuid: 5f783de0d6124fc0ae14522a4ad89189
name: 'DB [{#DBNAME}]: Num of accessshare locks'
type: DEPENDENT
key: 'pgsql.locks.accessshare["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Number of accessshare locks for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.accessshare
master_item:
key: 'pgsql.locks.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: locks
- tag: database
value: '{#DBNAME}'
- uuid: 3c754430815f411e9aa8dde593f6333a
name: 'DB [{#DBNAME}]: Num of exclusive locks'
type: DEPENDENT
key: 'pgsql.locks.exclusive["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Number of exclusive locks for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.exclusive
master_item:
key: 'pgsql.locks.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: locks
- tag: database
value: '{#DBNAME}'
- uuid: 2c7759f4c9e442cb80bd54ea3323501b
name: 'DB [{#DBNAME}]: Get locks'
type: DEPENDENT
key: 'pgsql.locks.get_metrics["{#DBNAME}"]'
delay: '0'
history: '0'
trends: '0'
value_type: TEXT
description: 'Get locks metrics for database "{#DBNAME}".'
preprocessing:
- type: JSONPATH
parameters:
- '$[''{#DBNAME}'']'
error_handler: DISCARD_VALUE
master_item:
key: 'pgsql.locks["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: component
value: raw
- tag: database
value: '{#DBNAME}'
- uuid: b1ccea7698264d768da1299ec9d13738
name: 'DB [{#DBNAME}]: Num of rowexclusive locks'
type: DEPENDENT
key: 'pgsql.locks.rowexclusive["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Number of rowexclusive locks for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.rowexclusive
master_item:
key: 'pgsql.locks.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: locks
- tag: database
value: '{#DBNAME}'
- uuid: b4b1402b99284f3bbf0ac0dff493449f
name: 'DB [{#DBNAME}]: Num of rowshare locks'
type: DEPENDENT
key: 'pgsql.locks.rowshare["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Number of rowshare locks for this database.'
preprocessing:
- type: JSONPATH
parameters:
- '$[''{#DBNAME}''].rowshare'
error_handler: DISCARD_VALUE
master_item:
key: 'pgsql.locks.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: locks
- tag: database
value: '{#DBNAME}'
- uuid: 15eb93e90c1241a99aaff834d69cc5be
name: 'DB [{#DBNAME}]: Num of sharerowexclusive locks'
type: DEPENDENT
key: 'pgsql.locks.sharerowexclusive["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Number of total sharerowexclusive for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.sharerowexclusive
master_item:
key: 'pgsql.locks.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: locks
- tag: database
value: '{#DBNAME}'
- uuid: 04e6cec0423f4dddb09e6643561bdf77
name: 'DB [{#DBNAME}]: Num of shareupdateexclusive locks'
type: DEPENDENT
key: 'pgsql.locks.shareupdateexclusive["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Number of shareupdateexclusive locks for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.shareupdateexclusive
master_item:
key: 'pgsql.locks.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: locks
- tag: database
value: '{#DBNAME}'
- uuid: 8a410cf1f0be41fbb5a976f368f07430
name: 'DB [{#DBNAME}]: Num of share locks'
type: DEPENDENT
key: 'pgsql.locks.share["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Number of share locks for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.share
master_item:
key: 'pgsql.locks.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: locks
- tag: database
value: '{#DBNAME}'
- uuid: a982064d710644db85ebc1cde67bfe4d
name: 'DB [{#DBNAME}]: Num of locks total'
type: DEPENDENT
key: 'pgsql.locks.total["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Total number of locks in this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.total
master_item:
key: 'pgsql.locks.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: locks
- tag: database
value: '{#DBNAME}'
- uuid: 75e704af5cb545fd9f83bec3f147dd04
name: 'DB [{#DBNAME}]: Get queries'
type: DEPENDENT
key: 'pgsql.queries.get_metrics["{#DBNAME}"]'
delay: '0'
history: '0'
trends: '0'
value_type: TEXT
description: 'Get queries metrics for database "{#DBNAME}".'
preprocessing:
- type: JSONPATH
parameters:
- '$[''{#DBNAME}'']'
error_handler: DISCARD_VALUE
master_item:
key: 'pgsql.queries["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}","{$PG.QUERY_ETIME.MAX.WARN}"]'
tags:
- tag: component
value: raw
- tag: database
value: '{#DBNAME}'
- uuid: 4c8934820b7f46a195115c7214d4379c
name: 'DB [{#DBNAME}]: Queries slow maintenance count'
type: DEPENDENT
key: 'pgsql.queries.mro.slow_count["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Slow maintenance query count for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.mro_slow_count
master_item:
key: 'pgsql.queries.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: 612c8f83e228406f86e70e8486a51f9b
name: 'DB [{#DBNAME}]: Queries max maintenance time'
type: DEPENDENT
key: 'pgsql.queries.mro.time_max["{#DBNAME}"]'
delay: '0'
history: 7d
units: s
description: 'Max maintenance query time for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.mro_time_max
master_item:
key: 'pgsql.queries.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: 9cde2701b5814142b064696dc974f45d
name: 'DB [{#DBNAME}]: Queries sum maintenance time'
type: DEPENDENT
key: 'pgsql.queries.mro.time_sum["{#DBNAME}"]'
delay: '0'
history: 7d
units: s
description: 'Sum maintenance query time for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.mro_time_sum
master_item:
key: 'pgsql.queries.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: 9e1191f80c3a4e9aa0d3aba2b2740fef
name: 'DB [{#DBNAME}]: Queries slow query count'
type: DEPENDENT
key: 'pgsql.queries.query.slow_count["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Slow query count for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.query_slow_count
master_item:
key: 'pgsql.queries.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
trigger_prototypes:
- uuid: 2bb34a2a7dee451cb5419a146d883601
expression: 'min(/PostgreSQL by Zabbix agent 2/pgsql.queries.query.slow_count["{#DBNAME}"],5m)>{$PG.SLOW_QUERIES.MAX.WARN:"{#DBNAME}"}'
name: 'DB [{#DBNAME}]: Too many slow queries'
event_name: 'DB [{#DBNAME}]: Too many slow queries (over {$PG.SLOW_QUERIES.MAX.WARN:"{#DBNAME}"} in 5m)'
priority: WARNING
description: 'The number of detected slow queries exceeds the limit of {$PG.SLOW_QUERIES.MAX.WARN:"{#DBNAME}"}.'
tags:
- tag: scope
value: performance
- uuid: 73712df30d66494998bf11566eba409f
name: 'DB [{#DBNAME}]: Queries max query time'
type: DEPENDENT
key: 'pgsql.queries.query.time_max["{#DBNAME}"]'
delay: '0'
history: 7d
units: s
description: 'Max query time for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.query_time_max
master_item:
key: 'pgsql.queries.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: ba95d84bc11b4df4aece8ddb51042339
name: 'DB [{#DBNAME}]: Queries sum query time'
type: DEPENDENT
key: 'pgsql.queries.query.time_sum["{#DBNAME}"]'
delay: '0'
history: 7d
units: s
description: 'Sum query time for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.query_time_sum
master_item:
key: 'pgsql.queries.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: d31701d52f5941d5a24241c95db52373
name: 'DB [{#DBNAME}]: Queries slow transaction count'
type: DEPENDENT
key: 'pgsql.queries.tx.slow_count["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Slow transaction query count for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.tx_slow_count
master_item:
key: 'pgsql.queries.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: ecc24b3143254dd4b2fc01c12cefb345
name: 'DB [{#DBNAME}]: Queries max transaction time'
type: DEPENDENT
key: 'pgsql.queries.tx.time_max["{#DBNAME}"]'
delay: '0'
history: 7d
units: s
description: 'Max transaction query time for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.tx_time_max
master_item:
key: 'pgsql.queries.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
- uuid: 178926a753614bb58206d82f68280097
name: 'DB [{#DBNAME}]: Queries sum transaction time'
type: DEPENDENT
key: 'pgsql.queries.tx.time_sum["{#DBNAME}"]'
delay: '0'
history: 7d
units: s
description: 'Sum transaction query time for this database.'
preprocessing:
- type: JSONPATH
parameters:
- $.tx_time_sum
master_item:
key: 'pgsql.queries.get_metrics["{#DBNAME}"]'
tags:
- tag: component
value: queries
- tag: database
value: '{#DBNAME}'
graph_prototypes:
- uuid: af6eac83efc94d2a9f4a3501207fb5ce
name: 'DB [{#DBNAME}]: Locks'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.locks.total["{#DBNAME}"]'
- sortorder: '1'
color: F63100
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.locks.accessexclusive["{#DBNAME}"]'
- sortorder: '2'
color: 00611C
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.locks.accessshare["{#DBNAME}"]'
- sortorder: '3'
color: F7941D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.locks.exclusive["{#DBNAME}"]'
- sortorder: '4'
color: FC6EA3
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.locks.rowexclusive["{#DBNAME}"]'
- sortorder: '5'
color: 6C59DC
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.locks.rowshare["{#DBNAME}"]'
- sortorder: '6'
color: C7A72D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.locks.sharerowexclusive["{#DBNAME}"]'
- sortorder: '7'
color: BA2A5D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.locks.shareupdateexclusive["{#DBNAME}"]'
- sortorder: '8'
color: F230E0
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.locks.share["{#DBNAME}"]'
- uuid: 9a518b4bf0f04609863bf9dc4c7f1ea2
name: 'DB [{#DBNAME}]: Number of bloating tables'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.db.bloating_tables["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]'
- uuid: 4d46d39a1d1146c19a57b2b5b8086708
name: 'DB [{#DBNAME}]: pg_stat_database metrics'
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.blks_hit.rate["{#DBNAME}"]'
- sortorder: '1'
color: F63100
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.blks_read.rate["{#DBNAME}"]'
- sortorder: '2'
color: 00611C
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.conflicts.rate["{#DBNAME}"]'
- sortorder: '3'
color: F7941D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.deadlocks.rate["{#DBNAME}"]'
- sortorder: '4'
color: FC6EA3
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.temp_bytes.rate["{#DBNAME}"]'
- sortorder: '5'
color: 6C59DC
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.temp_files.rate["{#DBNAME}"]'
- sortorder: '6'
color: C7A72D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.tup_deleted.rate["{#DBNAME}"]'
- sortorder: '7'
color: BA2A5D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.tup_fetched.rate["{#DBNAME}"]'
- sortorder: '8'
color: F230E0
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.tup_inserted.rate["{#DBNAME}"]'
- sortorder: '9'
color: 5CCD18
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.tup_returned.rate["{#DBNAME}"]'
- sortorder: '10'
color: BB2A02
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.tup_updated.rate["{#DBNAME}"]'
- sortorder: '11'
color: AC41A5
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.xact_commit.rate["{#DBNAME}"]'
- sortorder: '12'
color: 89ABF8
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.dbstat.xact_rollback.rate["{#DBNAME}"]'
- uuid: 98f4c88e15b742fb80e1ecd8aeab970d
name: 'DB [{#DBNAME}]: Queries'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.queries.mro.time_max["{#DBNAME}"]'
- sortorder: '1'
color: F63100
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.queries.query.time_max["{#DBNAME}"]'
- sortorder: '2'
color: 00611C
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.queries.tx.time_max["{#DBNAME}"]'
- sortorder: '3'
drawtype: GRADIENT_LINE
color: F7941D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.queries.mro.time_sum["{#DBNAME}"]'
- sortorder: '4'
drawtype: GRADIENT_LINE
color: FC6EA3
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.queries.query.time_sum["{#DBNAME}"]'
- sortorder: '5'
drawtype: GRADIENT_LINE
color: 6C59DC
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.queries.tx.time_sum["{#DBNAME}"]'
- uuid: 86853d8590344bad84aab1deb3d1cffc
name: 'DB [{#DBNAME}]: Size'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.db.size["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]'
- uuid: 918a6fd8bd0e49c98f759778f44ab606
name: 'DB [{#DBNAME}]: Slow queries'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.queries.mro.slow_count["{#DBNAME}"]'
- sortorder: '1'
color: F63100
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.queries.query.slow_count["{#DBNAME}"]'
- sortorder: '2'
color: 00611C
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.queries.tx.slow_count["{#DBNAME}"]'
- uuid: e94f9017c06644a2bbcb48697381556d
name: 'Replication discovery'
key: 'pgsql.replication.process.discovery["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
delay: 15m
filter:
evaltype: AND
conditions:
- macro: '{#APPLICATION_NAME}'
value: '{$PG.LLD.FILTER.APPLICATION}'
formulaid: A
description: 'Discovers replication lag metrics.'
item_prototypes:
- uuid: a77e5e6702ff41af9defe102cbeeea74
name: 'Application [{#APPLICATION_NAME}]: Get replication'
type: DEPENDENT
key: 'pgsql.replication.get_metrics["{#APPLICATION_NAME}"]'
delay: '0'
history: '0'
trends: '0'
value_type: TEXT
description: 'Collect metrics from the "pg_stat_replication" about the application "{#APPLICATION_NAME}" that is connected to this WAL sender, which contains information about the WAL sender process, showing statistics about replication to that sender''s connected standby server.'
preprocessing:
- type: JSONPATH
parameters:
- '$[''{#APPLICATION_NAME}'']'
error_handler: DISCARD_VALUE
master_item:
key: 'pgsql.replication.process["{$PG.CONNSTRING}","{$PG.USER}","{$PG.PASSWORD}"]'
tags:
- tag: application
value: '{#APPLICATION_NAME}'
- tag: component
value: raw
- uuid: 15b83330044042668e618501160c37e4
name: 'Application [{#APPLICATION_NAME}]: Replication flush lag'
type: DEPENDENT
key: 'pgsql.replication.process.flush_lag["{#APPLICATION_NAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
units: s
preprocessing:
- type: JSONPATH
parameters:
- $.flush_lag
master_item:
key: 'pgsql.replication.get_metrics["{#APPLICATION_NAME}"]'
tags:
- tag: application
value: '{#APPLICATION_NAME}'
- tag: component
value: replication
- uuid: 0daf6e3c7843488cb3160a2bd6b09fbf
name: 'Application [{#APPLICATION_NAME}]: Replication replay lag'
type: DEPENDENT
key: 'pgsql.replication.process.replay_lag["{#APPLICATION_NAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
units: s
preprocessing:
- type: JSONPATH
parameters:
- $.replay_lag
master_item:
key: 'pgsql.replication.get_metrics["{#APPLICATION_NAME}"]'
tags:
- tag: application
value: '{#APPLICATION_NAME}'
- tag: component
value: replication
- uuid: 2d96bc517d3a4c3fbcae8a7f1436bf72
name: 'Application [{#APPLICATION_NAME}]: Replication write lag'
type: DEPENDENT
key: 'pgsql.replication.process.write_lag["{#APPLICATION_NAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
units: s
preprocessing:
- type: JSONPATH
parameters:
- $.write_lag
master_item:
key: 'pgsql.replication.get_metrics["{#APPLICATION_NAME}"]'
tags:
- tag: application
value: '{#APPLICATION_NAME}'
- tag: component
value: replication
graph_prototypes:
- uuid: e79dfe2d436d49da898772a9e7345825
name: 'Application [{#APPLICATION_NAME}]: Replication lag'
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.replication.process.flush_lag["{#APPLICATION_NAME}"]'
- sortorder: '1'
color: F63100
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.replication.process.replay_lag["{#APPLICATION_NAME}"]'
- sortorder: '2'
color: 00611C
item:
host: 'PostgreSQL by Zabbix agent 2'
key: 'pgsql.replication.process.write_lag["{#APPLICATION_NAME}"]'
tags:
- tag: class
value: database
- tag: target
value: postgresql
macros:
- macro: '{$PG.CONFLICTS.MAX.WARN}'
value: '0'
description: 'Maximum number of recovery conflicts for trigger expression.'
- macro: '{$PG.CONNSTRING}'
value: 'tcp://localhost:5432'
description: 'URI or named session of the PostgreSQL instance.'
- macro: '{$PG.CONN_TOTAL_PCT.MAX.WARN}'
value: '90'
description: 'Maximum percentage of current connections for trigger expression.'
- macro: '{$PG.DATABASE}'
value: postgres
description: 'Default PostgreSQL database for the connection.'
- macro: '{$PG.DEADLOCKS.MAX.WARN}'
value: '0'
description: 'Maximum number of detected deadlocks for trigger expression.'
- macro: '{$PG.LLD.FILTER.APPLICATION}'
value: .+
description: 'Filter of discoverable applications.'
- macro: '{$PG.LLD.FILTER.DBNAME}'
value: .+
description: 'Filter of discoverable databases.'
- macro: '{$PG.PASSWORD}'
value: '<Put the password here>'
description: 'PostgreSQL user password.'
- macro: '{$PG.QUERY_ETIME.MAX.WARN}'
value: '30'
description: 'Execution time limit for count of slow queries.'
- macro: '{$PG.SLOW_QUERIES.MAX.WARN}'
value: '5'
description: 'Slow queries count threshold for a trigger.'
- macro: '{$PG.USER}'
value: zbx_monitor
description: 'PostgreSQL username.'
dashboards:
- uuid: e3ae726b06cc4663a3eef5a73909f796
name: 'PostgreSQL databases'
pages:
- widgets:
- type: graphprototype
width: '12'
height: '5'
fields:
- type: INTEGER
name: columns
value: '1'
- type: INTEGER
name: rows
value: '1'
- type: GRAPH_PROTOTYPE
name: graphid
value:
host: 'PostgreSQL by Zabbix agent 2'
name: 'DB [{#DBNAME}]: pg_stat_database metrics'
- type: graphprototype
x: '12'
width: '12'
height: '5'
fields:
- type: INTEGER
name: columns
value: '1'
- type: INTEGER
name: rows
value: '1'
- type: GRAPH_PROTOTYPE
name: graphid
value:
host: 'PostgreSQL by Zabbix agent 2'
name: 'DB [{#DBNAME}]: Locks'
- type: graphprototype
'y': '5'
width: '12'
height: '5'
fields:
- type: INTEGER
name: columns
value: '1'
- type: INTEGER
name: rows
value: '1'
- type: GRAPH_PROTOTYPE
name: graphid
value:
host: 'PostgreSQL by Zabbix agent 2'
name: 'DB [{#DBNAME}]: Size'
- type: graphprototype
x: '12'
'y': '5'
width: '12'
height: '5'
fields:
- type: INTEGER
name: columns
value: '1'
- type: INTEGER
name: rows
value: '1'
- type: GRAPH_PROTOTYPE
name: graphid
value:
host: 'PostgreSQL by Zabbix agent 2'
name: 'DB [{#DBNAME}]: Number of bloating tables'
- type: graphprototype
'y': '10'
width: '12'
height: '5'
fields:
- type: INTEGER
name: columns
value: '1'
- type: INTEGER
name: rows
value: '1'
- type: GRAPH_PROTOTYPE
name: graphid
value:
host: 'PostgreSQL by Zabbix agent 2'
name: 'DB [{#DBNAME}]: Queries'
- type: graphprototype
x: '12'
'y': '10'
width: '12'
height: '5'
fields:
- type: INTEGER
name: columns
value: '1'
- type: INTEGER
name: rows
value: '1'
- type: GRAPH_PROTOTYPE
name: graphid
value:
host: 'PostgreSQL by Zabbix agent 2'
name: 'DB [{#DBNAME}]: Slow queries'
valuemaps:
- uuid: cd2d975b0d7e4f8e89afb1033fce4ce2
name: 'PostgreSQL checksum failure status'
mappings:
- value: '-2'
newvalue: 'null'
- uuid: 9f38c01c325248d4b538c0582432b541
name: 'PostgreSQL recovery role'
mappings:
- value: '0'
newvalue: Master
- value: '1'
newvalue: Standby
- uuid: 0fba38eefa4c4073b46d3f8579fda314
name: 'PostgreSQL replication status'
mappings:
- value: '0'
newvalue: Down
- value: '1'
newvalue: Up
- value: '2'
newvalue: Master
- uuid: 6619a58602a44e83950d3d4b5180c0e9
name: 'Service state'
mappings:
- value: '0'
newvalue: Down
- value: '1'
newvalue: Up