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.

2166 lines
88 KiB

zabbix_export:
version: '7.0'
template_groups:
- uuid: 748ad4d098d447d492bb935c907f652f
name: Templates/Databases
templates:
- uuid: 399bd1ee587245ecac6f39beaa99886f
template: 'PostgreSQL by Zabbix agent'
name: 'PostgreSQL by Zabbix agent'
description: |
This template is designed for the deployment of PostgreSQL monitoring by Zabbix via Zabbix agent and uses user parameters to run SQL queries with the `psql` command-line tool.
Note:
- The template requires `pg_isready` and `psql` utilities to be installed on the same host with Zabbix agent.
- The template requires files with SQL queries and user parameters that can be found in the Zabbix official repository:
https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/postgresql?at=refs%2Fheads%2Frelease%2F6.0
Setup:
1. Deploy Zabbix agent and create the PostgreSQL user for monitoring (`<password>` at your discretion) with proper access rights to your PostgreSQL instance.
For PostgreSQL version 10 and above:
CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>' INHERIT;
GRANT pg_monitor TO zbx_monitor;
For PostgreSQL version 9.6 and below:
CREATE USER zbx_monitor WITH PASSWORD '<PASSWORD>';
GRANT SELECT ON pg_stat_database TO zbx_monitor;
ALTER USER zbx_monitor WITH SUPERUSER;
2. Copy the `postgresql/` directory to the `zabbix` user home directory - `/var/lib/zabbix/`. The `postgresql/` directory contains the files with SQL queries needed to obtain metrics from PostgreSQL instance.
If the home directory of the `zabbix` user doesn't exist, create it first:
mkdir -m u=rwx,g=rwx,o= -p /var/lib/zabbix
chown zabbix:zabbix /var/lib/zabbix
3. Copy the `template_db_postgresql.conf` file, containing user parameters, to the Zabbix agent configuration directory `/etc/zabbix/zabbix_agentd.d/` and restart Zabbix agent service.
If you want to use SSL/TLS encryption to protect communications with the remote PostgreSQL instance, you can modify the connection string in user parameters. For example, to enable required encryption in transport mode without identity checks you could append `?sslmode=required` to the end of the connection string for all keys that use `psql`:
UserParameter=pgsql.bgwriter[*], psql -qtAX postgresql://"$3":"$4"@"$1":"$2"/"$5"?sslmode=required -f "/var/lib/zabbix/postgresql/pgsql.bgwriter.sql"
Consult the PostgreSQL documentation about protection modes (https://www.postgresql.org/docs/current/libpq-ssl.html#LIBPQ-SSL-PROTECTION) and client connection parameters (https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNECT-SSLMODE).
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.
4. 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).
5. Specify the host name or IP address in the `{$PG.HOST}` macro. Adjust the port number with `{$PG.PORT}` macro if needed.
6. Set the password that you specified in step 1 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: d17c6c15154d40d1afa5b1eafb2ed93e
name: 'Bgwriter: Buffers allocated per second'
type: DEPENDENT
key: pgsql.bgwriter.buffers_alloc.rate
delay: '0'
history: 7d
value_type: FLOAT
units: Bps
description: 'Number of buffers allocated per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.buffers_alloc
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.bgwriter["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: bgwriter
- uuid: 2c3ee691d4a54fb6b566739a3a648df4
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
units: Bps
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: bgwriter
- uuid: 77e1eb202a6346ce9df0f1bb2c078688
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: bgwriter
- uuid: e29d26a48d0143579bf3acc6655cd659
name: 'Checkpoint: Buffers written during checkpoints per second'
type: DEPENDENT
key: pgsql.bgwriter.buffers_checkpoint.rate
delay: '0'
history: 7d
value_type: FLOAT
units: Bps
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: bgwriter
- uuid: 5151183461a54d2bbfaad04b8cab3798
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
units: Bps
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: bgwriter
- uuid: ff290c0602b9447e87240c1ecf467050
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: bgwriter
triggers:
- uuid: 65e7954489854ad3ad1698dead7c4c02
expression: 'last(/PostgreSQL by Zabbix agent/pgsql.bgwriter.checkpoints_req.rate) > {$PG.CHECKPOINTS_REQ.MAX.WARN}'
name: 'PostgreSQL: Required checkpoints occur too frequently'
event_name: 'PostgreSQL: Required checkpoints occur too frequently (over {$PG.CHECKPOINTS_REQ.MAX.WARN})'
priority: AVERAGE
description: |
Checkpoints are points in the sequence of transactions at which it is guaranteed that the heap and index data files have been updated with all information written before that checkpoint. At checkpoint time, all dirty data pages are flushed to disk and a special checkpoint record is written to the log file.
https://www.postgresql.org/docs/current/wal-configuration.html
tags:
- tag: scope
value: performance
- uuid: a5271230be8b431cb96580180e099b98
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: bgwriter
- uuid: 782d2368763b48ad8663aa9fb75c3326
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: bgwriter
- uuid: b5e5f463978c46dd9401963f48ea72eb
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: bgwriter
- uuid: f273c71f92bf4ac0b6ec5a0a88d1239c
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: bgwriter
- uuid: 1fc5ba48a0974bd7bf965b5f130deded
name: 'PostgreSQL: Get bgwriter'
key: 'pgsql.bgwriter["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
history: 1h
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
triggers:
- uuid: 768d28b9360b46cda3065f5082ba97ac
expression: 'nodata(/PostgreSQL by Zabbix agent/pgsql.bgwriter["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"],30m) = 1'
name: 'PostgreSQL: Failed to get items'
event_name: 'PostgreSQL: Failed to get items (no data for 30m)'
priority: WARNING
description: 'Zabbix has not received any data for items for the last 30 minutes.'
dependencies:
- name: 'PostgreSQL: Service is down'
expression: 'last(/PostgreSQL by Zabbix agent/pgsql.ping["{$PG.HOST}","{$PG.PORT}"]) = 0'
tags:
- tag: scope
value: availability
- uuid: 70a7581fabd14e05bda762b79811187c
name: 'PostgreSQL: Cache hit ratio, %'
key: 'pgsql.cache.hit["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
history: 7d
value_type: FLOAT
units: '%'
description: 'Cache hit ratio.'
tags:
- tag: component
value: cache
triggers:
- uuid: 4d87cc71b40f4b59ad27f30f33b15a69
expression: 'max(/PostgreSQL by Zabbix agent/pgsql.cache.hit["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"],5m) < {$PG.CACHE_HITRATIO.MIN.WARN}'
name: 'PostgreSQL: Cache hit ratio too low'
event_name: 'PostgreSQL: Cache hit ratio too low (under {$PG.CACHE_HITRATIO.MIN.WARN} in 5m)'
priority: WARNING
description: 'Cache hit ratio is lower than {$PG.CACHE_HITRATIO.MIN.WARN} for 5m.'
tags:
- tag: scope
value: performance
- uuid: 248cbe5067324b9ca435f2aced5e2a5f
name: 'PostgreSQL: Config hash'
key: 'pgsql.config.hash["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
delay: 15m
history: 7d
trends: '0'
value_type: TEXT
description: 'PostgreSQL configuration hash.'
preprocessing:
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1h
tags:
- tag: component
value: application
triggers:
- uuid: b727cfa6d3de4063b6a2dcb6cc84e27b
expression: 'last(/PostgreSQL by Zabbix agent/pgsql.config.hash["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"],#1)<>last(/PostgreSQL by Zabbix agent/pgsql.config.hash["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"],#2) and length(last(/PostgreSQL by Zabbix agent/pgsql.config.hash["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]))>0'
name: 'PostgreSQL: Configuration has changed'
priority: INFO
description: 'PostgreSQL configuration has changed.'
tags:
- tag: scope
value: notice
- uuid: c78116d3acf24e6990ed27ba8008728c
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.sum["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: connections
- uuid: be6eb6ecbfad420b889c58d1f1550b23
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.sum["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: connections
- uuid: 6471d014722c4072ae045df4c69578e3
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.sum["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: connections
- uuid: 197cc14f55db485b891614c7b7ee2a51
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.sum["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: connections
- uuid: 24d23377c7cd4cc5b63f98a261c2501c
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.sum["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: connections
- uuid: 488050d9aa8e4c2ea5b3e991ec5ddacc
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.sum["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: connections
triggers:
- uuid: 54ef12b8ff1e4383a3097c71478ceefa
expression: 'min(/PostgreSQL by Zabbix agent/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: fadd1333189c4ed29db57cf2acd158d0
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.sum["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: connections
- uuid: b0da0c4856a645ca8ef03405d2d8d4a5
name: 'PostgreSQL: Get connections sum'
key: 'pgsql.connections.sum["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
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: b44f263fb33e461e8c3d700fb7688c7b
name: 'PostgreSQL: Get dbstat'
key: 'pgsql.dbstat["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
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: 7cee21f6225340ef80e9cdef7ce20b10
name: 'PostgreSQL: Get locks'
key: 'pgsql.locks["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
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: f42bd73b3af6451b8a3a6113dcc1b675
name: 'PostgreSQL: Ping time'
key: 'pgsql.ping.time["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
history: 7d
value_type: FLOAT
units: s
description: 'Used to get the `SELECT 1` query execution time.'
preprocessing:
- type: REGEX
parameters:
- 'Time:\s+(\d+\.\d+)\s+ms'
- \1
- type: MULTIPLIER
parameters:
- '0.001'
tags:
- tag: component
value: application
- tag: component
value: health
triggers:
- uuid: e19b5630737b4c63886b5df77a3c748c
expression: 'min(/PostgreSQL by Zabbix agent/pgsql.ping.time["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"],5m) > {$PG.PING_TIME.MAX.WARN}'
name: 'PostgreSQL: Response too long'
event_name: 'PostgreSQL: Response too long (over {$PG.PING_TIME.MAX.WARN})'
priority: AVERAGE
description: 'Response is taking too long (over {$PG.PING_TIME.MAX.WARN} for 5m).'
dependencies:
- name: 'PostgreSQL: Service is down'
expression: 'last(/PostgreSQL by Zabbix agent/pgsql.ping["{$PG.HOST}","{$PG.PORT}"]) = 0'
tags:
- tag: scope
value: availability
- tag: scope
value: performance
- uuid: f5bd615243b344cb88dac1e83436cc85
name: 'PostgreSQL: Ping'
key: 'pgsql.ping["{$PG.HOST}","{$PG.PORT}"]'
history: 7d
description: 'Used to test a connection to see if it is alive. It is set to 0 if the instance doesn''t accept the connections.'
valuemap:
name: 'Service state'
preprocessing:
- type: JAVASCRIPT
parameters:
- 'return value.search(/accepting connections/)>0 ? 1 : 0'
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1h
tags:
- tag: component
value: application
- tag: component
value: health
triggers:
- uuid: 6d9c2b5353ce4f6baeeb0f254fb7d1e2
expression: 'last(/PostgreSQL by Zabbix agent/pgsql.ping["{$PG.HOST}","{$PG.PORT}"]) = 0'
name: 'PostgreSQL: Service is down'
priority: HIGH
description: 'Last test of a connection was unsuccessful.'
tags:
- tag: scope
value: availability
- uuid: 47bf580e1e4e48cf9c0e94fcf90288ac
name: 'PostgreSQL: Get queries'
key: 'pgsql.queries["{$PG.HOST}","{$PG.PORT}","{$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: d8a509bd011a4ecda5d439295e257e9d
name: 'PostgreSQL: Replication: Standby count'
key: 'pgsql.replication.count["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
history: 7d
description: 'Number of standby servers.'
tags:
- tag: component
value: replication
- uuid: 21f8bea1141249c7a4dfafad5bc3ef41
name: 'PostgreSQL: Replication: Lag in seconds'
key: 'pgsql.replication.lag.sec["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
history: 7d
units: s
description: 'Replication lag with master, in seconds.'
tags:
- tag: component
value: replication
triggers:
- uuid: 11831c52e86445498eed42de6a629b65
expression: 'min(/PostgreSQL by Zabbix agent/pgsql.replication.lag.sec["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"],5m) > {$PG.REPL_LAG.MAX.WARN}'
name: 'PostgreSQL: Streaming lag with {#MASTER} is too high'
event_name: 'PostgreSQL: Streaming lag with {#MASTER} is too high (over {$PG.REPL_LAG.MAX.WARN} in 5m)'
priority: AVERAGE
description: 'Replication lag with master is higher than {$PG.REPL_LAG.MAX.WARN} for 5m.'
tags:
- tag: scope
value: availability
- tag: scope
value: performance
- uuid: 09f696124fca4c5b844bf66c9c912b87
name: 'PostgreSQL: Replication: Recovery role'
key: 'pgsql.replication.recovery_role["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
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: d449017462704508a4aad51a6b45fb30
name: 'PostgreSQL: Replication: Status'
key: 'pgsql.replication.status["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
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
triggers:
- uuid: aef1e1d2bab540f8ab738b4a3fad863c
expression: 'max(/PostgreSQL by Zabbix agent/pgsql.replication.status["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"],5m)=0'
name: 'PostgreSQL: Replication is down'
priority: AVERAGE
description: 'Replication is enabled and data streaming was down for 5m.'
tags:
- tag: scope
value: availability
- uuid: 4883717865c84c19b48d46f009317de2
name: 'Transactions: Max active transaction time'
type: DEPENDENT
key: pgsql.transactions.active
delay: '0'
history: 7d
value_type: FLOAT
units: s
description: 'Current max active transaction time.'
preprocessing:
- type: JSONPATH
parameters:
- $.active
master_item:
key: 'pgsql.transactions["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: transactions
- uuid: 4c89121d71a14c15b6169417ea69d0a3
name: 'Transactions: Max idle transaction time'
type: DEPENDENT
key: pgsql.transactions.idle
delay: '0'
history: 7d
value_type: FLOAT
units: s
description: 'Current max idle transaction time.'
preprocessing:
- type: JSONPATH
parameters:
- $.idle
master_item:
key: 'pgsql.transactions["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: transactions
- uuid: 0ee43ddd9da246d19097107b45e4c8e8
name: 'Transactions: Max prepared transaction time'
type: DEPENDENT
key: pgsql.transactions.prepared
delay: '0'
history: 7d
value_type: FLOAT
units: s
description: 'Current max prepared transaction time.'
preprocessing:
- type: JSONPATH
parameters:
- $.prepared
master_item:
key: 'pgsql.transactions["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: transactions
- uuid: da341b2011714a1f994ecbe96bd52155
name: 'Transactions: Max waiting transaction time'
type: DEPENDENT
key: pgsql.transactions.waiting
delay: '0'
history: 7d
value_type: FLOAT
units: s
description: 'Current max waiting transaction time.'
preprocessing:
- type: JSONPATH
parameters:
- $.waiting
master_item:
key: 'pgsql.transactions["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: transactions
- uuid: ff26a1c256bd40978f49a7a025538aa1
name: 'PostgreSQL: Get transactions'
key: 'pgsql.transactions["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
history: '0'
trends: '0'
value_type: TEXT
description: 'Collect metrics by transaction execution time.'
tags:
- tag: component
value: raw
- uuid: 6418a2f286e64ecabf2295fca063f8af
name: 'PostgreSQL: Uptime'
key: 'pgsql.uptime["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
history: 7d
units: uptime
description: 'Time since the server started.'
tags:
- tag: component
value: application
triggers:
- uuid: 85565aba402740868a16c0e4639a98fc
expression: 'last(/PostgreSQL by Zabbix agent/pgsql.uptime["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]) < 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: 321525ebcea44396922e96deec2e8ad1
name: 'PostgreSQL: Version'
key: 'pgsql.version["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
delay: 15m
history: 7d
trends: '0'
value_type: CHAR
description: 'PostgreSQL version.'
preprocessing:
- type: DISCARD_UNCHANGED_HEARTBEAT
parameters:
- 1d
tags:
- tag: component
value: application
triggers:
- uuid: 8111eb42b0e74fffb43da474677ebc2f
expression: 'last(/PostgreSQL by Zabbix agent/pgsql.version["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"],#1)<>last(/PostgreSQL by Zabbix agent/pgsql.version["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"],#2) and length(last(/PostgreSQL by Zabbix agent/pgsql.version["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]))>0'
name: 'PostgreSQL: Version has changed'
event_name: 'PostgreSQL: Version has changed (new version value received: {ITEM.VALUE})'
priority: INFO
tags:
- tag: scope
value: notice
- uuid: 5385ec7d39514039a641d18cba335ddc
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: wal
- uuid: 7cd6c524ecab41f9a22489866d503361
name: 'PostgreSQL: Get WAL'
key: 'pgsql.wal.stat["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
delay: 5m
history: '0'
trends: '0'
value_type: TEXT
description: 'Collect write-ahead log (WAL) metrics.'
tags:
- tag: component
value: raw
- uuid: 5cc9c67621cc46e0a42b1eb79bda83b3
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: wal
discovery_rules:
- uuid: 5c4c658507394f5bb362e601f7c59d63
name: 'Database discovery'
key: 'pgsql.discovery.db["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
delay: 1h
filter:
conditions:
- macro: '{#DBNAME}'
value: '{$PG.LLD.FILTER.DBNAME}'
formulaid: A
description: |
Discovers databases (DB) in the database management system (DBMS), except:
- templates;
- default "postgres" DB;
- DBs that do not allow connections.
item_prototypes:
- uuid: 69575e9785184ef5be2502e3cc282220
name: 'DB [{#DBNAME}]: Database size'
key: 'pgsql.db.size["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}","{#DBNAME}"]'
delay: 15m
history: 7d
units: B
description: 'Database size.'
tags:
- tag: component
value: storage
- tag: database
value: '{#DBNAME}'
- uuid: 615e6567a85e421bb06ab8cac0eaba69
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: 9136517d08b447869e5b8f5fd684c3b9
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: a76f6d28995441ff9fe28bbc09445e64
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: 3b51f02258bd4e02829f04ca016dd01d
expression: 'min(/PostgreSQL by Zabbix agent/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: b874cc2dd80643208c2479ad25fae0ac
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: 3bee63fa04d94586937e22aafab9bdd8
expression: 'min(/PostgreSQL by Zabbix agent/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: 52c20fc8faad42ae8d255990ce14d3cd
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: raw
- tag: database
value: '{#DBNAME}'
- uuid: d235ead54c8b41f9a91398c75383e5d7
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: af4e35eee1764d3f97d9c1218867f885
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: 35c6f93aefe4439bbc36f2f358440b16
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: 92f33d96f8a348088cdba593c0e66929
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: 8c03c87a44fe43928c32087ca7561e88
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: f6d378f4e38e455fa5a12467fe977657
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: 4c8de8c1064d43ffa18c4f37fead37f7
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: 81c33f5b3c31475fa5f28f4ad149a328
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: 8e5080186d034323be21473099b0b0ce
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: df9dd9bac2a54f1085b29fb22b394a1f
name: 'DB [{#DBNAME}]: Frozen XID before autovacuum, %'
type: DEPENDENT
key: 'pgsql.frozenxid.prc_before_av["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: |
Preventing Transaction ID Wraparound Failures:
https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND
preprocessing:
- type: JSONPATH
parameters:
- $.prc_before_av
master_item:
key: 'pgsql.frozenxid["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]'
tags:
- tag: component
value: transactions
- tag: database
value: '{#DBNAME}'
- uuid: 44ddd66ea37449cb8fab6979b98dfd3c
name: 'DB [{#DBNAME}]: Frozen XID before stop, %'
type: DEPENDENT
key: 'pgsql.frozenxid.prc_before_stop["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
units: '%'
description: |
Preventing Transaction ID Wraparound Failures:
https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND
preprocessing:
- type: JSONPATH
parameters:
- $.prc_before_stop
master_item:
key: 'pgsql.frozenxid["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]'
tags:
- tag: component
value: transactions
- tag: database
value: '{#DBNAME}'
trigger_prototypes:
- uuid: 709df9c1e29a4ff68a3de9423ff7ae58
expression: 'last(/PostgreSQL by Zabbix agent/pgsql.frozenxid.prc_before_stop["{#DBNAME}"])<{$PG.FROZENXID_PCT_STOP.MIN.HIGH:"{#DBNAME}"}'
name: 'DB [{#DBNAME}]: VACUUM FREEZE is required to prevent wraparound'
event_name: 'DB [{#DBNAME}]: VACUUM FREEZE is required to prevent wraparound (frozen XID less than {$PG.FROZENXID_PCT_STOP.MIN.HIGH:"{#DBNAME}"} %)'
priority: AVERAGE
description: |
Preventing Transaction ID Wraparound Failures:
https://www.postgresql.org/docs/current/routine-vacuuming.html#VACUUM-FOR-WRAPAROUND
tags:
- tag: scope
value: availability
- uuid: ddf6d0b7b5fe4cbbb540687051b8e5f5
name: 'DB [{#DBNAME}]: Get frozen XID'
key: 'pgsql.frozenxid["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]'
history: '0'
trends: '0'
value_type: TEXT
tags:
- tag: component
value: raw
- tag: database
value: '{#DBNAME}'
- uuid: 3d0acf4b45fc4a72bb2a214222f93f2a
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:
- '$[''{#DBNAME}''].total'
master_item:
key: 'pgsql.locks["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
tags:
- tag: component
value: locks
- tag: database
value: '{#DBNAME}'
trigger_prototypes:
- uuid: ef7d3c9866df44aa9b378e7f125a34de
expression: 'min(/PostgreSQL by Zabbix agent/pgsql.locks.total["{#DBNAME}"],5m)>{$PG.LOCKS.MAX.WARN:"{#DBNAME}"}'
name: 'DB [{#DBNAME}]: Number of locks is too high'
event_name: 'DB [{#DBNAME}]: Number of locks is too high (over {$PG.LOCKS.MAX.WARN:"{#DBNAME}"} in 5m)'
priority: WARNING
tags:
- tag: scope
value: availability
- uuid: ac226e85268c463786e297944339ccf5
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.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}","{$PG.QUERY_ETIME.MAX.WARN}"]'
tags:
- tag: component
value: raw
- tag: database
value: '{#DBNAME}'
- uuid: 939ab05c71ed4be9979662203ebba980
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: bbc8f9bf86394cf28e0c2db44ee4711d
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: f1427228bfa14ad3b7bb9d63bcfaec59
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: 5d937f46f4684f1e8253ec62e0f75379
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: facc8f6976664da4ad5567d270f0f311
expression: 'min(/PostgreSQL by Zabbix agent/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: 044cc16d0a2f46b28d88eff86c33b30b
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: c6232400b39c4564a30a403859ffb4ee
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: f7099043ea6345f0a5531f70f9573a3e
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: c6800ca30a564766ba745e875cb4e929
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: 0eda974576794768ac9ddc592ff27e19
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}'
- uuid: cafcc00cce824c33a321da0e9ecc7f6e
name: 'DB [{#DBNAME}]: Index scans per second'
type: DEPENDENT
key: 'pgsql.scans.idx.rate["{#DBNAME}"]'
delay: '0'
history: 7d
description: 'Number of index scans in the database per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.idx
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.scans["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]'
tags:
- tag: component
value: scans
- tag: database
value: '{#DBNAME}'
- uuid: f07396ca9d224e1b819f22efe6c4259d
name: 'DB [{#DBNAME}]: Sequential scans per second'
type: DEPENDENT
key: 'pgsql.scans.seq.rate["{#DBNAME}"]'
delay: '0'
history: 7d
value_type: FLOAT
description: 'Number of sequential scans in this database per second.'
preprocessing:
- type: JSONPATH
parameters:
- $.seq
- type: CHANGE_PER_SECOND
parameters:
- ''
master_item:
key: 'pgsql.scans["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]'
tags:
- tag: component
value: scans
- tag: database
value: '{#DBNAME}'
- uuid: 4bf92e4b0fed4d32b808b299d9e1fb0c
name: 'DB [{#DBNAME}]: Get scans'
key: 'pgsql.scans["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{#DBNAME}"]'
history: '0'
trends: '0'
value_type: TEXT
description: 'Number of scans done for table/index in this database.'
tags:
- tag: component
value: raw
- tag: database
value: '{#DBNAME}'
graph_prototypes:
- uuid: 3f8124b817f2437096c620d62ec2e055
name: 'DB [{#DBNAME}]: Block hit/read'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.blks_hit.rate["{#DBNAME}"]'
- sortorder: '1'
color: F63100
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.blks_read.rate["{#DBNAME}"]'
- uuid: 6bd0a0d65b8d43ad946b145cf8a8b533
name: 'DB [{#DBNAME}]: Database size'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.db.size["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}","{#DBNAME}"]'
- uuid: 41e765d906324595a396d8985b204ff5
name: 'DB [{#DBNAME}]: Events'
ymin_type_1: FIXED
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.xact_commit.rate["{#DBNAME}"]'
- sortorder: '1'
color: F63100
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.conflicts.rate["{#DBNAME}"]'
- sortorder: '2'
color: 00611C
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.deadlocks.rate["{#DBNAME}"]'
- sortorder: '3'
color: F7941D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.xact_rollback.rate["{#DBNAME}"]'
- uuid: 2b260fdf7623476095429434b5c79041
name: 'DB [{#DBNAME}]: Locks'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.locks.total["{#DBNAME}"]'
- uuid: 8a60a92b41b146f49145b86bab559b2e
name: 'DB [{#DBNAME}]: Queries'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.queries.mro.time_max["{#DBNAME}"]'
- sortorder: '1'
color: F63100
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.queries.query.time_max["{#DBNAME}"]'
- sortorder: '2'
color: 00611C
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.queries.tx.time_max["{#DBNAME}"]'
- sortorder: '3'
drawtype: GRADIENT_LINE
color: F7941D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.queries.mro.time_sum["{#DBNAME}"]'
- sortorder: '4'
drawtype: GRADIENT_LINE
color: FC6EA3
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.queries.query.time_sum["{#DBNAME}"]'
- sortorder: '5'
drawtype: GRADIENT_LINE
color: 6C59DC
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.queries.tx.time_sum["{#DBNAME}"]'
- uuid: 93518b06f71e46ada3dabefa1726b867
name: 'DB [{#DBNAME}]: Slow queries'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.queries.mro.slow_count["{#DBNAME}"]'
- sortorder: '1'
color: F63100
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.queries.query.slow_count["{#DBNAME}"]'
- sortorder: '2'
color: 00611C
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.queries.tx.slow_count["{#DBNAME}"]'
- uuid: 779b872280ad46c7a6cdf95c2df7c646
name: 'DB [{#DBNAME}]: Temp files'
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.temp_bytes.rate["{#DBNAME}"]'
- sortorder: '1'
color: F63100
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.temp_files.rate["{#DBNAME}"]'
- uuid: f10be22e3bac4d66936c34ec99446c64
name: 'DB [{#DBNAME}]: Tuples'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.tup_deleted.rate["{#DBNAME}"]'
- sortorder: '1'
color: F63100
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.tup_fetched.rate["{#DBNAME}"]'
- sortorder: '2'
color: 00611C
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.tup_inserted.rate["{#DBNAME}"]'
- sortorder: '3'
color: F7941D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.tup_returned.rate["{#DBNAME}"]'
- sortorder: '4'
color: FC6EA3
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.dbstat.tup_updated.rate["{#DBNAME}"]'
tags:
- tag: class
value: database
- tag: target
value: postgresql
macros:
- macro: '{$PG.CACHE_HITRATIO.MIN.WARN}'
value: '90'
description: 'Minimum cache hit ratio percentage for trigger expression.'
- macro: '{$PG.CHECKPOINTS_REQ.MAX.WARN}'
value: '5'
description: 'Maximum required checkpoint occurrences for trigger expression.'
- macro: '{$PG.CONFLICTS.MAX.WARN}'
value: '0'
description: 'Maximum number of recovery conflicts for trigger expression.'
- 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.FROZENXID_PCT_STOP.MIN.HIGH}'
value: '75'
description: 'Minimum frozen XID before stop percentage for trigger expression.'
- macro: '{$PG.HOST}'
value: localhost
description: 'Hostname or IP of PostgreSQL host.'
- macro: '{$PG.LLD.FILTER.DBNAME}'
value: .+
description: 'Filter of discoverable databases.'
- macro: '{$PG.LOCKS.MAX.WARN}'
value: '100'
description: 'Maximum number of locks for trigger expression.'
- macro: '{$PG.PASSWORD}'
value: '<Put the password here>'
description: 'PostgreSQL user password.'
- macro: '{$PG.PING_TIME.MAX.WARN}'
value: 1s
description: 'Maximum time of connection response for trigger expression.'
- macro: '{$PG.PORT}'
value: '5432'
description: 'PostgreSQL service port.'
- macro: '{$PG.QUERY_ETIME.MAX.WARN}'
value: '30'
description: 'Execution time limit for count of slow queries.'
- macro: '{$PG.REPL_LAG.MAX.WARN}'
value: 10m
description: 'Maximum replication lag time for trigger expression.'
- 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: d95f29826778497a9ed265e0c335fd0f
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'
name: 'DB [{#DBNAME}]: Tuples'
- 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'
name: 'DB [{#DBNAME}]: Events'
- 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'
name: 'DB [{#DBNAME}]: Block hit/read'
- 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'
name: 'DB [{#DBNAME}]: Temp files'
- 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'
name: 'DB [{#DBNAME}]: Locks'
- 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'
name: 'DB [{#DBNAME}]: Database size'
- type: graphprototype
'y': '15'
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'
name: 'DB [{#DBNAME}]: Queries'
- type: graphprototype
x: '12'
'y': '15'
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'
name: 'DB [{#DBNAME}]: Slow queries'
- uuid: f2ceabf59fd64ca9828ea55e9b9668bd
name: 'PostgreSQL stat'
pages:
- widgets:
- type: graph
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'PostgreSQL by Zabbix agent'
name: 'PostgreSQL connections'
- type: graph
x: '12'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'PostgreSQL by Zabbix agent'
name: 'PostgreSQL transactions'
- type: graph
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'PostgreSQL by Zabbix agent'
name: 'PostgreSQL ping'
- type: graph
x: '12'
'y': '5'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'PostgreSQL by Zabbix agent'
name: 'PostgreSQL uptime'
- type: graph
'y': '10'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'PostgreSQL by Zabbix agent'
name: 'PostgreSQL replication lag'
- type: graph
x: '12'
'y': '10'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'PostgreSQL by Zabbix agent'
name: 'PostgreSQL WAL'
- type: graph
'y': '15'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'PostgreSQL by Zabbix agent'
name: 'PostgreSQL bgwriter'
- type: graph
x: '12'
'y': '15'
width: '12'
height: '5'
fields:
- type: GRAPH
name: graphid
value:
host: 'PostgreSQL by Zabbix agent'
name: 'PostgreSQL checkpoints'
valuemaps:
- uuid: 2e376ee568d04e7bbe98cbae4181f313
name: 'PostgreSQL recovery role'
mappings:
- value: '0'
newvalue: Master
- value: '1'
newvalue: Standby
- uuid: 7f553f18ef6544ceaa4b50c4ebf0e583
name: 'PostgreSQL replication status'
mappings:
- value: '0'
newvalue: Down
- value: '1'
newvalue: Up
- value: '2'
newvalue: Master
- uuid: 372bc939f3924aafa13c4821b83a9276
name: 'Service state'
mappings:
- value: '0'
newvalue: Down
- value: '1'
newvalue: Up
graphs:
- uuid: 6b4b92c62cb94e10b11f218ed35f6211
name: 'PostgreSQL bgwriter'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.bgwriter.buffers_alloc.rate
- sortorder: '1'
color: F63100
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.bgwriter.buffers_clean.rate
- sortorder: '2'
color: 00611C
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.bgwriter.buffers_backend.rate
- sortorder: '3'
color: F7941D
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.bgwriter.buffers_checkpoint.rate
- sortorder: '4'
color: FC6EA3
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.bgwriter.maxwritten_clean.rate
- sortorder: '5'
color: 6C59DC
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.bgwriter.buffers_backend_fsync.rate
- uuid: 4a105d193df64be7898ac19a2f07faa4
name: 'PostgreSQL checkpoints'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.bgwriter.checkpoints_timed.rate
- sortorder: '1'
color: F63100
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.bgwriter.checkpoints_req.rate
- sortorder: '2'
color: 00611C
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.bgwriter.checkpoint_sync_time.rate
- sortorder: '3'
color: F7941D
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.bgwriter.checkpoint_write_time.rate
- uuid: 8d41d719832049a5a1fcd6f4da67fb6a
name: 'PostgreSQL connections'
ymin_type_1: FIXED
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.connections.sum.total
- sortorder: '1'
color: F63100
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.connections.sum.total_pct
- sortorder: '2'
color: 00611C
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.connections.sum.active
- sortorder: '3'
color: F7941D
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.connections.sum.idle
- sortorder: '4'
color: FC6EA3
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.connections.sum.idle_in_transaction
- sortorder: '5'
color: 6C59DC
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.connections.sum.prepared
- sortorder: '6'
color: C7A72D
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.connections.sum.waiting
- uuid: 1e9a55ee61824779a9f46f42ec21abef
name: 'PostgreSQL ping'
ymin_type_1: FIXED
graph_items:
- drawtype: GRADIENT_LINE
color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.ping["{$PG.HOST}","{$PG.PORT}"]'
- sortorder: '1'
color: F63100
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.ping.time["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
- uuid: d8cf31fc39584a63b9384d9c3ebf40ee
name: 'PostgreSQL replication lag'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.replication.lag.sec["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
- uuid: 10d1de74e9d848399ca038055e5cc8ce
name: 'PostgreSQL transactions'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.transactions.active
- sortorder: '1'
color: F63100
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.transactions.idle
- sortorder: '2'
color: 00611C
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.transactions.prepared
- sortorder: '3'
color: F7941D
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.transactions.waiting
- uuid: 45fe7967596741129b4f2462922636bf
name: 'PostgreSQL uptime'
show_triggers: 'NO'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.uptime["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
- sortorder: '1'
color: F63100
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: 'pgsql.cache.hit["{$PG.HOST}","{$PG.PORT}","{$PG.USER}","{$PG.PASSWORD}","{$PG.DATABASE}"]'
- uuid: 93ca2dc7a3ff4a458c45e2a56390ce72
name: 'PostgreSQL WAL'
ymin_type_1: FIXED
graph_items:
- color: 199C0D
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.wal.write
- sortorder: '1'
color: F63100
yaxisside: RIGHT
item:
host: 'PostgreSQL by Zabbix agent'
key: pgsql.wal.count