# Redis by Zabbix agent 2 ## Overview This template is designed for the effortless deployment of Redis monitoring by Zabbix via Zabbix agent 2 and doesn't require any external scripts. ## Requirements Zabbix version: 7.0 and higher. ## Tested versions This template has been tested on: - Redis, version 3.0.6, 4.0.14, 5.0.6, 7.0.8 ## Configuration > Zabbix should be configured according to the instructions in the [Templates out of the box](https://www.zabbix.com/documentation/7.0/manual/config/templates_out_of_the_box) section. ## Setup Setup and configure zabbix-agent2 compiled with the Redis monitoring plugin (ZBXNEXT-5428-4.3). Test availability: `zabbix_get -s redis-master -k redis.ping` ### Macros used |Name|Description|Default| |----|-----------|-------| |{$REDIS.CONN.URI}|

Connection string in the URI format (password is not used). This param overwrites a value configured in the "Server" option of the configuration file (if it's set), otherwise, the plugin's default value is used: "tcp://localhost:6379"

|`tcp://localhost:6379`| |{$REDIS.PROCESS_NAME}|

Redis server process name

|`redis-server`| |{$REDIS.LLD.PROCESS_NAME}|

Redis server process name for LLD

|`redis-server`| |{$REDIS.LLD.FILTER.DB.MATCHES}|

Filter of discoverable databases

|`.*`| |{$REDIS.LLD.FILTER.DB.NOT_MATCHES}|

Filter to exclude discovered databases

|`CHANGE_IF_NEEDED`| |{$REDIS.REPL.LAG.MAX.WARN}|

Maximum replication lag in seconds

|`30s`| |{$REDIS.SLOWLOG.COUNT.MAX.WARN}|

Maximum number of slowlog entries per second

|`1`| |{$REDIS.CLIENTS.PRC.MAX.WARN}|

Maximum percentage of connected clients

|`80`| |{$REDIS.MEM.PUSED.MAX.WARN}|

Maximum percentage of memory used

|`90`| |{$REDIS.MEM.FRAG_RATIO.MAX.WARN}|

Maximum memory fragmentation ratio

|`1.5`| ### Items |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Redis: Get info||Zabbix agent|redis.info["{$REDIS.CONN.URI}"]| |Redis: Get config||Zabbix agent|redis.config["{$REDIS.CONN.URI}"]

**Preprocessing**

| |Redis: Ping||Zabbix agent|redis.ping["{$REDIS.CONN.URI}"]

**Preprocessing**

| |Redis: Slowlog entries per second||Zabbix agent|redis.slowlog.count["{$REDIS.CONN.URI}"]

**Preprocessing**

| |Redis: Get Clients info||Dependent item|redis.clients.info_raw

**Preprocessing**

| |Redis: Get CPU info||Dependent item|redis.cpu.info_raw

**Preprocessing**

| |Redis: Get Keyspace info||Dependent item|redis.keyspace.info_raw

**Preprocessing**

| |Redis: Get Memory info||Dependent item|redis.memory.info_raw

**Preprocessing**

| |Redis: Get Persistence info||Dependent item|redis.persistence.info_raw

**Preprocessing**

| |Redis: Get Replication info||Dependent item|redis.replication.info_raw

**Preprocessing**

| |Redis: Get Server info||Dependent item|redis.server.info_raw

**Preprocessing**

| |Redis: Get Stats info||Dependent item|redis.stats.info_raw

**Preprocessing**

| |Redis: CPU sys|

System CPU consumed by the Redis server

|Dependent item|redis.cpu.sys

**Preprocessing**

| |Redis: CPU sys children|

System CPU consumed by the background processes

|Dependent item|redis.cpu.sys_children

**Preprocessing**

| |Redis: CPU user|

User CPU consumed by the Redis server

|Dependent item|redis.cpu.user

**Preprocessing**

| |Redis: CPU user children|

User CPU consumed by the background processes

|Dependent item|redis.cpu.user_children

**Preprocessing**

| |Redis: Blocked clients|

The number of connections waiting on a blocking call

|Dependent item|redis.clients.blocked

**Preprocessing**

| |Redis: Max input buffer|

The biggest input buffer among current client connections

|Dependent item|redis.clients.max_input_buffer

**Preprocessing**

| |Redis: Max output buffer|

The biggest output buffer among current client connections

|Dependent item|redis.clients.max_output_buffer

**Preprocessing**

| |Redis: Connected clients|

The number of connected clients

|Dependent item|redis.clients.connected

**Preprocessing**

| |Redis: Cluster enabled|

Indicate Redis cluster is enabled

|Dependent item|redis.cluster.enabled

**Preprocessing**

| |Redis: Memory used|

Total number of bytes allocated by Redis using its allocator

|Dependent item|redis.memory.used_memory

**Preprocessing**

| |Redis: Memory used Lua|

Amount of memory used by the Lua engine

|Dependent item|redis.memory.used_memory_lua

**Preprocessing**

| |Redis: Memory used peak|

Peak memory consumed by Redis (in bytes)

|Dependent item|redis.memory.used_memory_peak

**Preprocessing**

| |Redis: Memory used RSS|

Number of bytes that Redis allocated as seen by the operating system

|Dependent item|redis.memory.used_memory_rss

**Preprocessing**

| |Redis: Memory fragmentation ratio|

This ratio is an indication of memory mapping efficiency:

- Value over 1.0 indicate that memory fragmentation is very likely. Consider restarting the Redis server so the operating system can recover fragmented memory, especially with a ratio over 1.5.

- Value under 1.0 indicate that Redis likely has insufficient memory available. Consider optimizing memory usage or adding more RAM.

Note: If your peak memory usage is much higher than your current memory usage, the memory fragmentation ratio may be unreliable.

https://redis.io/topics/memory-optimization

|Dependent item|redis.memory.fragmentation_ratio

**Preprocessing**

| |Redis: AOF current rewrite time sec|

Duration of the on-going AOF rewrite operation if any

|Dependent item|redis.persistence.aof_current_rewrite_time_sec

**Preprocessing**

| |Redis: AOF enabled|

Flag indicating AOF logging is activated

|Dependent item|redis.persistence.aof_enabled

**Preprocessing**

| |Redis: AOF last bgrewrite status|

Status of the last AOF rewrite operation

|Dependent item|redis.persistence.aof_last_bgrewrite_status

**Preprocessing**

| |Redis: AOF last rewrite time sec|

Duration of the last AOF rewrite

|Dependent item|redis.persistence.aof_last_rewrite_time_sec

**Preprocessing**

| |Redis: AOF last write status|

Status of the last write operation to the AOF

|Dependent item|redis.persistence.aof_last_write_status

**Preprocessing**

| |Redis: AOF rewrite in progress|

Flag indicating a AOF rewrite operation is on-going

|Dependent item|redis.persistence.aof_rewrite_in_progress

**Preprocessing**

| |Redis: AOF rewrite scheduled|

Flag indicating an AOF rewrite operation will be scheduled once the on-going RDB save is complete

|Dependent item|redis.persistence.aof_rewrite_scheduled

**Preprocessing**

| |Redis: Dump loading|

Flag indicating if the load of a dump file is on-going

|Dependent item|redis.persistence.loading

**Preprocessing**

| |Redis: RDB bgsave in progress|

"1" if bgsave is in progress and "0" otherwise

|Dependent item|redis.persistence.rdb_bgsave_in_progress

**Preprocessing**

| |Redis: RDB changes since last save|

Number of changes since the last background save

|Dependent item|redis.persistence.rdb_changes_since_last_save

**Preprocessing**

| |Redis: RDB current bgsave time sec|

Duration of the on-going RDB save operation if any

|Dependent item|redis.persistence.rdb_current_bgsave_time_sec

**Preprocessing**

| |Redis: RDB last bgsave status|

Status of the last RDB save operation

|Dependent item|redis.persistence.rdb_last_bgsave_status

**Preprocessing**

| |Redis: RDB last bgsave time sec|

Duration of the last bg_save operation

|Dependent item|redis.persistence.rdb_last_bgsave_time_sec

**Preprocessing**

| |Redis: RDB last save time|

Epoch-based timestamp of last successful RDB save

|Dependent item|redis.persistence.rdb_last_save_time

**Preprocessing**

| |Redis: Connected slaves|

Number of connected slaves

|Dependent item|redis.replication.connected_slaves

**Preprocessing**

| |Redis: Replication backlog active|

Flag indicating replication backlog is active

|Dependent item|redis.replication.repl_backlog_active

**Preprocessing**

| |Redis: Replication backlog first byte offset|

The master offset of the replication backlog buffer

|Dependent item|redis.replication.repl_backlog_first_byte_offset

**Preprocessing**

| |Redis: Replication backlog history length|

Amount of data in the backlog sync buffer

|Dependent item|redis.replication.repl_backlog_histlen

**Preprocessing**

| |Redis: Replication backlog size|

Total size in bytes of the replication backlog buffer

|Dependent item|redis.replication.repl_backlog_size

**Preprocessing**

| |Redis: Replication role|

Value is "master" if the instance is replica of no one, or "slave" if the instance is a replica of some master instance. Note that a replica can be master of another replica (chained replication).

|Dependent item|redis.replication.role

**Preprocessing**

| |Redis: Master replication offset|

Replication offset reported by the master

|Dependent item|redis.replication.master_repl_offset

**Preprocessing**

| |Redis: Process id|

PID of the server process

|Dependent item|redis.server.process_id

**Preprocessing**

| |Redis: Redis mode|

The server's mode ("standalone", "sentinel" or "cluster")

|Dependent item|redis.server.redis_mode

**Preprocessing**

| |Redis: Redis version|

Version of the Redis server

|Dependent item|redis.server.redis_version

**Preprocessing**

| |Redis: TCP port|

TCP/IP listen port

|Dependent item|redis.server.tcp_port

**Preprocessing**

| |Redis: Uptime|

Number of seconds since Redis server start

|Dependent item|redis.server.uptime

**Preprocessing**

| |Redis: Evicted keys|

Number of evicted keys due to maxmemory limit

|Dependent item|redis.stats.evicted_keys

**Preprocessing**

| |Redis: Expired keys|

Total number of key expiration events

|Dependent item|redis.stats.expired_keys

**Preprocessing**

| |Redis: Instantaneous input bytes per second|

The network's read rate per second in KB/sec

|Dependent item|redis.stats.instantaneous_input.rate

**Preprocessing**

| |Redis: Instantaneous operations per sec|

Number of commands processed per second

|Dependent item|redis.stats.instantaneous_ops.rate

**Preprocessing**

| |Redis: Instantaneous output bytes per second|

The network's write rate per second in KB/sec

|Dependent item|redis.stats.instantaneous_output.rate

**Preprocessing**

| |Redis: Keyspace hits|

Number of successful lookup of keys in the main dictionary

|Dependent item|redis.stats.keyspace_hits

**Preprocessing**

| |Redis: Keyspace misses|

Number of failed lookup of keys in the main dictionary

|Dependent item|redis.stats.keyspace_misses

**Preprocessing**

| |Redis: Latest fork usec|

Duration of the latest fork operation in microseconds

|Dependent item|redis.stats.latest_fork_usec

**Preprocessing**

| |Redis: Migrate cached sockets|

The number of sockets open for MIGRATE purposes

|Dependent item|redis.stats.migrate_cached_sockets

**Preprocessing**

| |Redis: Pubsub channels|

Global number of pub/sub channels with client subscriptions

|Dependent item|redis.stats.pubsub_channels

**Preprocessing**

| |Redis: Pubsub patterns|

Global number of pub/sub pattern with client subscriptions

|Dependent item|redis.stats.pubsub_patterns

**Preprocessing**

| |Redis: Rejected connections|

Number of connections rejected because of maxclients limit

|Dependent item|redis.stats.rejected_connections

**Preprocessing**

| |Redis: Sync full|

The number of full resyncs with replicas

|Dependent item|redis.stats.sync_full

**Preprocessing**

| |Redis: Sync partial err|

The number of denied partial resync requests

|Dependent item|redis.stats.sync_partial_err

**Preprocessing**

| |Redis: Sync partial ok|

The number of accepted partial resync requests

|Dependent item|redis.stats.sync_partial_ok

**Preprocessing**

| |Redis: Total commands processed|

Total number of commands processed by the server

|Dependent item|redis.stats.total_commands_processed

**Preprocessing**

| |Redis: Total connections received|

Total number of connections accepted by the server

|Dependent item|redis.stats.total_connections_received

**Preprocessing**

| |Redis: Total net input bytes|

The total number of bytes read from the network

|Dependent item|redis.stats.total_net_input_bytes

**Preprocessing**

| |Redis: Total net output bytes|

The total number of bytes written to the network

|Dependent item|redis.stats.total_net_output_bytes

**Preprocessing**

| |Redis: Max clients|

Max number of connected clients at the same time.

Once the limit is reached Redis will close all the new connections sending an error "max number of clients reached".

|Dependent item|redis.config.maxclients

**Preprocessing**

| ### Triggers |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----------|--------|--------------------------------| |Redis: Failed to fetch info data|

Zabbix has not received any data for items for the last 30 minutes.

|`nodata(/Redis by Zabbix agent 2/redis.info["{$REDIS.CONN.URI}"],30m)=1`|Warning|**Manual close**: Yes
**Depends on**:
| |Redis: Configuration has changed|

Redis configuration has changed. Acknowledge to close the problem manually.

|`last(/Redis by Zabbix agent 2/redis.config["{$REDIS.CONN.URI}"],#1)<>last(/Redis by Zabbix agent 2/redis.config["{$REDIS.CONN.URI}"],#2) and length(last(/Redis by Zabbix agent 2/redis.config["{$REDIS.CONN.URI}"]))>0`|Info|**Manual close**: Yes| |Redis: Service is down||`last(/Redis by Zabbix agent 2/redis.ping["{$REDIS.CONN.URI}"])=0`|Average|**Manual close**: Yes| |Redis: Too many entries in the slowlog||`min(/Redis by Zabbix agent 2/redis.slowlog.count["{$REDIS.CONN.URI}"],5m)>{$REDIS.SLOWLOG.COUNT.MAX.WARN}`|Info|| |Redis: Total number of connected clients is too high|

When the number of clients reaches the value of the "maxclients" parameter, new connections will be rejected.

https://redis.io/topics/clients#maximum-number-of-clients

|`min(/Redis by Zabbix agent 2/redis.clients.connected,5m)/last(/Redis by Zabbix agent 2/redis.config.maxclients)*100>{$REDIS.CLIENTS.PRC.MAX.WARN}`|Warning|| |Redis: Memory fragmentation ratio is too high|

This ratio is an indication of memory mapping efficiency:
- Value over 1.0 indicate that memory fragmentation is very likely. Consider restarting the Redis server so the operating system can recover fragmented memory, especially with a ratio over 1.5.
- Value under 1.0 indicate that Redis likely has insufficient memory available. Consider optimizing memory usage or adding more RAM.

Note: If your peak memory usage is much higher than your current memory usage, the memory fragmentation ratio may be unreliable.

https://redis.io/topics/memory-optimization

|`min(/Redis by Zabbix agent 2/redis.memory.fragmentation_ratio,15m)>{$REDIS.MEM.FRAG_RATIO.MAX.WARN}`|Warning|| |Redis: Last AOF write operation failed|

Detailed information about persistence: https://redis.io/topics/persistence

|`last(/Redis by Zabbix agent 2/redis.persistence.aof_last_write_status)=0`|Warning|| |Redis: Last RDB save operation failed|

Detailed information about persistence: https://redis.io/topics/persistence

|`last(/Redis by Zabbix agent 2/redis.persistence.rdb_last_bgsave_status)=0`|Warning|| |Redis: Number of slaves has changed|

Redis number of slaves has changed. Acknowledge to close the problem manually.

|`last(/Redis by Zabbix agent 2/redis.replication.connected_slaves,#1)<>last(/Redis by Zabbix agent 2/redis.replication.connected_slaves,#2)`|Info|**Manual close**: Yes| |Redis: Replication role has changed|

Redis replication role has changed. Acknowledge to close the problem manually.

|`last(/Redis by Zabbix agent 2/redis.replication.role,#1)<>last(/Redis by Zabbix agent 2/redis.replication.role,#2) and length(last(/Redis by Zabbix agent 2/redis.replication.role))>0`|Warning|**Manual close**: Yes| |Redis: Version has changed|

The Redis version has changed. Acknowledge to close the problem manually.

|`last(/Redis by Zabbix agent 2/redis.server.redis_version,#1)<>last(/Redis by Zabbix agent 2/redis.server.redis_version,#2) and length(last(/Redis by Zabbix agent 2/redis.server.redis_version))>0`|Info|**Manual close**: Yes| |Redis: Host has been restarted|

The host uptime is less than 10 minutes.

|`last(/Redis by Zabbix agent 2/redis.server.uptime)<10m`|Info|**Manual close**: Yes| |Redis: Connections are rejected|

The number of connections has reached the value of "maxclients".

https://redis.io/topics/clients

|`last(/Redis by Zabbix agent 2/redis.stats.rejected_connections)>0`|High|| ### LLD rule Keyspace discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Keyspace discovery|

Individual keyspace metrics

|Dependent item|redis.keyspace.discovery

**Preprocessing**

| ### Item prototypes for Keyspace discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |DB {#DB}: Get Keyspace info|

The item gets information about keyspace of {#DB} database.

|Dependent item|redis.db.info_raw["{#DB}"]

**Preprocessing**

| |DB {#DB}: Average TTL|

Average TTL

|Dependent item|redis.db.avg_ttl["{#DB}"]

**Preprocessing**

| |DB {#DB}: Expires|

Number of keys with an expiration

|Dependent item|redis.db.expires["{#DB}"]

**Preprocessing**

| |DB {#DB}: Keys|

Total number of keys

|Dependent item|redis.db.keys["{#DB}"]

**Preprocessing**

| ### LLD rule AOF metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |AOF metrics discovery|

If AOF is activated, additional metrics will be added

|Dependent item|redis.persistence.aof.discovery

**Preprocessing**

| ### Item prototypes for AOF metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Redis: AOF current size{#SINGLETON}|

AOF current file size

|Dependent item|redis.persistence.aof_current_size[{#SINGLETON}]

**Preprocessing**

| |Redis: AOF base size{#SINGLETON}|

AOF file size on latest startup or rewrite

|Dependent item|redis.persistence.aof_base_size[{#SINGLETON}]

**Preprocessing**

| |Redis: AOF pending rewrite{#SINGLETON}|

Flag indicating an AOF rewrite operation will

|Dependent item|redis.persistence.aof_pending_rewrite[{#SINGLETON}]

**Preprocessing**

| |Redis: AOF buffer length{#SINGLETON}|

Size of the AOF buffer

|Dependent item|redis.persistence.aof_buffer_length[{#SINGLETON}]

**Preprocessing**

| |Redis: AOF rewrite buffer length{#SINGLETON}|

Size of the AOF rewrite buffer

|Dependent item|redis.persistence.aof_rewrite_buffer_length[{#SINGLETON}]

**Preprocessing**

| |Redis: AOF pending background I/O fsync{#SINGLETON}|

Number of fsync pending jobs in background I/O queue

|Dependent item|redis.persistence.aof_pending_bio_fsync[{#SINGLETON}]

**Preprocessing**

| |Redis: AOF delayed fsync{#SINGLETON}|

Delayed fsync counter

|Dependent item|redis.persistence.aof_delayed_fsync[{#SINGLETON}]

**Preprocessing**

| ### LLD rule Slave metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Slave metrics discovery|

If the instance is a replica, additional metrics are provided

|Dependent item|redis.replication.slave.discovery

**Preprocessing**

| ### Item prototypes for Slave metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Redis: Master host{#SINGLETON}|

Host or IP address of the master

|Dependent item|redis.replication.master_host[{#SINGLETON}]

**Preprocessing**

| |Redis: Master port{#SINGLETON}|

Master listening TCP port

|Dependent item|redis.replication.master_port[{#SINGLETON}]

**Preprocessing**

| |Redis: Master link status{#SINGLETON}|

Status of the link (up/down)

|Dependent item|redis.replication.master_link_status[{#SINGLETON}]

**Preprocessing**

| |Redis: Master last I/O seconds ago{#SINGLETON}|

Number of seconds since the last interaction with master

|Dependent item|redis.replication.master_last_io_seconds_ago[{#SINGLETON}]

**Preprocessing**

| |Redis: Master sync in progress{#SINGLETON}|

Indicate the master is syncing to the replica

|Dependent item|redis.replication.master_sync_in_progress[{#SINGLETON}]

**Preprocessing**

| |Redis: Slave replication offset{#SINGLETON}|

The replication offset of the replica instance

|Dependent item|redis.replication.slave_repl_offset[{#SINGLETON}]

**Preprocessing**

| |Redis: Slave priority{#SINGLETON}|

The priority of the instance as a candidate for failover

|Dependent item|redis.replication.slave_priority[{#SINGLETON}]

**Preprocessing**

| |Redis: Slave priority{#SINGLETON}|

Flag indicating if the replica is read-only

|Dependent item|redis.replication.slave_read_only[{#SINGLETON}]

**Preprocessing**

| ### Trigger prototypes for Slave metrics discovery |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----------|--------|--------------------------------| |Redis: Replication lag with master is too high||`min(/Redis by Zabbix agent 2/redis.replication.master_last_io_seconds_ago[{#SINGLETON}],5m)>{$REDIS.REPL.LAG.MAX.WARN}`|Warning|| ### LLD rule Replication metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Replication metrics discovery|

If the instance is the master and the slaves are connected, additional metrics are provided

|Dependent item|redis.replication.master.discovery

**Preprocessing**

| ### Item prototypes for Replication metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Redis slave {#SLAVE_IP}:{#SLAVE_PORT}: Replication lag in bytes|

Replication lag in bytes

|Dependent item|redis.replication.lag_bytes["{#SLAVE_IP}:{#SLAVE_PORT}"]

**Preprocessing**

| ### LLD rule Process metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Process metrics discovery|

Collect metrics by Zabbix agent if it exists

|Zabbix agent|proc.num["{$REDIS.LLD.PROCESS_NAME}"]

**Preprocessing**

| ### Item prototypes for Process metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Redis: Number of running processes||Zabbix agent|proc.num["{$REDIS.PROCESS_NAME}{#SINGLETON}"]| |Redis: Memory usage (rss)|

Resident set size memory used by process in bytes.

|Zabbix agent|proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,rss]| |Redis: Memory usage (vsize)|

Virtual memory size used by process in bytes.

|Zabbix agent|proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,vsize]| |Redis: CPU utilization|

Process CPU utilization percentage.

|Zabbix agent|proc.cpu.util["{$REDIS.PROCESS_NAME}{#SINGLETON}"]| ### Trigger prototypes for Process metrics discovery |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----------|--------|--------------------------------| |Redis: Process is not running||`last(/Redis by Zabbix agent 2/proc.num["{$REDIS.PROCESS_NAME}{#SINGLETON}"])=0`|High|| ### LLD rule Version 4+ metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Version 4+ metrics discovery|

Additional metrics for versions 4+

|Dependent item|redis.metrics.v4.discovery

**Preprocessing**

| ### Item prototypes for Version 4+ metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Redis: Executable path{#SINGLETON}|

The path to the server's executable

|Dependent item|redis.server.executable[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory used peak %{#SINGLETON}|

The percentage of used_memory_peak out of used_memory

|Dependent item|redis.memory.used_memory_peak_perc[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory used overhead{#SINGLETON}|

The sum in bytes of all overheads that the server allocated for managing its internal data structures

|Dependent item|redis.memory.used_memory_overhead[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory used startup{#SINGLETON}|

Initial amount of memory consumed by Redis at startup in bytes

|Dependent item|redis.memory.used_memory_startup[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory used dataset{#SINGLETON}|

The size in bytes of the dataset

|Dependent item|redis.memory.used_memory_dataset[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory used dataset %{#SINGLETON}|

The percentage of used_memory_dataset out of the net memory usage (used_memory minus used_memory_startup)

|Dependent item|redis.memory.used_memory_dataset_perc[{#SINGLETON}]

**Preprocessing**

| |Redis: Total system memory{#SINGLETON}|

The total amount of memory that the Redis host has

|Dependent item|redis.memory.total_system_memory[{#SINGLETON}]

**Preprocessing**

| |Redis: Max memory{#SINGLETON}|

Maximum amount of memory allocated to the Redisdb system

|Dependent item|redis.memory.maxmemory[{#SINGLETON}]

**Preprocessing**

| |Redis: Max memory policy{#SINGLETON}|

The value of the maxmemory-policy configuration directive

|Dependent item|redis.memory.maxmemory_policy[{#SINGLETON}]

**Preprocessing**

| |Redis: Active defrag running{#SINGLETON}|

Flag indicating if active defragmentation is active

|Dependent item|redis.memory.active_defrag_running[{#SINGLETON}]

**Preprocessing**

| |Redis: Lazyfree pending objects{#SINGLETON}|

The number of objects waiting to be freed (as a result of calling UNLINK, or FLUSHDB and FLUSHALL with the ASYNC option)

|Dependent item|redis.memory.lazyfree_pending_objects[{#SINGLETON}]

**Preprocessing**

| |Redis: RDB last CoW size{#SINGLETON}|

The size in bytes of copy-on-write allocations during the last RDB save operation

|Dependent item|redis.persistence.rdb_last_cow_size[{#SINGLETON}]

**Preprocessing**

| |Redis: AOF last CoW size{#SINGLETON}|

The size in bytes of copy-on-write allocations during the last AOF rewrite operation

|Dependent item|redis.persistence.aof_last_cow_size[{#SINGLETON}]

**Preprocessing**

| |Redis: Expired stale %{#SINGLETON}||Dependent item|redis.stats.expired_stale_perc[{#SINGLETON}]

**Preprocessing**

| |Redis: Expired time cap reached count{#SINGLETON}||Dependent item|redis.stats.expired_time_cap_reached_count[{#SINGLETON}]

**Preprocessing**

| |Redis: Slave expires tracked keys{#SINGLETON}|

The number of keys tracked for expiry purposes (applicable only to writable replicas)

|Dependent item|redis.stats.slave_expires_tracked_keys[{#SINGLETON}]

**Preprocessing**

| |Redis: Active defrag hits{#SINGLETON}|

Number of value reallocations performed by active the defragmentation process

|Dependent item|redis.stats.active_defrag_hits[{#SINGLETON}]

**Preprocessing**

| |Redis: Active defrag misses{#SINGLETON}|

Number of aborted value reallocations started by the active defragmentation process

|Dependent item|redis.stats.active_defrag_misses[{#SINGLETON}]

**Preprocessing**

| |Redis: Active defrag key hits{#SINGLETON}|

Number of keys that were actively defragmented

|Dependent item|redis.stats.active_defrag_key_hits[{#SINGLETON}]

**Preprocessing**

| |Redis: Active defrag key misses{#SINGLETON}|

Number of keys that were skipped by the active defragmentation process

|Dependent item|redis.stats.active_defrag_key_misses[{#SINGLETON}]

**Preprocessing**

| |Redis: Replication second offset{#SINGLETON}|

Offset up to which replication IDs are accepted

|Dependent item|redis.replication.second_repl_offset[{#SINGLETON}]

**Preprocessing**

| ### Trigger prototypes for Version 4+ metrics discovery |Name|Description|Expression|Severity|Dependencies and additional info| |----|-----------|----------|--------|--------------------------------| |Redis: Memory usage is too high||`last(/Redis by Zabbix agent 2/redis.memory.used_memory)/min(/Redis by Zabbix agent 2/redis.memory.maxmemory[{#SINGLETON}],5m)*100>{$REDIS.MEM.PUSED.MAX.WARN}`|Warning|| ### LLD rule Version 5+ metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Version 5+ metrics discovery|

Additional metrics for versions 5+

|Dependent item|redis.metrics.v5.discovery

**Preprocessing**

| ### Item prototypes for Version 5+ metrics discovery |Name|Description|Type|Key and additional info| |----|-----------|----|-----------------------| |Redis: Allocator active{#SINGLETON}||Dependent item|redis.memory.allocator_active[{#SINGLETON}]

**Preprocessing**

| |Redis: Allocator allocated{#SINGLETON}||Dependent item|redis.memory.allocator_allocated[{#SINGLETON}]

**Preprocessing**

| |Redis: Allocator resident{#SINGLETON}||Dependent item|redis.memory.allocator_resident[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory used scripts{#SINGLETON}||Dependent item|redis.memory.used_memory_scripts[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory number of cached scripts{#SINGLETON}||Dependent item|redis.memory.number_of_cached_scripts[{#SINGLETON}]

**Preprocessing**

| |Redis: Allocator fragmentation bytes{#SINGLETON}||Dependent item|redis.memory.allocator_frag_bytes[{#SINGLETON}]

**Preprocessing**

| |Redis: Allocator fragmentation ratio{#SINGLETON}||Dependent item|redis.memory.allocator_frag_ratio[{#SINGLETON}]

**Preprocessing**

| |Redis: Allocator RSS bytes{#SINGLETON}||Dependent item|redis.memory.allocator_rss_bytes[{#SINGLETON}]

**Preprocessing**

| |Redis: Allocator RSS ratio{#SINGLETON}||Dependent item|redis.memory.allocator_rss_ratio[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory RSS overhead bytes{#SINGLETON}||Dependent item|redis.memory.rss_overhead_bytes[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory RSS overhead ratio{#SINGLETON}||Dependent item|redis.memory.rss_overhead_ratio[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory fragmentation bytes{#SINGLETON}||Dependent item|redis.memory.fragmentation_bytes[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory not counted for evict{#SINGLETON}||Dependent item|redis.memory.not_counted_for_evict[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory replication backlog{#SINGLETON}||Dependent item|redis.memory.replication_backlog[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory clients normal{#SINGLETON}||Dependent item|redis.memory.mem_clients_normal[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory clients slaves{#SINGLETON}||Dependent item|redis.memory.mem_clients_slaves[{#SINGLETON}]

**Preprocessing**

| |Redis: Memory AOF buffer{#SINGLETON}|

Size of the AOF buffer

|Dependent item|redis.memory.mem_aof_buffer[{#SINGLETON}]

**Preprocessing**

| ## Feedback Please report any issues with the template at [`https://support.zabbix.com`](https://support.zabbix.com) You can also provide feedback, discuss the template, or ask for help at [`ZABBIX forums`](https://www.zabbix.com/forum/zabbix-suggestions-and-feedback)