Skip to content

Latest commit

 

History

History
5908 lines (5247 loc) · 125 KB

metrics.md

File metadata and controls

5908 lines (5247 loc) · 125 KB

mamonsu: metrics

Metrics:

mamonsu Health metrics

Default config:
        max_memory_usage = 40 Mb

Items

  • Plugin Errors

    Zabbix item:

    Name Mamonsu: plugin errors
    Key mamonsu.plugin.errors[]
    Type Text
    Units
    Delta As Is

    Plugin Errors collects mamonsu error messages. It might be PostgreSQL extensions errors, rights errors, etc.

  • Plugin Health

    Zabbix item:

    Name Mamonsu: plugin keep alive
    Key mamonsu.plugin.keepalive[]
    Type Numeric (float)
    Units
    Delta As Is

    Plugin Health indicates that mamonsu is running.

  • RSS Memory Maximum Usage (for UNIX only)

    Zabbix item:

    Name Mamonsu: rss memory max usage
    Key mamonsu.memory.rss[max]
    Type Numeric (float)
    Units Bytes
    Delta As Is

    RSS Memory Maximum Usage shows amount of RSS memory allocated to mamonsu in bytes.

Triggers

  • Mamonsu plugin errors on {HOSTNAME}. {ITEM.LASTVALUE}
    Shows mamonsu last error message text.

  • Mamonsu nodata from {HOSTNAME}
    Triggers if there is no response from mamonsu server more than 3 minutes.

  • Mamonsu agent memory usage alert on {HOSTNAME}: {ITEM.LASTVALUE} bytes
    Triggers if RSS Memory Maximum Usage exceeds max_memory_usage.

System metrics

*nix

Default config:
        up_time = 300

Items

Block Devices
Block Devices metrics use information from /proc/diskstats.

  • Block Devices Read Speed

    Zabbix item:

    Name System: Block Devices Read byte/s
    Key system.disk.all_read_b[]
    Type Numeric (float)
    Units byte/s
    Delta Speed Per Second
  • Block Devices Read Requests

    Zabbix item:

    Name System: Block Devices Read Requests
    Key system.disk.all_read[]
    Type Numeric (float)
    Units
    Delta Speed Per Second
  • Block Devices Write Speed

    Zabbix item:

    Name System: Block Devices Write byte/s
    Key system.disk.all_write_b[]
    Type Numeric (float)
    Units byte/s
    Delta Speed Per Second
  • Block Devices Write Requests

    Zabbix item:

    Name System: Block Devices Write Requests
    Key system.disk.all_write[]
    Type Numeric (float)
    Units
    Delta Speed Per Second

Load Average
System Load Average Over 1 minute uses information from /proc/loadavg so no need for delta in Zabbix.

  • System Load Average Over 1 Minute

    Zabbix item:

    Name System: Load Average Over 1 Minute
    Key system.la[1]
    Type Numeric (float)
    Units
    Delta As Is

Memory
Memory metrics use information from /proc/meminfo.

  • Active Memory

    Zabbix item:

    Name System: Active - Memory Recently Used
    Key system.memory[active]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • Used Memory

    Zabbix item:

    Name System: Used - User-Space Applications
    Key system.memory[used]
    Type Numeric (float)
    Units Bytes
    Delta As Is

    Used Memory calculated as MemTotal - (MemFree + Buffers + Cached + SwapCached + Slab + PageTables).

  • Buffers Memory

    Zabbix item:

    Name System: Buffers - Block Device Cache and Dirty
    Key system.memory[buffers]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • Cached Memory

    Zabbix item:

    Name System: Cached - Parked File Data (file content) Cache
    Key system.memory[cached]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • Committed_AS Memory

    Zabbix item:

    Name System: Committed AS - Total Committed Memory
    Key system.memory[committed]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • Unused Memory

    Zabbix item:

    Name System: Unused - Wasted Memory
    Key system.memory[unused]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • Available Memory

    Zabbix item:

    Name System: Available - Free Memory
    Key system.memory[available]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • Inactive Memory

    Zabbix item:

    Name System: Inactive - Memory Not Currently Used
    Key system.memory[inactive]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • Mapped Memory

    Zabbix item:

    Name System: Mapped - All mmap()ed Pages
    Key system.memory[mapped]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • PageTables Memory

    Zabbix item:

    Name System: PageTables - Map bt Virtual and Physical
    Key system.memory[page_tables]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • Slab Memory

    Zabbix item:

    Name System: Slab - Kernel Used Memory (inode cache)
    Key system.memory[slab]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • Swap Memory

    Zabbix item:

    Name System: Swap - Swap Space Used
    Key system.memory[swap]
    Type Numeric (float)
    Units Bytes
    Delta As Is

    Swap Memory calculated as SwapTotal - SwapCached.

  • SwapCached Memory

    Zabbix item:

    Name System: SwapCached - Fetched unmod Yet Swap Pages
    Key system.memory[swap_cache]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • VMallocUsed Memory

    Zabbix item:

    Name System: VMallocUsed - vmaloc() Allocated by Kernel
    Key system.memory[vmalloc_used]
    Type Numeric (float)
    Units Bytes
    Delta As Is

Open Files
Open Files uses information from /proc/sys/fs/file-nr.

  • Opened Files

    Zabbix item:

    Name System: Opened Files
    Key system.open_files[]
    Type Numeric (float)
    Units
    Delta As Is

Processes
Processes metrics use information from /proc/stat.

  • Forkrate

    Zabbix item:

    Name System: Processes Forkrate
    Key system.processes[forkrate]
    Type Numeric (float)
    Units
    Delta Speed Per Second

    Forkrate shows number of processes created by calls to the fork() and clone() system calls.

  • Blocked

    Zabbix item:

    Name System: Processes in State Blocked
    Key system.processes[blocked]
    Type Numeric (float)
    Units
    Delta As Is
  • Running

    Zabbix item:

    Name System: Processes in State Running
    Key system.processes[running]
    Type Numeric (float)
    Units
    Delta As Is

CPU
CPU metrics use information from /proc/stat.

  • Nice

    Zabbix item:

    Name System: CPU Time Spent by nice(1)d Programs
    Key system.cpu[nice]
    Type Numeric (float)
    Units
    Delta Speed Per Second
  • User

    Zabbix item:

    Name System: CPU Time Spent by Normal Programs and Daemons
    Key system.cpu[user]
    Type Numeric (float)
    Units
    Delta Speed Per Second
  • System

    Zabbix item:

    Name System: CPU Time Spent by the Kernel in System Activities
    Key system.cpu[system]
    Type Numeric (float)
    Units
    Delta Speed Per Second
  • Softirq

    Zabbix item:

    Name System: CPU Time Spent Handling Batched Interrupts
    Key system.cpu[softirq]
    Type Numeric (float)
    Units
    Delta Speed Per Second
  • Irq

    Zabbix item:

    Name System: CPU Time Spent Handling Interrupts
    Key system.cpu[irq]
    Type Numeric (float)
    Units
    Delta Speed Per Second
  • Idle

    Zabbix item:

    Name System: CPU Time Spent Idle
    Key system.cpu[idle]
    Type Numeric (float)
    Units
    Delta Speed Per Second
  • IOwait

    Zabbix item:

    Name System: CPU Time Spent Waiting for I/O Operations
    Key system.cpu[iowait]
    Type Numeric (float)
    Units
    Delta Speed Per Second

Uptime
Uptime uses information from cat /proc/uptime.

  • Uptime

    Zabbix item:

    Name System: Uptime
    Key system.uptime[]
    Type Numeric (float)
    Units Uptime
    Delta As Is

    Uptime shows system uptime in units of time.

