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 (`` at your discretion) and inherit permissions from the default role `pg_monitor`: CREATE USER zbx_monitor WITH 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 ``, or specify the named session - ``. 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 `` with the address of the PostgreSQL instance): Plugins.PostgreSQL.Sessions.myconn.Uri=tcp://: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: '' 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