Discovery Rules

  • System: Block Devices Discovery

    Items:

    Name System: Block Device {#BLOCKDEVICE} Read Operations System: Block Device {#BLOCKDEVICE} Write Operations System: Block Device {#BLOCKDEVICE} Read byte/s System: Block Device {#BLOCKDEVICE} Write byte/s System: Block Device {#BLOCKDEVICE} Utilization
    Key system.disk.read[{#BLOCKDEVICE}] system.disk.write[{#BLOCKDEVICE}] system.disk.read_b[{#BLOCKDEVICE}] system.disk.write_b[{#BLOCKDEVICE}] system.disk.utilization[{#BLOCKDEVICE}]
    Type Numeric (float) Numeric (float) Numeric (float) Numeric (float) Numeric (float)
    Units Bytes Bytes %
    Delta Speed Per Second Speed Per Second Speed Per Second Speed Per Second Speed Per Second

    Graphs:

    Name System: Block Device Overview {#BLOCKDEVICE} byte/s System: Block Device Overview {#BLOCKDEVICE} operations
    Metrics System: Block Device {#BLOCKDEVICE} Read byte/s
    System: Block Device {#BLOCKDEVICE} Write byte/s
    System: Block Device {#BLOCKDEVICE} Utilization
    System: Block Device {#BLOCKDEVICE} Read Operations
    System: Block Device {#BLOCKDEVICE} Write Operations
    System: Block Device {#BLOCKDEVICE} Utilization
  • Net Iface Discovery

    Items:

    Name System: Network Device {#NETDEVICE} RX bytes/s System: Network Device {#NETDEVICE} RX drops/s System: Network Device {#NETDEVICE} RX errors/s System: Network Device {#NETDEVICE} TX bytes/s System: Network Device {#NETDEVICE} TX drops/s System: Network Device {#NETDEVICE} TX errors/s
    Key system.net.rx_bytes[{#NETDEVICE}] system.net.rx_drop[{#NETDEVICE}] system.net.rx_errs[{#NETDEVICE}] system.net.tx_bytes[{#NETDEVICE}] system.net.tx_drop[{#NETDEVICE}] system.net.tx_errs[{#NETDEVICE}]
    Type Numeric (float) Numeric (float) Numeric (float) Numeric (float) Numeric (float) Numeric (float)
    Units Bytes Bytes
    Delta Speed Per Second Speed Per Second Speed Per Second Speed Per Second Speed Per Second Speed Per Second

    Graphs:

    Name System: Network Device {#NETDEVICE}
    Metrics System: Network Device {#NETDEVICE} RX bytes/s
    System: Network Device {#NETDEVICE} TX bytes/s
  • VFS Discovery

    Items:

    Name System: Mount Point {#MOUNTPOINT} Free System: Mount Point {#MOUNTPOINT} Free Inodes in Percent System: Mount Point {#MOUNTPOINT} Free in Percents System: Mount Point {#MOUNTPOINT} Used
    Key system.vfs.free[{#MOUNTPOINT}] system.vfs.percent_inode_free[{#MOUNTPOINT}] system.vfs.percent_free[{#MOUNTPOINT}] system.vfs.used[{#MOUNTPOINT}]
    Type Numeric (float) Numeric (float) Numeric (float) Numeric (float)
    Units Bytes % % Bytes
    Delta As Is As Is As Is As Is

    Graphs:

    Name System: Mount Point Overview {#MOUNTPOINT}
    Metrics System: Mount Point {#MOUNTPOINT} Used
    System: Mount Point {#MOUNTPOINT} Free

    Triggers:

    Name Free disk space less than 10% on mountpoint {#MOUNTPOINT} (hostname={HOSTNAME} value={ITEM.LASTVALUE}) Free inode space less than 10% on mountpoint {#MOUNTPOINT} (hostname={HOSTNAME} value={ITEM.LASTVALUE})
    Expression Triggers if System: Mount Point {#MOUNTPOINT}: Free in Percent exceeds vfs_inode_percent_free. Triggers if System: Mount Point {#MOUNTPOINT}: Free Inodes in Percent exceeds vfs_inode_percent_free.
  • pg_probackup Discovery

    Items:

    Name Pg_probackup dir {#BACKUPDIR}: error Pg_probackup dir {#BACKUPDIR}: size
    Key pg_probackup.dir.error[{#BACKUPDIR}] pg_probackup.dir.size[{#BACKUPDIR}]
    Type Text Numeric (float)
    Units Bytes
    Delta As Is As Is

    Graphs:

    Name Pg_probackup: backup dir: {#BACKUPDIR} size
    Metrics Pg_probackup dir {#BACKUPDIR}: size

    Triggers:

    Name Error in pg_probackup dir {#BACKUPDIR} (hostname={HOSTNAME} value={ITEM.LASTVALUE})
    Expression Triggers if pg_probackup status is not OK.

Graphs

Name System: Block Devices Read/Write Bytes System: Block Devices Read/Write Operations System: CPU Time Spent System: Server Memory Detailed Overview System: Server Free/Used Memory Overview System: Processes Overview
Metrics System: Block Devices Read byte/s
System: Block Devices Write byte/s
System: Block Devices Read Requests
System: Block Devices Write Requests
System: CPU Time Spent by Normal Programs and Daemons
System: CPU Time Spent by nice(1)d Programs
System: CPU Time Spent by the Kernel in System Activities
System: CPU Time Spent Idle
System: CPU Time Spent Waiting for I/O Operations
System: CPU Time Spent Handling Interrupts
System: CPU Time Spent Handling Batched Interrupts
System: Available - Free Memory
System: Cached - Parked File Data (file content) Cache
System: Total - All Memory
System: Used - User-Space Applications
f Processes: in state running
Processes: in state blocked
Processes: forkrate

Triggers

  • Process fork-rate too frequently on {HOSTNAME}
    Triggers if Processes: forkrate greater than 500.

  • System was restarted on {HOSTNAME} (uptime={ITEM.LASTVALUE})
    Triggers if System up_time fails up_time.

Windows

Items

Memory

  • Cached

    Zabbix item:

    Name System: Memory Cached
    Key system.memory[cache]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • Available

    Zabbix item:

    Name System: Memory Available
    Key system.memory[available]
    Type Numeric (float)
    Units Bytes
    Delta As Is
  • Free

    Zabbix item:

    Name System: Memory Free
    Key system.memory[free]
    Type Numeric (float)
    Units Bytes
    Delta As Is

CPU

  • User time

    Zabbix item:

    Name System: CPU User Time
    Key system.cpu[user_time]
    Type Numeric (float)
    Units %
    Delta As Is
  • Idle time

    Zabbix item:

    Name System: CPU Idle Time
    Key system.cpu[idle_time]
    Type Numeric (float)
    Units %
    Delta As Is
  • Privileged Time

    Zabbix item:

    Name System: CPU Privileged Time
    Key system.cpu[privileged_time]
    Type Numeric (float)
    Units %
    Delta As Is

Network

  • Output Queue Length

    Zabbix item:

    Name System: Network Output Queue Length
    Key system.network[total_output_queue]
    Type Numeric (float)
    Units
    Delta As Is
  • Bytes Total

    Zabbix item:

    Name System: Network Bytes Total
    Key system.network[total_bytes]
    Type Numeric (float)
    Units Bytes
    Delta As Is

Discovery Rules

  • Logical Disks Discovery

    Items:

    Name System: Logical Device {#LOGICALDEVICE} Read op/sec System: Logical Device {#LOGICALDEVICE} Write op/sec System: Logical Device {#LOGICALDEVICE} Queue System: Logical Device {#LOGICALDEVICE} Idle Time (%)
    Key system.disk.read[{#LOGICALDEVICE}] system.disk.write[{#LOGICALDEVICE}] system.disk.queue_avg[{#LOGICALDEVICE}] system.disk.idle[{#LOGICALDEVICE}]
    Type Numeric (float) Numeric (float) Numeric (float) Numeric (float)
    Units %
    Delta Speed Per Second Speed Per Second As Is As Is

    Graphs:

    Name System: Logical Devices Overview {#LOGICALDEVICE}
    Metrics System: Logical Device {#LOGICALDEVICE} Read op/sec
    System: Logical Device {#LOGICALDEVICE} Write op/sec
    System: Logical Device {#LOGICALDEVICE} Queue

PostgreSQL metrics

Archiving

Default config:
        max_count_files = 2

Items

Archiving metrics use information from pg_stat_archiver.

  • Archived Files

    Zabbix item:

    Name PostgreSQL Archiver: Archived Files Count
    Key pgsql.archive_command[archived_files]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+

    Archived Files maps archived_count.

  • Attempts To Archive Files

    Zabbix item:

    Name PostgreSQL Archiver: Attempts to Archive Files Count
    Key pgsql.archive_command[failed_trying_to_archive]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+

    Attempts To Archive Files maps failed_count.

  • Files Need To Archive

    Zabbix item:

    Name PostgreSQL Archiver: Files in archive_status Need to Archive Count
    Key pgsql.archive_command[count_files_to_archive]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Files Need To Archive is calculated as difference between current WAL number and last archived WAL number. You can find SQL-query that calculates this metric in plugin source code.

  • Size Of Files Need To Archive

    Zabbix item:

    Name PostgreSQL Archiver: Files Need to Archive Size
    Key pgsql.archive_command[size_files_to_archive]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Size Of Files Need To Archive is calculated as difference between current WAL number and last archived WAL number multiplied by wal_segment_size. You can find SQL-query that calculates this metric in plugin source code.

Graphs

Name PostgreSQL Archiver: Archive Status
Metrics PostgreSQL Archiver: Files in archive_status Need to Archive Count
PostgreSQL Archiver: Archived Files Count
PostgreSQL Archiver: Attempts to Archive Files Count

Triggers

  • PostgreSQL Archiver: count files need to archive on {HOSTNAME} more than 2
    Triggers if PostgreSQL Archiver: Files in archive_status Need to Archive Count exceeds max_count_files.

Autovacuum

Items

Autovacuum metrics use information from pg_stat_activity.

  • Autovacuum Workers

    Zabbix item:

    Name PostgreSQL Autovacuum: Count of Autovacuum Workers
    Key pgsql.autovacumm.count[]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+
  • Autovacuum Utilization (instant)

    Name PostgreSQL Autovacuum: Utilization per [MAMONSU_INTERVAL] seconds
    Key pgsql.autovacumm.utilization[]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+
  • Autovacuum Utilization (average per 5 minutes)

    Name PostgreSQL Autovacuum: Utilization per 5 minutes
    Key pgsql.autovacumm.utilization.avg5[]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+
  • Autovacuum Utilization (average per 15 minutes)

    Name PostgreSQL Autovacuum: Utilization per 15 minutes
    Key pgsql.autovacumm.utilization.avg15[]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+
  • Autovacuum Utilization (average per 30 minutes)

    Name PostgreSQL Autovacuum: Utilization per 30 minutes
    Key pgsql.autovacumm.utilization.avg30[]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Autovacuum Workers evaluates as count of pg_stat_activity.backend_type = 'autovacuum worker' for PG 10+ and as summa of avtovacuum queries with not idle state for PG 9.6 and lower.

Background Writer

Items

Background Writer metrics use information from pg_stat_bgwriter.

  • Buffers Allocated

    Zabbix item:

    Name PostgreSQL bgwriter: Buffers Allocated
    Key pgsql.bgwriter[buffers_alloc]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+

    Buffers Allocated maps buffers_alloc.

  • Buffers Written

    Zabbix item:

    Name PostgreSQL bgwriter: Buffers Written
    Key pgsql.bgwriter[buffers_clean]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+

    Buffers Written maps buffers_clean.

  • Buffers Written Directly By a Backend

    Zabbix item:

    Name PostgreSQL bgwriter: Buffers Written Directly by a Backend
    Key pgsql.bgwriter[buffers_backend]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+

    Buffers Written Directly By a Backend maps buffers_backend.

  • Buffers Written During Checkpoints

    Zabbix item:

    Name PostgreSQL bgwriter: Buffers Written During Checkpoints
    Key pgsql.bgwriter[buffers_checkpoint]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+

    Buffers Written During Checkpoints maps buffers_checkpoint.

  • Bgwriter Stopped a Cleaning Scan

    Zabbix item:

    Name PostgreSQL bgwriter: Number of bgwriter Stopped by Max Write Count
    Key pgsql.bgwriter[maxwritten_clean]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+

    Bgwriter Stopped a Cleaning Scan maps maxwritten_clean.

  • Backend Executes Its Own Fsync Call

    Zabbix item:

    Name PostgreSQL bgwriter: Times a Backend Execute Its Own Fsync
    Key pgsql.bgwriter[buffers_backend_fsync]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+

    Backend Executes Its Own Fsync Call maps buffers_backend_fsync.

Graphs

Name PostgreSQL bgwriter: Buffers PostgreSQL bgwriter: Events
Metrics PostgreSQL bgwriter: Buffers Written During Checkpoints
PostgreSQL bgwriter: Buffers Written
PostgreSQL bgwriter: Buffers Written Directly by a Backend
PostgreSQL bgwriter: Buffers Allocated
PostgreSQL bgwriter: Number of bgwriter Stopped by Max Write Count
PostgreSQL bgwriter: Times a Backend Execute Its Own Fsync

Blocks

Items

Blocks metrics use information from pg_stat_database.

  • Blocks Hit

    Zabbix item:

    Name PostgreSQL Instance: Blocks Hit
    Key pgsql.blocks[hit]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Blocks Hit maps blks_hit.

  • Blocks Read

    Zabbix item:

    Name PostgreSQL Instance: Blocks Read
    Key pgsql.blocks[read]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Blocks Read maps blks_read.

Graphs

Name PostgreSQL Instance: Blocks Rate
Metrics PostgreSQL Instance: Blocks Hit
PostgreSQL Instance: Blocks Read

Checkpoints

Default config:
        max_checkpoint_by_wal_in_hour = 12

Items

Checkpoints metrics use information from pg_stat_bgwriter.

  • Checkpoints Sync Time

    Zabbix item:

    Name PostgreSQL Checkpoints: Sync Time
    Key pgsql.checkpoint[checkpoint_sync_time]
    Type Numeric (float)
    Units ms
    Delta Speed Per Second
    Supported Version 9.5+

    Checkpoints Sync Time maps checkpoint_sync_time.

  • Checkpoints Write Time

    Zabbix item:

    Name PostgreSQL Checkpoints: Write Time
    Key pgsql.checkpoint[write_time]
    Type Numeric (float)
    Units ms
    Delta Speed Per Second
    Supported Version 9.5+

    Checkpoints Write Time maps checkpoint_write_time.

  • Scheduled Checkpoints

    Zabbix item:

    Name PostgreSQL Checkpoints: by Timeout (in hour)
    Key pgsql.checkpoint[count_timed]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Scheduled Checkpoints maps checkpoints_timed.

  • Requested Checkpoints

    Zabbix item:

    Name PostgreSQL Checkpoints: by WAL (in hour)
    Key pgsql.checkpoint[count_wal]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Requested Checkpoints maps checkpoints_req.

Graphs

Name PostgreSQL Checkpoints: Count (in hour) PostgreSQL Checkpoints: Write/Sync
Metrics PostgreSQL Checkpoints: by Timeout (in hour)
PostgreSQL Checkpoints: by WAL (in hour)
PostgreSQL Checkpoints: Write Time
PostgreSQL Checkpoints: Sync Time

Triggers

  • PostgreSQL Checkpoints: required checkpoints occurs too frequently on {HOSTNAME}
    Triggers if PostgreSQL Checkpoints: by WAL (in hour) exceeds max_checkpoint_by_wal_in_hour.

Connections

Default config:
        percent_connections_tr = 90

Items

Connections metrics use information from pg_stat_activity.

  • Max Connections

    Zabbix item:

    Name PostgreSQL Connections: Max Connections
    Key pgsql.connections[max_connections]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Max Connections maps pg_settings.max_connections.

  • Active

    Zabbix item:

    Name PostgreSQL Connections: Number of Active User Connections
    Key pgsql.connections[active]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Active calculates as summa of connections from pg_stat_activity with state active.

  • Disabled

    Zabbix item:

    Name PostgreSQL Connections: Number of Disabled User Connections
    Key pgsql.connections[disabled]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Disabled calculates as summa of connections from pg_stat_activity with state disabled.

  • Fastpath Function Call

    Zabbix item:

    Name PostgreSQL Connections: Number of Fastpath Function Call User Connections
    Key pgsql.connections[fastpath_function_call]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Fastpath Function Call calculates as summa of connections from pg_stat_activity with state fastpath function call.

  • Idle

    Zabbix item:

    Name PostgreSQL Connections: Number of Idle User Connections
    Key pgsql.connections[idle]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Idle calculates as summa of connections from pg_stat_activity with state idle.

  • Idle in Transaction

    Zabbix item:

    Name PostgreSQL Connections: Number of Idle in Transaction User Connections
    Key pgsql.connections[idle_in_transaction]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Idle in Transaction calculates as summa of connections from pg_stat_activity with state idle in transaction.

  • Idle in Transaction (aborted)

    Zabbix item:

    Name PostgreSQL Connections: Number of Idle in Transaction (Aborted) User Connections
    Key pgsql.connections[idle_in_transaction_aborted]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Idle in Transaction (aborted) calculates as summa of connections from pg_stat_activity with state idle in transaction (aborted).

  • Total

    Zabbix item:

    Name PostgreSQL Connections: Number of Total User Connections
    Key pgsql.connections[total]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Total calculates as summa of all connections from pg_stat_activity with backend_type represents user connections (client backend, parallel worker).

  • Waiting

    Zabbix item:

    Name PostgreSQL Connections: Number of Waiting User Connections
    Key pgsql.connections[waiting]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Waiting calculates as summa of all connections from pg_stat_activity with not null state and wait_event_type.

  • Other

    Zabbix item:

    Name PostgreSQL Connections: Number of Other Connections
    Key pgsql.connections[other]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 10+

    Waiting calculates as summa of all connections from pg_stat_activity with additional backend_type.

Graphs

Name PostgreSQL Connections: Overview
Metrics PostgreSQL Connections: Number of Active User Connections
PostgreSQL Connections: Number of Idle User Connections
PostgreSQL Connections: Number of Idle In Transaction User Connections
PostgreSQL Connections: Number of Idle In Transaction (Aborted) User Connections
PostgreSQL Connections: Number of Fastpath Function Call User Connections
PostgreSQL Connections: Number of Disabled User Connections
PostgreSQL Connections: Number of Total User Connections
PostgreSQL Connections: Number of Waiting User Connections
PostgreSQL Connections: Max Connections

Triggers

  • PostgreSQL Connections: too many connections on {HOSTNAME} (total connections more than 90% of max_connections)
    Triggers if connections count exceeds percent_connections_tr.

Databases

Discovery Rules

  • PostgreSQL Databases Discovery

    Items:

    Name PostgreSQL Databases: Count of Bloating Tables in {#DATABASE} PostgreSQL Databases {#DATABASE}: size PostgreSQL Databases: Max datfrozenxid Age in: {#DATABASE} PostgreSQL Databases: Count of Invalid Indexes in {#DATABASE}
    Key pgsql.database.bloating_tables[{#DATABASE}] pgsql.database.size[{#DATABASE}] pgsql.database.max_age[{#DATABASE}] pgsql.database.invalid_indexes[{#DATABASE}]
    Type Numeric (float) Numeric (float) Numeric (float) Numeric (float)
    Units Bytes
    Delta As Is As Is As Is As Is

    Graphs:

    Name PostgreSQL Databases: {#DATABASE} size PostgreSQL Databases: {#DATABASE} Bloating Overview PostgreSQL Databases: {#DATABASE} Max age(datfrozenxid)
    Metrics PostgreSQL Databases {#DATABASE}: size PostgreSQL Databases: Count of Bloating Tables in {#DATABASE}
    PostgreSQL Autovacuum: Count of Autovacuum Workers
    PostgreSQL Databases: Max datfrozenxid Age in: {#DATABASE}
    PostgreSQL Autovacuum: Count of Autovacuum Workers

Triggers

  • PostgreSQL Databases: invalid indexes in {#DATABASE} (hostname={HOSTNAME} value={ITEM.LASTVALUE})
    Triggers if PostgreSQL: PostgreSQL Databases: Count of Invalid Indexes in {#DATABASE} > 0.

Events

Items

Events metrics use information from pg_stat_database.

  • Conflicts

    Zabbix item:

    Name PostgreSQL Instance: Conflict Events
    Key pgsql.events[conflicts]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+

    Conflicts maps conflicts.

  • Deadlocks

    Zabbix item:

    Name PostgreSQL Instance: Deadlock Events
    Key pgsql.events[deadlocks]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+

    Deadlocks maps deadlocks.

  • Checksum Failures

    Zabbix item:

    Name PostgreSQL Instance: checksum_failures Events
    Key pgsql.events[checksum_failures]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 12+

    Checksum Failures maps checksum_failures.

Graphs

Name PostgreSQL Instance: Events
Metrics PostgreSQL Instance: Conflict Events
PostgreSQL Instance: Deadlock Events
PostgreSQL Instance: checksum_failures Events

Health

Default config:
        uptime = 600
        cache = 80

Items

  • Server Version

    Zabbix item:

    Name PostgreSQL Health: Server Version
    Key pgsql.version[]
    Type Text
    Units
    Delta As Is
    Supported Version 9.5+

    Server Version shows PostgreSQL/PostgresPro server version number.

  • Ping

    Zabbix item:

    Name PostgreSQL Health: Ping
    Key pgsql.ping[]
    Type Numeric (float)
    Units ms
    Delta As Is
    Supported Version 9.5+

    Ping calculates as difference between ping query start time and time of receiving ping query result.

  • Cache Hit Ratio

    Zabbix item:

    Name PostgreSQL Health: Cache Hit Ratio
    Key pgsql.cache[hit]
    Type Numeric (float)
    Units %
    Delta Simple Change
    Supported Version 9.5+

    Cache Hit Ratio calculates as ratio between last value of Blocks hit and summa of last values of Blocks hit and Blocks read.

  • Service Uptime

    Zabbix item:

    Name PostgreSQL Health: Service Uptime
    Key pgsql.uptime[]
    Type Numeric (float)
    Units Unixtime
    Delta As Is
    Supported Version 9.5+

    Service Uptime maps pg_postmaster_start_time.

Triggers

  • PostgreSQL Health: cache hit ratio too low on {HOSTNAME} ({ITEM.LASTVALUE})
    Triggers if PostgreSQL Health: Cache Hit Ratio fails cache.

  • PostgreSQL Health: service has been restarted on {HOSTNAME} (uptime={ITEM.LASTVALUE})
    Triggers if PostgreSQL Health: Service Uptime fails uptime.

  • PostgreSQL Health: no ping from PostgreSQL for 3 minutes on {HOSTNAME}
    Triggers if there is no data from PostgreSQL Health: Ping more than 3 minutes.

Memory Leak

Default config:
        private_anon_mem_threshold = 1 Gb
        interval = 60

Items

  • private_anon_mem_threshold Exceeding Count

    Zabbix item:

    Name PostgreSQL Memory Leak: Number of Pids Which Private Anonymous Memory Exceeds private_anon_mem_threshold
    Key pgsql.memory_leak_diagnostic.count_diff[]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+
  • private_anon_mem_threshold Exceeding Messages Text

    Zabbix item:

    Name PostgreSQL Memory Leak: Number of Pids Which Private Anonymous Memory Exceeds private_anon_mem_threshold, text of message
    Key pgsql.memory_leak_diagnostic.msg_text[]
    Type Text
    Units
    Delta As Is
    Supported Version 9.5+

Triggers

  • PostgreSQL Memory Leak: Number of Pids Which Private Anonymous Memory Exceeds private_anon_mem_threshold on {HOSTNAME}. {ITEM.LASTVALUE}
    Triggers if there is memory leak errors. Shows memory leak error messages text.

pg_buffercache

Items

pg_buffercache metrics use information from pg_buffercache.

  • Shared Buffer Size

    Zabbix item:

    Name PostgreSQL pg_buffercache: Shared Buffer Size
    Key pgsql.buffers[size]
    Type Numeric (float)
    Units Bytes
    Delta As Is
    Supported Version 9.5+

    Shared Buffer Size calculates as count of all rows in pg_buffercache multiplied by block_size.

  • Shared Buffer Twice Used Size

    Zabbix item:

    Name PostgreSQL pg_buffercache: Shared Buffer Twice Used Size
    Key pgsql.buffers[twice_used]
    Type Numeric (float)
    Units Bytes
    Delta As Is
    Supported Version 9.5+

    Shared Buffer Twice Used Size calculates as count of all rows in pg_buffercache where usagecount greater than 1 multiplied by block_size.

  • Shared Buffer Dirty Size

    Zabbix item:

    Name PostgreSQL pg_buffercache: Shared Buffer Dirty Size
    Key pgsql.buffers[dirty]
    Type Numeric (float)
    Units Bytes
    Delta As Is
    Supported Version 9.5+

    Shared Buffer Dirty Size calculates as count of all isdirty rows in pg_buffercache multiplied by block_size.

Graphs

Name PostgreSQL pg_buffercache: Shared Buffer
Metrics PostgreSQL pg_buffercache: Shared Buffer Size
PostgreSQL pg_buffercache: Shared Buffer Twice Used Size
PostgreSQL pg_buffercache: Shared Buffer Dirty Size

pg_locks

Items

pg_locks metrics use information from pg_locks.

  • Access Exclusive

    Zabbix item:

    Name PostgreSQL Locks: total number of locks acquired (or waiting) by all queries like DROP TABLE, TRUNCATE, REINDEX, CLUSTER, VACUUM FULL, REFRESH MATERIALIZED VIEW, LOCK TABLE and some forms of ALTER INDEX and ALTER TABLE
    Key pgsql.pg_locks[accessexclusive]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Access Exclusive calculates as summa of locks from pg_locks with mode Access Exclusive. Metric describes a total number of locks acquired (or waiting) by all queries like DROP TABLE, TRUNCATE, REINDEX, CLUSTER, VACUUM FULL, REFRESH MATERIALIZED VIEW, LOCK TABLE and some forms of ALTER INDEX and ALTER TABLE.

  • Access Share

    Zabbix item:

    Name PostgreSQL Locks: total number of locks acquired (or waiting) by queries that only reads tables and do not modify
    Key pgsql.pg_locks[accessshare]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Access Share calculates as summa of locks from pg_locks with mode Access Share. Metric describes a total number of locks acquired (or waiting) by queries that only reads tables and do not modify.

  • Exclusive

    Zabbix item:

    Name PostgreSQL Locks: total number of locks acquired (or waiting) by all queries like REFRESH MATERIALIZED VIEW CONCURRENTLY
    Key pgsql.pg_locks[exclusive]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Exclusive calculates as summa of locks from pg_locks with mode Exclusive. Metric describes a total number of locks acquired (or waiting) by all queries like REFRESH MATERIALIZED VIEW CONCURRENTLY.

  • Row Exclusive

    Zabbix item:

    Name PostgreSQL Locks: total number of locks acquired (or waiting) by all queries like UPDATE, DELETE, INSERT and MERGE
    Key pgsql.pg_locks[rowexclusive]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Row Exclusive calculates as summa of locks from pg_locks with mode Row Exclusive. Metric describes a total number of locks acquired (or waiting) by all queries like UPDATE, DELETE, INSERT and MERGE.

  • Row Share

    Zabbix item:

    Name PostgreSQL Locks: total number of locks acquired (or waiting) by all queries like SELECT FOR SHARE and SELECT FOR UPDATE
    Key pgsql.pg_locks[rowshare]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Row Share calculates as summa of locks from pg_locks with mode Row Share. Metric describes a total number of locks acquired (or waiting) by all queries like SELECT FOR SHARE and SELECT FOR UPDATE.

  • Share Row Exclusive

    Zabbix item:

    Name PostgreSQL Locks: total number of locks acquired (or waiting) by all queries like CREATE TRIGGER and some forms of ALTER TABLE
    Key pgsql.pg_locks[sharerowexclusive]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Share Row Exclusive calculates as summa of locks from pg_locks with mode Share Row Exclusive. Metric describes a total number of locks acquired (or waiting) by all queries like CREATE TRIGGER and some forms of ALTER TABLE.

  • Share Update Exclusive

    Zabbix item:

    Name PostgreSQL Locks: total number of locks acquired (or waiting) by all queries like VACUUM, ANALYZE, CREATE INDEX CONCURRENTLY, CREATE STATISTICS, COMMENT ON, REINDEX CONCURRENTLY, and some forms of ALTER INDEX and ALTER TABLE
    Key pgsql.pg_locks[shareupdateexclusive]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Share Update Exclusive calculates as summa of locks from pg_locks with mode Share Update Exclusive. Metric describes a total number of locks acquired (or waiting) by all queries like VACUUM, ANALYZE, CREATE INDEX CONCURRENTLY, CREATE STATISTICS, COMMENT ON, REINDEX CONCURRENTLY, and some forms of ALTER INDEX and ALTER TABLE.

  • Share

    Zabbix item:

    Name PostgreSQL Locks: total number of locks acquired (or waiting) by all queries like CREATE INDEX
    Key pgsql.pg_locks[share]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Share calculates as summa of locks from pg_locks with mode Share. Metric describes a total number of locks acquired (or waiting) by all queries like CREATE INDEX.

Graphs

Name PostgreSQL: Locks Sampling
Metrics PostgreSQL Locks: Read Only Queries
PostgreSQL Locks: SELECT FOR SHARE and SELECT FOR UPDATE
PostgreSQL Locks: Write Queries
PostgreSQL Locks: VACUUM, ANALYZE, CREATE INDEX CONCURRENTLY
PostgreSQL Locks: CREATE INDEX
PostgreSQL Locks: Locks From Application
PostgreSQL Locks: Locks From Application or Some Operations on System Catalogs
PostgreSQL Locks: ALTER TABLE, DROP TABLE, TRUNCATE, REINDEX, CLUSTER, VACUUM FULL, LOCK TABLE

Prepared Transactions

Default config:
        max_prepared_transaction_time = 18000

Items

Prepared Transactions metrics use information from pg_prepared_xacts.

  • Prepared Transactions Count

    Zabbix item:

    Name PostgreSQL Prepared Transactions: Number of Prepared Transactions
    Key pgsql.prepared.count
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Prepared Transactions Count calculates as summa of all rows in pg_prepared_xacts.

  • Oldest Prepared Transaction Time

    Zabbix item:

    Name PostgreSQL Prepared Transactions: the Oldest Prepared Transaction Running Time in sec
    Key pgsql.prepared.oldest
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Oldest Prepared Transaction Time calculates as max(now() - prepared).

Graphs

Name PostgreSQL Prepared Transactions: Overview
Metrics PostgreSQL Prepared Transactions: Number of Prepared Transactions
PostgreSQL Prepared Transactions: the Oldest Prepared Transaction Running Time in sec

Triggers

  • PostgreSQL Prepared Transactions: prepared transaction is too old on {HOSTNAME}
    Triggers if PostgreSQL Prepared Transactions: the Oldest Prepared Transaction Running Time in sec exceeds max_prepared_transaction_time.

Relations

Discovery Rules

  • PostgreSQL Relations Sizes Discovery

    Items:

    Name PostgreSQL Relation Size: {#RELATIONNAME}
    Key pgsql.relation.size[{#RELATIONNAME}]
    Type Numeric (float)
    Units Bytes
    Delta As Is

    Graphs:

    Name PostgreSQL Relation Size: {#RELATIONNAME}
    Metrics PostgreSQL Relation Size: {#RELATIONNAME}

Replication

Default config:
        lag_more_than_in_sec = 300

Items

Replication metrics use information from pg_replication_slots.

  • Server Mode

    Zabbix item:

    Name PostgreSQL Instance: Server Mode
    Key pgsql.server_mode
    Type Text
    Units
    Delta As Is
    Supported Version 9.5+

    Server Mode shows server status as MASTER or STANDBY.

  • Non-active Replication Slots

    Zabbix item:

    Name PostgreSQL Replication: Count Non-Active Replication Slots
    Key pgsql.replication.non_active_slots[]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Non-active Replication Slots calculates as count of slots with false active status.

  • Streaming Replication Lag

    Zabbix item:

    Name PostgreSQL Replication: Streaming Replication Lag
    Key pgsql.replication_lag[sec]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Streaming Replication Lag calculates as difference between now and pg_last_xact_replay_timestamp.

Discovery Rules

  • PostgreSQL Replication Lag Discovery

    Items:

    Name PostgreSQL Replication: {#APPLICATION_NAME} Delta of Total Lag PostgreSQL Replication: {#APPLICATION_NAME} Send Lag - Time elapsed sending recent WAL locally PostgreSQL Replication: {#APPLICATION_NAME} Receive Lag - Time elapsed between receiving recent WAL locally and receiving notification that this standby server has flushed it PostgreSQL Replication: {#APPLICATION_NAME} Write Lag - Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written it PostgreSQL Replication: {#APPLICATION_NAME} Flush Lag - Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written and flushed it PostgreSQL Replication: {#APPLICATION_NAME} Replay Lag - Time elapsed between flushing recent WAL locally and receiving notification that this standby server has written, flushed and applied
    Key pgsql.replication.total_lag[{#APPLICATION_NAME}] pgsql.replication.send_lag[{#APPLICATION_NAME}] pgsql.replication.receive_lag[{#APPLICATION_NAME}] pgsql.replication.write_lag[{#APPLICATION_NAME}] pgsql.replication.flush_lag[{#APPLICATION_NAME}] pgsql.replication.replay_lag[{#APPLICATION_NAME}]
    Type Numeric (float) Numeric (float) Numeric (float) Numeric (float) Numeric (float) Numeric (float)
    Units Bytes Bytes Bytes Bytes Bytes Bytes
    Delta As Is As Is As Is As Is As Is As Is

    Graphs:

    Name PostgreSQL Replication: Delta of Total Lag for {#APPLICATION_NAME}
    Metrics PostgreSQL Replication: {#APPLICATION_NAME} Delta of Total Lag

Triggers

  • PostgreSQL Instance: server mode has been changed on {HOSTNAME} to {ITEM.LASTVALUE}

  • PostgreSQL number of non-active replication slots on {HOSTNAME} (value={ITEM.LASTVALUE})

  • PostgreSQL streaming lag too high on {HOSTNAME} (value={ITEM.LASTVALUE})
    Triggers if PostgreSQL Replication: Streaming Replication Lag exceeds lag_more_than_in_sec.

Statements

Items

Statements metrics use information from pg_stat_statements and pg_stat_statements_info for PostgreSQL cluster and from pgpro_stats extension for PostgresPro cluster.

  • Amount of WAL Files

    Zabbix item:

    Name PostgreSQL Statements: Amount of WAL Files
    Key pgsql.stat[wal_bytes]
    Type Numeric (float)
    Units Bytes
    Delta Speed Per Second
    Supported Version 9.5+

    Amount of WAL Files maps wal_bytes.

  • Amount of WAL Records

    Zabbix item:

    Name PostgreSQL Statements: Amount of WAL Records
    Key pgsql.stat[wal_records]
    Type Numeric (float)
    Units Bytes
    Delta Speed Per Second
    Supported Version 9.5+

    Amount of WAL Records maps wal_records.

  • Dirty Bytes

    Zabbix item:

    Name PostgreSQL Statements: Dirty bytes/s
    Key pgsql.stat[dirty_bytes]
    Type Numeric (float)
    Units byte/s
    Delta Speed Per Second
    Supported Version 9.5+

    Dirty Bytes calculates as summa of shared_blks_dirtied and local_blks_dirtied.

  • WAL FPI

    Zabbix item:

    Name PostgreSQL Statements: Full Page Writes
    Key pgsql.stat[wal_fpi]
    Type Numeric (float)
    Units Bytes
    Delta Speed Per Second
    Supported Version 9.5+

    WAL FPI maps wal_fpi.

  • Read IO Time

    Zabbix item:

    Name PostgreSQL Statements: Read IO Time
    Key pgsql.stat[read_time]
    Type Numeric (float)
    Units s
    Delta Speed Per Second
    Supported Version 9.5+

    Read IO Time maps blk_read_time

  • Write IO Time

    Zabbix item:

    Name PostgreSQL Statements: Write IO Time
    Key pgsql.stat[write_time]
    Type Numeric (float)
    Units s
    Delta Speed Per Second
    Supported Version 9.5+

    Write IO Time maps blk_write_time

  • Other Time

    Zabbix item:

    Name PostgreSQL Statements: Other (mostly CPU) Time
    Key pgsql.stat[other_time]
    Type Numeric (float)
    Units s
    Delta Speed Per Second
    Supported Version 9.5+

    Other Time calculates as total_time - blk_read_time - blk_write_time.

  • Read Speed

    Zabbix item:

    Name PostgreSQL Statements: Read bytes/s
    Key pgsql.stat[read_bytes]
    Type Numeric (float)
    Units byte/s
    Delta Speed Per Second
    Supported Version 9.5+

    Read Speed calculates as shared_blks_read, local_blks_read and temp_blks_read.

  • Write Speed

    Zabbix item:

    Name PostgreSQL Statements: Write bytes/s
    Key pgsql.stat[write_bytes]
    Type Numeric (float)
    Units byte/s
    Delta Speed Per Second
    Supported Version 9.5+

    Write Speed calculates as summa of shared_blks_written and local_blks_written.

  • Last Statistic Reset

    Zabbix item:

    Name PostgreSQL Statements: Last Statistics Reset Time
    Key pgsql.stat_info[stats_reset]
    Type Numeric (float)
    Units Unixtime
    Delta As Is
    Supported Version 14+

    Last Statistic Reset maps stats_reset.

  • pg_stat_statements.max Exceeding Count

    Zabbix item:

    Name PostgreSQL Statements: Nnumber of Times pg_stat_statements.max Was Exceeded
    Key pgsql.stat_info[dealloc]
    Type Numeric (float)
    Units Bytes
    Delta Speed Per Second
    Supported Version 14+

    pg_stat_statements.max Exceeding Count maps dealloc.

Graphs

Name PostgreSQL Statements: Bytes PostgreSQL Statements: Spent Time PostgreSQL Statements: WAL Statistics
Metrics PostgreSQL Statements: Read bytes/s
PostgreSQL Statements: Write bytes/s
PostgreSQL Statements: Dirty bytes/s
PostgreSQL Statements: Read IO Time
PostgreSQL Statements: Write IO Time
PostgreSQL Statements: Other (mostly CPU) Time
PostgreSQL Statements: Amount of WAL Files
PostgreSQL Statements: Amount of WAL Records
PostgreSQL Statements: Full Page Writes

Temp Files

Items

Temp Files metrics use information from pg_stat_database.

  • Temp Bytes

    Zabbix item:

    Name PostgreSQL Instance: Temp Bytes Written
    Key pgsql.temp[bytes]
    Type Numeric (float)
    Units Bytes
    Delta Simple Change
    Supported Version 9.5+

    Temp Bytes maps temp_bytes.

  • Temp Files

    Zabbix item:

    Name PostgreSQL Instance: Temp Files Created
    Key pgsql.temp[files]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+

    Temp Files maps temp_files.

Graphs

Name PostgreSQL Instance: Temp Files
Metrics PostgreSQL Instance: Temp Bytes Written
PostgreSQL Instance: Temp Files Created

Transactions

Default config:
        max_xid_age = 18000000
        max_transaction_time = 18000

Items

  • Committed

    Zabbix item:

    Name PostgreSQL Instance: Transactions Committed
    Key pgsql.transactions[committed]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Committed maps xact_commit from pg_stat_database.

  • Rollbacks

    Zabbix item:

    Name PostgreSQL Instance: Rollback Events
    Key pgsql.events[xact_rollback]
    Type Numeric (float)
    Units
    Delta Simple Change
    Supported Version 9.5+
    Supported Version 9.5+

    Rollbacks maps xact_rollback.

  • Oldest Transaction Time

    Zabbix item:

    Name PostgreSQL Transactions: the Oldest Transaction Running Time in sec
    Key pgsql.oldest[transaction_time]
    Type Numeric (float)
    Units s
    Delta As Is
    Supported Version 9.5+

    Oldest Transaction Time calculates based on data from pg_stat_activity. You can find SQL-query that calculates this metric in plugin source code.

  • Oldest XID Age

    Zabbix item:

    Name PostgreSQL Transactions: Age of the Oldest XID
    Key pgsql.oldest[xid_age]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    Oldest XID Age calculates based on data from pg_stat_activity. You can find SQL-query that calculates this metric in plugin source code.

Triggers

  • PostgreSQL Transactions: the oldest XID is too big on {HOSTNAME}
    Triggers if PostgreSQL Transactions: Age of the Oldest XID exceeds max_xid_age.

  • PostgreSQL Transactions: running transaction is too old on {HOSTNAME}
    Triggers if PostgreSQL Transactions: the Oldest Transaction Running Time in sec exceeds max_transaction_time.

Graphs

Name PostgreSQL Instance: Transactions Rate
Metrics PostgreSQL Instance: Transactions Committed
PostgreSQL Instance: Rollback Events

Tuples

Items

Tuples metrics use information from pg_stat_database.

  • Deleted

    Zabbix item:

    Name PostgreSQL Instance: Tuples Deleted
    Key pgsql.tuples[deleted]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Deleted maps tup_deleted.

  • Fetched

    Zabbix item:

    Name PostgreSQL Instance: Tuples Fetched
    Key pgsql.tuples[fetched]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Fetched maps tup_fetched.

  • Inserted

    Zabbix item:

    Name PostgreSQL Instance: Tuples Inserted
    Key pgsql.tuples[inserted]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Inserted maps tup_inserted.

  • Returned

    Zabbix item:

    Name PostgreSQL Instance: Tuples Returned
    Key pgsql.tuples[returned]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Returned maps tup_returned.

  • Updated

    Zabbix item:

    Name PostgreSQL Instance: Tuples Updated
    Key pgsql.tuples[updated]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Updated maps tup_updated.

Graphs

Name PostgreSQL Instance: Tuples
Metrics PostgreSQL Instance: Tuples Deleted
PostgreSQL Instance: Tuples Fetched
PostgreSQL Instance: Tuples Inserted avg
PostgreSQL Instance: Tuples Returned
PostgreSQL Instance: Tuples Updated

WAL

Items

WAL metrics use information from pg_stat_wal.

  • WAL Count

    Zabbix item:

    Name PostgreSQL WAL: Count of WAL Files
    Key pgsql.wal.count[]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+

    WAL count calculates as count of WAL files in pg_wal directory via pg_ls_dir().

  • WAL Write Speed

    Zabbix item:

    Name PostgreSQL WAL: Write Speed
    Key pgsql.wal.write[]
    Type Numeric (float)
    Units Bytes
    Delta Speed Per Second
    Supported Version 9.5+

    WAL Write Speed calculates as difference between current WAL file and 0/00000000.

  • WAL Buffers Full

    Zabbix item:

    Name PostgreSQL WAL: Buffers Full
    Key pgsql.wal.buffers_full
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 14+

    WAL Buffers Full maps wal_buffers_full.

  • WAL FPI Generated

    Zabbix item:

    Name PostgreSQL WAL: Full Page Images Generated
    Key pgsql.wal.fpi.count[]
    Type Numeric (float)
    Units
    Delta Speed Per Seconds
    Supported Version 14+

    WAL FPI Generated maps wal_fpi.

  • WAL Records Generated

    Zabbix item:

    Name PostgreSQL WAL: Records Generated
    Key pgsql.wal.records.count[]
    Type Numeric (float)
    Units
    Delta Speed Per Seconds
    Supported Version 14+

    WAL Records Generated maps wal_records.

  • WAL Sync Time

    Zabbix item:

    Name PostgreSQL WAL: Sync Time (ms)
    Key pgsql.wal.sync_time
    Type Numeric (float)
    Units ms
    Delta Speed Per Second
    Supported Version 14+

    WAL Sync Time maps wal_sync_time.

  • WAL Write Time

    Zabbix item:

    Name PostgreSQL WAL: Write Time (ms)
    Key pgsql.wal.write_time
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 14+

    WAL Write Time maps wal_write_time.

  • WAL Sync Duty

    Zabbix item:

    Name PostgreSQL WAL: Sync Duty (%)
    Key pgsql.wal.sync_duty
    Type Numeric (float)
    Units %
    Delta Speed Per Second
    Supported Version 14+

    WAL Sync Duty calculates as change of wal_sync_time per mamonsu interval.

Postgres Pro metrics

Compressed File System

Default config:
        force_enable = False

Items

Compressed File System metrics use information from cfs* functions.

  • Compressed Files

    Zabbix item:

    Name PostgreSQL CFS: Compressed Files
    Key pgsql.cfs.activity[compressed_files]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Compressed Files maps cfs_gc_activity_processed_files().

  • Scanned Files

    Zabbix item:

    Name PostgreSQL CFS: Scanned Files
    Key pgsql.cfs.activity[scanned_files]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

    Scanned Files maps cfs_gc_activity_scanned_files().

  • Current Ratio

    Zabbix item:

    Name PostgreSQL CFS: Current Ratio
    Key pgsql.cfs.activity[current_compress_ratio]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+
  • Total Ratio

    Zabbix item:

    Name PostgreSQL CFS: Total Ratio
    Key pgsql.cfs.activity[total_compress_ratio]
    Type Numeric (float)
    Units
    Delta As Is
    Supported Version 9.5+
  • Scanned Speed

    Zabbix item:

    Name PostgreSQL CFS: Scanned byte/s
    Key pgsql.cfs.activity[scanned_bytes]
    Type Numeric (float)
    Units byte/s
    Delta Speed Per Second
    Supported Version 9.5+

    Scanned Speed maps cfs_gc_activity_processed_pages().

  • Written Speed

    Zabbix item:

    Name PostgreSQL CFS: Written byte/s
    Key pgsql.cfs.activity[written_bytes]
    Type Numeric (float)
    Units byte/s
    Delta Speed Per Second
    Supported Version 9.5+

    Written Speed maps cfs_gc_activity_processed_bytes().

Discovery Rules

  • PostgreSQL CFS Discovery

    Items:

    Name PostgreSQL CFS: Relation {#COMPRESSED_RELATION} Compress Ratio
    Key pgsql.cfs.compress_ratio[{#COMPRESSED_RELATION}]
    Type Numeric (float)
    Units
    Delta As Is

    Graphs:

    Name PostgreSQL CFS: Relation {#COMPRESSED_RELATION} Compress Ratio
    Metrics PostgreSQL CFS: Relation {#COMPRESSED_RELATION} Compress Ratio

Wait Sampling

Items

Wait Sampling metrics use information from pgpro_stats extension by default or from pg_wait_sampling extension if you installed it on non-PostgrePro edition.

Locks in general

  • Lightweight Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling: Lightweight Locks
    Key pgsql.all_lock[lwlock]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Heavyweight Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling: Heavyweight Locks
    Key pgsql.all_lock[hwlock]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Buffer Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling: Buffer Locks
    Key pgsql.all_lock[buffer]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Client Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling: Client Locks
    Key pgsql.all_lock[client]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 10+
  • Extension Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling: Extension Locks
    Key pgsql.all_lock[extension]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 10+
  • Other Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling: Other Locks (e.g. IPC, Timeout, IO)
    Key pgsql.all_lock[other]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

Heavyweight Locks

  • Advisory User Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling HWLocks: Advisory User Locks
    Key pgsql.hwlock[advisory]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Extend a Relation Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling HWLocks: Extend a Relation Locks
    Key pgsql.hwlock[extend]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Locks on a Page

    Zabbix item:

    Name PostgreSQL Wait Sampling HWLocks: Locks on a Page
    Key pgsql.hwlock[page]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Locks on a Relation

    Zabbix item:

    Name PostgreSQL Wait Sampling HWLocks: Locks on a Relation
    Key pgsql.hwlock[relation]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Locks on a Tuple

    Zabbix item:

    Name PostgreSQL Wait Sampling HWLocks: Locks on a Tuple
    Key pgsql.hwlock[tuple]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Locks on Database Object

    Zabbix item:

    Name PostgreSQL Wait Sampling HWLocks: Locks on Database Object
    Key pgsql.hwlock[object]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Speculative Insertion Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling HWLocks: Speculative Insertion Locks
    Key pgsql.hwlock[speculative_token]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Transaction to Finish Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling HWLocks: Transaction to Finish Locks
    Key pgsql.hwlock[transactionid]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Userlocks

    Zabbix item:

    Name PostgreSQL Wait Sampling HWLocks: Userlocks
    Key pgsql.hwlock[userlock]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Virtual XID Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling HWLocks: Virtual XID Locks
    Key pgsql.hwlock[virtualxid]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

Lightweight Locks

  • Autovacuum Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling LWLocks: Autovacuum Locks
    Key pgsql.lwlock[autovacuum]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Buffer Operations Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling LWLocks: Buffer Operations Locks
    Key pgsql.lwlock[buffer]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • CLOG Access Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling LWLocks: CLOG Access Locks
    Key pgsql.lwlock[clog]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Logical Replication Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling LWLocks: Logical Replication Locks
    Key pgsql.lwlock[logical_replication]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 10+
  • Replication Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling LWLocks: Replication Locks
    Key pgsql.lwlock[replication]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • WAL Access Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling LWLocks: WAL Access Locks
    Key pgsql.lwlock[wal]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • XID Access Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling LWLocks: XID Access Locks
    Key pgsql.lwlock[xid]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+
  • Other Operations Lightweight Locks

    Zabbix item:

    Name PostgreSQL Wait Sampling LWLocks: Other Operations Lightweight Locks
    Key pgsql.lwlock[other]
    Type Numeric (float)
    Units
    Delta Speed Per Second
    Supported Version 9.5+

Graphs

Name PostgreSQL Wait Sampling: Heavyweight Locks PostgreSQL Wait Sampling: Lightweight Locks PostgreSQL Wait Sampling: Locks by Type
Metrics PostgreSQL Wait Sampling HWLocks: Advisory User Locks
PostgreSQL Wait Sampling HWLocks: Extend a Relation Locks
PostgreSQL Wait Sampling HWLocks: Locks on a Page
PostgreSQL Wait Sampling HWLocks: Locks on a Relation
PostgreSQL Wait Sampling HWLocks: Locks on a Tuple
PostgreSQL Wait Sampling HWLocks: Locks on Database Object
PostgreSQL Wait Sampling HWLocks: Speculative Insertion Locks
PostgreSQL Wait Sampling HWLocks: Transaction to Finish Locks
PostgreSQL Wait Sampling HWLocks: Virtual XID Locks
PostgreSQL Wait Sampling HWLocks: Userlocks
PostgreSQL Wait Sampling LWLocks: Autovacuum Locks
PostgreSQL Wait Sampling LWLocks: Buffer Operations Locks
PostgreSQL Wait Sampling LWLocks: Buffer Operations Locks
PostgreSQL Wait Sampling LWLocks: Logical Replication Locks
PostgreSQL Wait Sampling LWLocks: Logical Replication Locks
PostgreSQL Wait Sampling LWLocks: WAL Access Locks
PostgreSQL Wait Sampling LWLocks: WAL Access Locks
PostgreSQL Wait Sampling LWLocks: Other Operations Lightweight Locks
PostgreSQL Wait Sampling: Lightweight Locks
PostgreSQL Wait Sampling: Heavyweight Locks
PostgreSQL Wait Sampling: Buffer Locks
PostgreSQL Wait Sampling: Client Locks
PostgreSQL Wait Sampling: Extension Locks
PostgreSQL Wait Sampling: Other Locks (e.g. IPC, Timeout, IO)