Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/redis?at=release/7.4
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.4 and higher.
Tested versions
This template has been tested on:
- Redis, version 3.0.6, 4.0.14, 5.0.6, 7.2.4
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Setup and configure zabbix-agent2 compiled with the Redis monitoring plugin.
Redis' default user should have permissions to run CONFIG, INFO, PING, CLIENT and SLOWLOG commands.
Or default user ACL should have @admin, @slow, @dangerous, @fast and @connection categories.
Test availability: zabbix_get -s 127.0.0.1 -k redis.ping[tcp://127.0.0.1:6379]
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 |
---|---|---|---|
Get info | Zabbix agent | redis.info["{$REDIS.CONN.URI}"] | |
Get config | Zabbix agent | redis.config["{$REDIS.CONN.URI}"] Preprocessing
|
|
Ping | Zabbix agent | redis.ping["{$REDIS.CONN.URI}"] Preprocessing
|
|
Slowlog entries per second | Zabbix agent | redis.slowlog.count["{$REDIS.CONN.URI}"] Preprocessing
|
|
Get Clients info | Dependent item | redis.clients.info_raw Preprocessing
|
|
Get CPU info | Dependent item | redis.cpu.info_raw Preprocessing
|
|
Get Keyspace info | Dependent item | redis.keyspace.info_raw Preprocessing
|
|
Get Memory info | Dependent item | redis.memory.info_raw Preprocessing
|
|
Get Persistence info | Dependent item | redis.persistence.info_raw Preprocessing
|
|
Get Replication info | Dependent item | redis.replication.info_raw Preprocessing
|
|
Get Server info | Dependent item | redis.server.info_raw Preprocessing
|
|
Get Stats info | Dependent item | redis.stats.info_raw Preprocessing
|
|
CPU sys | System CPU consumed by the Redis server |
Dependent item | redis.cpu.sys Preprocessing
|
CPU sys children | System CPU consumed by the background processes |
Dependent item | redis.cpu.sys_children Preprocessing
|
CPU user | User CPU consumed by the Redis server |
Dependent item | redis.cpu.user Preprocessing
|
CPU user children | User CPU consumed by the background processes |
Dependent item | redis.cpu.user_children Preprocessing
|
Blocked clients | The number of connections waiting on a blocking call |
Dependent item | redis.clients.blocked Preprocessing
|
Max input buffer | The biggest input buffer among current client connections |
Dependent item | redis.clients.max_input_buffer Preprocessing
|
Max output buffer | The biggest output buffer among current client connections |
Dependent item | redis.clients.max_output_buffer Preprocessing
|
Connected clients | The number of connected clients |
Dependent item | redis.clients.connected Preprocessing
|
Cluster enabled | Indicate Redis cluster is enabled |
Dependent item | redis.cluster.enabled Preprocessing
|
Memory used | Total number of bytes allocated by Redis using its allocator |
Dependent item | redis.memory.used_memory Preprocessing
|
Memory used Lua | Amount of memory used by the Lua engine |
Dependent item | redis.memory.used_memory_lua Preprocessing
|
Memory used peak | Peak memory consumed by Redis (in bytes) |
Dependent item | redis.memory.used_memory_peak Preprocessing
|
Memory used RSS | Number of bytes that Redis allocated as seen by the operating system |
Dependent item | redis.memory.used_memory_rss Preprocessing
|
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
|
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
|
AOF enabled | Flag indicating AOF logging is activated |
Dependent item | redis.persistence.aof_enabled Preprocessing
|
AOF last bgrewrite status | Status of the last AOF rewrite operation |
Dependent item | redis.persistence.aof_last_bgrewrite_status Preprocessing
|
AOF last rewrite time sec | Duration of the last AOF rewrite |
Dependent item | redis.persistence.aof_last_rewrite_time_sec Preprocessing
|
AOF last write status | Status of the last write operation to the AOF |
Dependent item | redis.persistence.aof_last_write_status Preprocessing
|
AOF rewrite in progress | Flag indicating an AOF rewrite operation is on-going |
Dependent item | redis.persistence.aof_rewrite_in_progress Preprocessing
|
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
|
Dump loading | Flag indicating if the load of a dump file is on-going |
Dependent item | redis.persistence.loading Preprocessing
|
RDB bgsave in progress | "1" if bgsave is in progress and "0" otherwise |
Dependent item | redis.persistence.rdb_bgsave_in_progress Preprocessing
|
RDB changes since last save | Number of changes since the last background save |
Dependent item | redis.persistence.rdb_changes_since_last_save Preprocessing
|
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
|
RDB last bgsave status | Status of the last RDB save operation |
Dependent item | redis.persistence.rdb_last_bgsave_status Preprocessing
|
RDB last bgsave time sec | Duration of the last bg_save operation |
Dependent item | redis.persistence.rdb_last_bgsave_time_sec Preprocessing
|
RDB last save time | Epoch-based timestamp of last successful RDB save |
Dependent item | redis.persistence.rdb_last_save_time Preprocessing
|
Connected slaves | Number of connected slaves |
Dependent item | redis.replication.connected_slaves Preprocessing
|
Replication backlog active | Flag indicating replication backlog is active |
Dependent item | redis.replication.repl_backlog_active Preprocessing
|
Replication backlog first byte offset | The master offset of the replication backlog buffer |
Dependent item | redis.replication.repl_backlog_first_byte_offset Preprocessing
|
Replication backlog history length | Amount of data in the backlog sync buffer |
Dependent item | redis.replication.repl_backlog_histlen Preprocessing
|
Replication backlog size | Total size in bytes of the replication backlog buffer |
Dependent item | redis.replication.repl_backlog_size Preprocessing
|
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
|
Master replication offset | Replication offset reported by the master |
Dependent item | redis.replication.master_repl_offset Preprocessing
|
Process id | PID of the server process |
Dependent item | redis.server.process_id Preprocessing
|
Redis mode | The server's mode ("standalone", "sentinel" or "cluster") |
Dependent item | redis.server.redis_mode Preprocessing
|
Redis version | Version of the Redis server |
Dependent item | redis.server.redis_version Preprocessing
|
TCP port | TCP/IP listen port |
Dependent item | redis.server.tcp_port Preprocessing
|
Uptime | Number of seconds since Redis server start |
Dependent item | redis.server.uptime Preprocessing
|
Evicted keys | Number of evicted keys due to maxmemory limit |
Dependent item | redis.stats.evicted_keys Preprocessing
|
Expired keys | Total number of key expiration events |
Dependent item | redis.stats.expired_keys Preprocessing
|
Instantaneous input bytes per second | The network's read rate per second in KB/sec |
Dependent item | redis.stats.instantaneous_input.rate Preprocessing
|
Instantaneous operations per sec | Number of commands processed per second |
Dependent item | redis.stats.instantaneous_ops.rate Preprocessing
|
Instantaneous output bytes per second | The network's write rate per second in KB/sec |
Dependent item | redis.stats.instantaneous_output.rate Preprocessing
|
Keyspace hits | Number of successful lookup of keys in the main dictionary |
Dependent item | redis.stats.keyspace_hits Preprocessing
|
Keyspace misses | Number of failed lookup of keys in the main dictionary |
Dependent item | redis.stats.keyspace_misses Preprocessing
|
Latest fork usec | Duration of the latest fork operation in microseconds |
Dependent item | redis.stats.latest_fork_usec Preprocessing
|
Migrate cached sockets | The number of sockets open for MIGRATE purposes |
Dependent item | redis.stats.migrate_cached_sockets Preprocessing
|
Pubsub channels | Global number of pub/sub channels with client subscriptions |
Dependent item | redis.stats.pubsub_channels Preprocessing
|
Pubsub patterns | Global number of pub/sub pattern with client subscriptions |
Dependent item | redis.stats.pubsub_patterns Preprocessing
|
Rejected connections | Number of connections rejected because of maxclients limit |
Dependent item | redis.stats.rejected_connections Preprocessing
|
Sync full | The number of full resyncs with replicas |
Dependent item | redis.stats.sync_full Preprocessing
|
Sync partial err | The number of denied partial resync requests |
Dependent item | redis.stats.sync_partial_err Preprocessing
|
Sync partial ok | The number of accepted partial resync requests |
Dependent item | redis.stats.sync_partial_ok Preprocessing
|
Total commands processed | Total number of commands processed by the server |
Dependent item | redis.stats.total_commands_processed Preprocessing
|
Total connections received | Total number of connections accepted by the server |
Dependent item | redis.stats.total_connections_received Preprocessing
|
Total net input bytes | The total number of bytes read from the network |
Dependent item | redis.stats.total_net_input_bytes Preprocessing
|
Total net output bytes | The total number of bytes written to the network |
Dependent item | redis.stats.total_net_output_bytes Preprocessing
|
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. |
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: |
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". |
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 |
---|---|---|---|
AOF current size{#SINGLETON} | AOF current file size |
Dependent item | redis.persistence.aof_current_size[{#SINGLETON}] Preprocessing
|
AOF base size{#SINGLETON} | AOF file size on latest startup or rewrite |
Dependent item | redis.persistence.aof_base_size[{#SINGLETON}] Preprocessing
|
AOF pending rewrite{#SINGLETON} | Flag indicating an AOF rewrite operation will |
Dependent item | redis.persistence.aof_pending_rewrite[{#SINGLETON}] Preprocessing
|
AOF buffer length{#SINGLETON} | Size of the AOF buffer |
Dependent item | redis.persistence.aof_buffer_length[{#SINGLETON}] Preprocessing
|
AOF rewrite buffer length{#SINGLETON} | Size of the AOF rewrite buffer |
Dependent item | redis.persistence.aof_rewrite_buffer_length[{#SINGLETON}] Preprocessing
|
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
|
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 |
---|---|---|---|
Master host{#SINGLETON} | Host or IP address of the master |
Dependent item | redis.replication.master_host[{#SINGLETON}] Preprocessing
|
Master port{#SINGLETON} | Master listening TCP port |
Dependent item | redis.replication.master_port[{#SINGLETON}] Preprocessing
|
Master link status{#SINGLETON} | Status of the link (up/down) |
Dependent item | redis.replication.master_link_status[{#SINGLETON}] Preprocessing
|
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
|
Master sync in progress{#SINGLETON} | Indicate the master is syncing to the replica |
Dependent item | redis.replication.master_sync_in_progress[{#SINGLETON}] Preprocessing
|
Slave replication offset{#SINGLETON} | The replication offset of the replica instance |
Dependent item | redis.replication.slave_repl_offset[{#SINGLETON}] Preprocessing
|
Slave priority{#SINGLETON} | The priority of the instance as a candidate for failover |
Dependent item | redis.replication.slave_priority[{#SINGLETON}] Preprocessing
|
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 |
---|---|---|---|
Number of running processes | Zabbix agent | proc.num["{$REDIS.PROCESS_NAME}{#SINGLETON}"] | |
Memory usage (rss) | Resident set size memory used by process in bytes. |
Zabbix agent | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,rss] |
Memory usage (vsize) | Virtual memory size used by process in bytes. |
Zabbix agent | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,vsize] |
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 |
---|---|---|---|
Executable path{#SINGLETON} | The path to the server's executable |
Dependent item | redis.server.executable[{#SINGLETON}] Preprocessing
|
Memory used peak %{#SINGLETON} | The percentage of used_memory_peak out of used_memory |
Dependent item | redis.memory.used_memory_peak_perc[{#SINGLETON}] Preprocessing
|
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
|
Memory used startup{#SINGLETON} | Initial amount of memory consumed by Redis at startup in bytes |
Dependent item | redis.memory.used_memory_startup[{#SINGLETON}] Preprocessing
|
Memory used dataset{#SINGLETON} | The size in bytes of the dataset |
Dependent item | redis.memory.used_memory_dataset[{#SINGLETON}] Preprocessing
|
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
|
Total system memory{#SINGLETON} | The total amount of memory that the Redis host has |
Dependent item | redis.memory.total_system_memory[{#SINGLETON}] Preprocessing
|
Max memory{#SINGLETON} | Maximum amount of memory allocated to the Redisdb system |
Dependent item | redis.memory.maxmemory[{#SINGLETON}] Preprocessing
|
Max memory policy{#SINGLETON} | The value of the maxmemory-policy configuration directive |
Dependent item | redis.memory.maxmemory_policy[{#SINGLETON}] Preprocessing
|
Active defrag running{#SINGLETON} | Flag indicating if active defragmentation is active |
Dependent item | redis.memory.active_defrag_running[{#SINGLETON}] Preprocessing
|
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
|
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
|
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
|
Expired stale %{#SINGLETON} | Dependent item | redis.stats.expired_stale_perc[{#SINGLETON}] Preprocessing
|
|
Expired time cap reached count{#SINGLETON} | Dependent item | redis.stats.expired_time_cap_reached_count[{#SINGLETON}] Preprocessing
|
|
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
|
Active defrag hits{#SINGLETON} | Number of value reallocations performed by active the defragmentation process |
Dependent item | redis.stats.active_defrag_hits[{#SINGLETON}] Preprocessing
|
Active defrag misses{#SINGLETON} | Number of aborted value reallocations started by the active defragmentation process |
Dependent item | redis.stats.active_defrag_misses[{#SINGLETON}] Preprocessing
|
Active defrag key hits{#SINGLETON} | Number of keys that were actively defragmented |
Dependent item | redis.stats.active_defrag_key_hits[{#SINGLETON}] Preprocessing
|
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
|
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 |
---|---|---|---|
Allocator active{#SINGLETON} | Dependent item | redis.memory.allocator_active[{#SINGLETON}] Preprocessing
|
|
Allocator allocated{#SINGLETON} | Dependent item | redis.memory.allocator_allocated[{#SINGLETON}] Preprocessing
|
|
Allocator resident{#SINGLETON} | Dependent item | redis.memory.allocator_resident[{#SINGLETON}] Preprocessing
|
|
Memory used scripts{#SINGLETON} | Dependent item | redis.memory.used_memory_scripts[{#SINGLETON}] Preprocessing
|
|
Memory number of cached scripts{#SINGLETON} | Dependent item | redis.memory.number_of_cached_scripts[{#SINGLETON}] Preprocessing
|
|
Allocator fragmentation bytes{#SINGLETON} | Dependent item | redis.memory.allocator_frag_bytes[{#SINGLETON}] Preprocessing
|
|
Allocator fragmentation ratio{#SINGLETON} | Dependent item | redis.memory.allocator_frag_ratio[{#SINGLETON}] Preprocessing
|
|
Allocator RSS bytes{#SINGLETON} | Dependent item | redis.memory.allocator_rss_bytes[{#SINGLETON}] Preprocessing
|
|
Allocator RSS ratio{#SINGLETON} | Dependent item | redis.memory.allocator_rss_ratio[{#SINGLETON}] Preprocessing
|
|
Memory RSS overhead bytes{#SINGLETON} | Dependent item | redis.memory.rss_overhead_bytes[{#SINGLETON}] Preprocessing
|
|
Memory RSS overhead ratio{#SINGLETON} | Dependent item | redis.memory.rss_overhead_ratio[{#SINGLETON}] Preprocessing
|
|
Memory fragmentation bytes{#SINGLETON} | Dependent item | redis.memory.fragmentation_bytes[{#SINGLETON}] Preprocessing
|
|
Memory not counted for evict{#SINGLETON} | Dependent item | redis.memory.not_counted_for_evict[{#SINGLETON}] Preprocessing
|
|
Memory replication backlog{#SINGLETON} | Dependent item | redis.memory.replication_backlog[{#SINGLETON}] Preprocessing
|
|
Memory clients normal{#SINGLETON} | Dependent item | redis.memory.mem_clients_normal[{#SINGLETON}] Preprocessing
|
|
Memory clients slaves{#SINGLETON} | Dependent item | redis.memory.mem_clients_slaves[{#SINGLETON}] Preprocessing
|
|
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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/redis?at=release/7.2
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.2 and higher.
Tested versions
This template has been tested on:
- Redis, version 3.0.6, 4.0.14, 5.0.6, 7.2.4
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Setup and configure zabbix-agent2 compiled with the Redis monitoring plugin.
Redis' default user should have permissions to run CONFIG, INFO, PING, CLIENT and SLOWLOG commands.
Or default user ACL should have @admin, @slow, @dangerous, @fast and @connection categories.
Test availability: zabbix_get -s 127.0.0.1 -k redis.ping[tcp://127.0.0.1:6379]
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 |
---|---|---|---|
Get info | Zabbix agent | redis.info["{$REDIS.CONN.URI}"] | |
Get config | Zabbix agent | redis.config["{$REDIS.CONN.URI}"] Preprocessing
|
|
Ping | Zabbix agent | redis.ping["{$REDIS.CONN.URI}"] Preprocessing
|
|
Slowlog entries per second | Zabbix agent | redis.slowlog.count["{$REDIS.CONN.URI}"] Preprocessing
|
|
Get Clients info | Dependent item | redis.clients.info_raw Preprocessing
|
|
Get CPU info | Dependent item | redis.cpu.info_raw Preprocessing
|
|
Get Keyspace info | Dependent item | redis.keyspace.info_raw Preprocessing
|
|
Get Memory info | Dependent item | redis.memory.info_raw Preprocessing
|
|
Get Persistence info | Dependent item | redis.persistence.info_raw Preprocessing
|
|
Get Replication info | Dependent item | redis.replication.info_raw Preprocessing
|
|
Get Server info | Dependent item | redis.server.info_raw Preprocessing
|
|
Get Stats info | Dependent item | redis.stats.info_raw Preprocessing
|
|
CPU sys | System CPU consumed by the Redis server |
Dependent item | redis.cpu.sys Preprocessing
|
CPU sys children | System CPU consumed by the background processes |
Dependent item | redis.cpu.sys_children Preprocessing
|
CPU user | User CPU consumed by the Redis server |
Dependent item | redis.cpu.user Preprocessing
|
CPU user children | User CPU consumed by the background processes |
Dependent item | redis.cpu.user_children Preprocessing
|
Blocked clients | The number of connections waiting on a blocking call |
Dependent item | redis.clients.blocked Preprocessing
|
Max input buffer | The biggest input buffer among current client connections |
Dependent item | redis.clients.max_input_buffer Preprocessing
|
Max output buffer | The biggest output buffer among current client connections |
Dependent item | redis.clients.max_output_buffer Preprocessing
|
Connected clients | The number of connected clients |
Dependent item | redis.clients.connected Preprocessing
|
Cluster enabled | Indicate Redis cluster is enabled |
Dependent item | redis.cluster.enabled Preprocessing
|
Memory used | Total number of bytes allocated by Redis using its allocator |
Dependent item | redis.memory.used_memory Preprocessing
|
Memory used Lua | Amount of memory used by the Lua engine |
Dependent item | redis.memory.used_memory_lua Preprocessing
|
Memory used peak | Peak memory consumed by Redis (in bytes) |
Dependent item | redis.memory.used_memory_peak Preprocessing
|
Memory used RSS | Number of bytes that Redis allocated as seen by the operating system |
Dependent item | redis.memory.used_memory_rss Preprocessing
|
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
|
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
|
AOF enabled | Flag indicating AOF logging is activated |
Dependent item | redis.persistence.aof_enabled Preprocessing
|
AOF last bgrewrite status | Status of the last AOF rewrite operation |
Dependent item | redis.persistence.aof_last_bgrewrite_status Preprocessing
|
AOF last rewrite time sec | Duration of the last AOF rewrite |
Dependent item | redis.persistence.aof_last_rewrite_time_sec Preprocessing
|
AOF last write status | Status of the last write operation to the AOF |
Dependent item | redis.persistence.aof_last_write_status Preprocessing
|
AOF rewrite in progress | Flag indicating an AOF rewrite operation is on-going |
Dependent item | redis.persistence.aof_rewrite_in_progress Preprocessing
|
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
|
Dump loading | Flag indicating if the load of a dump file is on-going |
Dependent item | redis.persistence.loading Preprocessing
|
RDB bgsave in progress | "1" if bgsave is in progress and "0" otherwise |
Dependent item | redis.persistence.rdb_bgsave_in_progress Preprocessing
|
RDB changes since last save | Number of changes since the last background save |
Dependent item | redis.persistence.rdb_changes_since_last_save Preprocessing
|
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
|
RDB last bgsave status | Status of the last RDB save operation |
Dependent item | redis.persistence.rdb_last_bgsave_status Preprocessing
|
RDB last bgsave time sec | Duration of the last bg_save operation |
Dependent item | redis.persistence.rdb_last_bgsave_time_sec Preprocessing
|
RDB last save time | Epoch-based timestamp of last successful RDB save |
Dependent item | redis.persistence.rdb_last_save_time Preprocessing
|
Connected slaves | Number of connected slaves |
Dependent item | redis.replication.connected_slaves Preprocessing
|
Replication backlog active | Flag indicating replication backlog is active |
Dependent item | redis.replication.repl_backlog_active Preprocessing
|
Replication backlog first byte offset | The master offset of the replication backlog buffer |
Dependent item | redis.replication.repl_backlog_first_byte_offset Preprocessing
|
Replication backlog history length | Amount of data in the backlog sync buffer |
Dependent item | redis.replication.repl_backlog_histlen Preprocessing
|
Replication backlog size | Total size in bytes of the replication backlog buffer |
Dependent item | redis.replication.repl_backlog_size Preprocessing
|
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
|
Master replication offset | Replication offset reported by the master |
Dependent item | redis.replication.master_repl_offset Preprocessing
|
Process id | PID of the server process |
Dependent item | redis.server.process_id Preprocessing
|
Redis mode | The server's mode ("standalone", "sentinel" or "cluster") |
Dependent item | redis.server.redis_mode Preprocessing
|
Redis version | Version of the Redis server |
Dependent item | redis.server.redis_version Preprocessing
|
TCP port | TCP/IP listen port |
Dependent item | redis.server.tcp_port Preprocessing
|
Uptime | Number of seconds since Redis server start |
Dependent item | redis.server.uptime Preprocessing
|
Evicted keys | Number of evicted keys due to maxmemory limit |
Dependent item | redis.stats.evicted_keys Preprocessing
|
Expired keys | Total number of key expiration events |
Dependent item | redis.stats.expired_keys Preprocessing
|
Instantaneous input bytes per second | The network's read rate per second in KB/sec |
Dependent item | redis.stats.instantaneous_input.rate Preprocessing
|
Instantaneous operations per sec | Number of commands processed per second |
Dependent item | redis.stats.instantaneous_ops.rate Preprocessing
|
Instantaneous output bytes per second | The network's write rate per second in KB/sec |
Dependent item | redis.stats.instantaneous_output.rate Preprocessing
|
Keyspace hits | Number of successful lookup of keys in the main dictionary |
Dependent item | redis.stats.keyspace_hits Preprocessing
|
Keyspace misses | Number of failed lookup of keys in the main dictionary |
Dependent item | redis.stats.keyspace_misses Preprocessing
|
Latest fork usec | Duration of the latest fork operation in microseconds |
Dependent item | redis.stats.latest_fork_usec Preprocessing
|
Migrate cached sockets | The number of sockets open for MIGRATE purposes |
Dependent item | redis.stats.migrate_cached_sockets Preprocessing
|
Pubsub channels | Global number of pub/sub channels with client subscriptions |
Dependent item | redis.stats.pubsub_channels Preprocessing
|
Pubsub patterns | Global number of pub/sub pattern with client subscriptions |
Dependent item | redis.stats.pubsub_patterns Preprocessing
|
Rejected connections | Number of connections rejected because of maxclients limit |
Dependent item | redis.stats.rejected_connections Preprocessing
|
Sync full | The number of full resyncs with replicas |
Dependent item | redis.stats.sync_full Preprocessing
|
Sync partial err | The number of denied partial resync requests |
Dependent item | redis.stats.sync_partial_err Preprocessing
|
Sync partial ok | The number of accepted partial resync requests |
Dependent item | redis.stats.sync_partial_ok Preprocessing
|
Total commands processed | Total number of commands processed by the server |
Dependent item | redis.stats.total_commands_processed Preprocessing
|
Total connections received | Total number of connections accepted by the server |
Dependent item | redis.stats.total_connections_received Preprocessing
|
Total net input bytes | The total number of bytes read from the network |
Dependent item | redis.stats.total_net_input_bytes Preprocessing
|
Total net output bytes | The total number of bytes written to the network |
Dependent item | redis.stats.total_net_output_bytes Preprocessing
|
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. |
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: |
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". |
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 |
---|---|---|---|
AOF current size{#SINGLETON} | AOF current file size |
Dependent item | redis.persistence.aof_current_size[{#SINGLETON}] Preprocessing
|
AOF base size{#SINGLETON} | AOF file size on latest startup or rewrite |
Dependent item | redis.persistence.aof_base_size[{#SINGLETON}] Preprocessing
|
AOF pending rewrite{#SINGLETON} | Flag indicating an AOF rewrite operation will |
Dependent item | redis.persistence.aof_pending_rewrite[{#SINGLETON}] Preprocessing
|
AOF buffer length{#SINGLETON} | Size of the AOF buffer |
Dependent item | redis.persistence.aof_buffer_length[{#SINGLETON}] Preprocessing
|
AOF rewrite buffer length{#SINGLETON} | Size of the AOF rewrite buffer |
Dependent item | redis.persistence.aof_rewrite_buffer_length[{#SINGLETON}] Preprocessing
|
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
|
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 |
---|---|---|---|
Master host{#SINGLETON} | Host or IP address of the master |
Dependent item | redis.replication.master_host[{#SINGLETON}] Preprocessing
|
Master port{#SINGLETON} | Master listening TCP port |
Dependent item | redis.replication.master_port[{#SINGLETON}] Preprocessing
|
Master link status{#SINGLETON} | Status of the link (up/down) |
Dependent item | redis.replication.master_link_status[{#SINGLETON}] Preprocessing
|
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
|
Master sync in progress{#SINGLETON} | Indicate the master is syncing to the replica |
Dependent item | redis.replication.master_sync_in_progress[{#SINGLETON}] Preprocessing
|
Slave replication offset{#SINGLETON} | The replication offset of the replica instance |
Dependent item | redis.replication.slave_repl_offset[{#SINGLETON}] Preprocessing
|
Slave priority{#SINGLETON} | The priority of the instance as a candidate for failover |
Dependent item | redis.replication.slave_priority[{#SINGLETON}] Preprocessing
|
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 |
---|---|---|---|
Number of running processes | Zabbix agent | proc.num["{$REDIS.PROCESS_NAME}{#SINGLETON}"] | |
Memory usage (rss) | Resident set size memory used by process in bytes. |
Zabbix agent | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,rss] |
Memory usage (vsize) | Virtual memory size used by process in bytes. |
Zabbix agent | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,vsize] |
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 |
---|---|---|---|
Executable path{#SINGLETON} | The path to the server's executable |
Dependent item | redis.server.executable[{#SINGLETON}] Preprocessing
|
Memory used peak %{#SINGLETON} | The percentage of used_memory_peak out of used_memory |
Dependent item | redis.memory.used_memory_peak_perc[{#SINGLETON}] Preprocessing
|
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
|
Memory used startup{#SINGLETON} | Initial amount of memory consumed by Redis at startup in bytes |
Dependent item | redis.memory.used_memory_startup[{#SINGLETON}] Preprocessing
|
Memory used dataset{#SINGLETON} | The size in bytes of the dataset |
Dependent item | redis.memory.used_memory_dataset[{#SINGLETON}] Preprocessing
|
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
|
Total system memory{#SINGLETON} | The total amount of memory that the Redis host has |
Dependent item | redis.memory.total_system_memory[{#SINGLETON}] Preprocessing
|
Max memory{#SINGLETON} | Maximum amount of memory allocated to the Redisdb system |
Dependent item | redis.memory.maxmemory[{#SINGLETON}] Preprocessing
|
Max memory policy{#SINGLETON} | The value of the maxmemory-policy configuration directive |
Dependent item | redis.memory.maxmemory_policy[{#SINGLETON}] Preprocessing
|
Active defrag running{#SINGLETON} | Flag indicating if active defragmentation is active |
Dependent item | redis.memory.active_defrag_running[{#SINGLETON}] Preprocessing
|
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
|
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
|
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
|
Expired stale %{#SINGLETON} | Dependent item | redis.stats.expired_stale_perc[{#SINGLETON}] Preprocessing
|
|
Expired time cap reached count{#SINGLETON} | Dependent item | redis.stats.expired_time_cap_reached_count[{#SINGLETON}] Preprocessing
|
|
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
|
Active defrag hits{#SINGLETON} | Number of value reallocations performed by active the defragmentation process |
Dependent item | redis.stats.active_defrag_hits[{#SINGLETON}] Preprocessing
|
Active defrag misses{#SINGLETON} | Number of aborted value reallocations started by the active defragmentation process |
Dependent item | redis.stats.active_defrag_misses[{#SINGLETON}] Preprocessing
|
Active defrag key hits{#SINGLETON} | Number of keys that were actively defragmented |
Dependent item | redis.stats.active_defrag_key_hits[{#SINGLETON}] Preprocessing
|
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
|
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 |
---|---|---|---|
Allocator active{#SINGLETON} | Dependent item | redis.memory.allocator_active[{#SINGLETON}] Preprocessing
|
|
Allocator allocated{#SINGLETON} | Dependent item | redis.memory.allocator_allocated[{#SINGLETON}] Preprocessing
|
|
Allocator resident{#SINGLETON} | Dependent item | redis.memory.allocator_resident[{#SINGLETON}] Preprocessing
|
|
Memory used scripts{#SINGLETON} | Dependent item | redis.memory.used_memory_scripts[{#SINGLETON}] Preprocessing
|
|
Memory number of cached scripts{#SINGLETON} | Dependent item | redis.memory.number_of_cached_scripts[{#SINGLETON}] Preprocessing
|
|
Allocator fragmentation bytes{#SINGLETON} | Dependent item | redis.memory.allocator_frag_bytes[{#SINGLETON}] Preprocessing
|
|
Allocator fragmentation ratio{#SINGLETON} | Dependent item | redis.memory.allocator_frag_ratio[{#SINGLETON}] Preprocessing
|
|
Allocator RSS bytes{#SINGLETON} | Dependent item | redis.memory.allocator_rss_bytes[{#SINGLETON}] Preprocessing
|
|
Allocator RSS ratio{#SINGLETON} | Dependent item | redis.memory.allocator_rss_ratio[{#SINGLETON}] Preprocessing
|
|
Memory RSS overhead bytes{#SINGLETON} | Dependent item | redis.memory.rss_overhead_bytes[{#SINGLETON}] Preprocessing
|
|
Memory RSS overhead ratio{#SINGLETON} | Dependent item | redis.memory.rss_overhead_ratio[{#SINGLETON}] Preprocessing
|
|
Memory fragmentation bytes{#SINGLETON} | Dependent item | redis.memory.fragmentation_bytes[{#SINGLETON}] Preprocessing
|
|
Memory not counted for evict{#SINGLETON} | Dependent item | redis.memory.not_counted_for_evict[{#SINGLETON}] Preprocessing
|
|
Memory replication backlog{#SINGLETON} | Dependent item | redis.memory.replication_backlog[{#SINGLETON}] Preprocessing
|
|
Memory clients normal{#SINGLETON} | Dependent item | redis.memory.mem_clients_normal[{#SINGLETON}] Preprocessing
|
|
Memory clients slaves{#SINGLETON} | Dependent item | redis.memory.mem_clients_slaves[{#SINGLETON}] Preprocessing
|
|
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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/redis?at=release/7.0
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.2.4
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Setup and configure zabbix-agent2 compiled with the Redis monitoring plugin.
Redis' default user should have permissions to run CONFIG, INFO, PING, CLIENT and SLOWLOG commands.
Or default user ACL should have @admin, @slow, @dangerous, @fast and @connection categories.
Test availability: zabbix_get -s 127.0.0.1 -k redis.ping[tcp://127.0.0.1:6379]
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 |
---|---|---|---|
Get info | Zabbix agent | redis.info["{$REDIS.CONN.URI}"] | |
Get config | Zabbix agent | redis.config["{$REDIS.CONN.URI}"] Preprocessing
|
|
Ping | Zabbix agent | redis.ping["{$REDIS.CONN.URI}"] Preprocessing
|
|
Slowlog entries per second | Zabbix agent | redis.slowlog.count["{$REDIS.CONN.URI}"] Preprocessing
|
|
Get Clients info | Dependent item | redis.clients.info_raw Preprocessing
|
|
Get CPU info | Dependent item | redis.cpu.info_raw Preprocessing
|
|
Get Keyspace info | Dependent item | redis.keyspace.info_raw Preprocessing
|
|
Get Memory info | Dependent item | redis.memory.info_raw Preprocessing
|
|
Get Persistence info | Dependent item | redis.persistence.info_raw Preprocessing
|
|
Get Replication info | Dependent item | redis.replication.info_raw Preprocessing
|
|
Get Server info | Dependent item | redis.server.info_raw Preprocessing
|
|
Get Stats info | Dependent item | redis.stats.info_raw Preprocessing
|
|
CPU sys | System CPU consumed by the Redis server |
Dependent item | redis.cpu.sys Preprocessing
|
CPU sys children | System CPU consumed by the background processes |
Dependent item | redis.cpu.sys_children Preprocessing
|
CPU user | User CPU consumed by the Redis server |
Dependent item | redis.cpu.user Preprocessing
|
CPU user children | User CPU consumed by the background processes |
Dependent item | redis.cpu.user_children Preprocessing
|
Blocked clients | The number of connections waiting on a blocking call |
Dependent item | redis.clients.blocked Preprocessing
|
Max input buffer | The biggest input buffer among current client connections |
Dependent item | redis.clients.max_input_buffer Preprocessing
|
Max output buffer | The biggest output buffer among current client connections |
Dependent item | redis.clients.max_output_buffer Preprocessing
|
Connected clients | The number of connected clients |
Dependent item | redis.clients.connected Preprocessing
|
Cluster enabled | Indicate Redis cluster is enabled |
Dependent item | redis.cluster.enabled Preprocessing
|
Memory used | Total number of bytes allocated by Redis using its allocator |
Dependent item | redis.memory.used_memory Preprocessing
|
Memory used Lua | Amount of memory used by the Lua engine |
Dependent item | redis.memory.used_memory_lua Preprocessing
|
Memory used peak | Peak memory consumed by Redis (in bytes) |
Dependent item | redis.memory.used_memory_peak Preprocessing
|
Memory used RSS | Number of bytes that Redis allocated as seen by the operating system |
Dependent item | redis.memory.used_memory_rss Preprocessing
|
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
|
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
|
AOF enabled | Flag indicating AOF logging is activated |
Dependent item | redis.persistence.aof_enabled Preprocessing
|
AOF last bgrewrite status | Status of the last AOF rewrite operation |
Dependent item | redis.persistence.aof_last_bgrewrite_status Preprocessing
|
AOF last rewrite time sec | Duration of the last AOF rewrite |
Dependent item | redis.persistence.aof_last_rewrite_time_sec Preprocessing
|
AOF last write status | Status of the last write operation to the AOF |
Dependent item | redis.persistence.aof_last_write_status Preprocessing
|
AOF rewrite in progress | Flag indicating an AOF rewrite operation is on-going |
Dependent item | redis.persistence.aof_rewrite_in_progress Preprocessing
|
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
|
Dump loading | Flag indicating if the load of a dump file is on-going |
Dependent item | redis.persistence.loading Preprocessing
|
RDB bgsave in progress | "1" if bgsave is in progress and "0" otherwise |
Dependent item | redis.persistence.rdb_bgsave_in_progress Preprocessing
|
RDB changes since last save | Number of changes since the last background save |
Dependent item | redis.persistence.rdb_changes_since_last_save Preprocessing
|
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
|
RDB last bgsave status | Status of the last RDB save operation |
Dependent item | redis.persistence.rdb_last_bgsave_status Preprocessing
|
RDB last bgsave time sec | Duration of the last bg_save operation |
Dependent item | redis.persistence.rdb_last_bgsave_time_sec Preprocessing
|
RDB last save time | Epoch-based timestamp of last successful RDB save |
Dependent item | redis.persistence.rdb_last_save_time Preprocessing
|
Connected slaves | Number of connected slaves |
Dependent item | redis.replication.connected_slaves Preprocessing
|
Replication backlog active | Flag indicating replication backlog is active |
Dependent item | redis.replication.repl_backlog_active Preprocessing
|
Replication backlog first byte offset | The master offset of the replication backlog buffer |
Dependent item | redis.replication.repl_backlog_first_byte_offset Preprocessing
|
Replication backlog history length | Amount of data in the backlog sync buffer |
Dependent item | redis.replication.repl_backlog_histlen Preprocessing
|
Replication backlog size | Total size in bytes of the replication backlog buffer |
Dependent item | redis.replication.repl_backlog_size Preprocessing
|
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
|
Master replication offset | Replication offset reported by the master |
Dependent item | redis.replication.master_repl_offset Preprocessing
|
Process id | PID of the server process |
Dependent item | redis.server.process_id Preprocessing
|
Redis mode | The server's mode ("standalone", "sentinel" or "cluster") |
Dependent item | redis.server.redis_mode Preprocessing
|
Redis version | Version of the Redis server |
Dependent item | redis.server.redis_version Preprocessing
|
TCP port | TCP/IP listen port |
Dependent item | redis.server.tcp_port Preprocessing
|
Uptime | Number of seconds since Redis server start |
Dependent item | redis.server.uptime Preprocessing
|
Evicted keys | Number of evicted keys due to maxmemory limit |
Dependent item | redis.stats.evicted_keys Preprocessing
|
Expired keys | Total number of key expiration events |
Dependent item | redis.stats.expired_keys Preprocessing
|
Instantaneous input bytes per second | The network's read rate per second in KB/sec |
Dependent item | redis.stats.instantaneous_input.rate Preprocessing
|
Instantaneous operations per sec | Number of commands processed per second |
Dependent item | redis.stats.instantaneous_ops.rate Preprocessing
|
Instantaneous output bytes per second | The network's write rate per second in KB/sec |
Dependent item | redis.stats.instantaneous_output.rate Preprocessing
|
Keyspace hits | Number of successful lookup of keys in the main dictionary |
Dependent item | redis.stats.keyspace_hits Preprocessing
|
Keyspace misses | Number of failed lookup of keys in the main dictionary |
Dependent item | redis.stats.keyspace_misses Preprocessing
|
Latest fork usec | Duration of the latest fork operation in microseconds |
Dependent item | redis.stats.latest_fork_usec Preprocessing
|
Migrate cached sockets | The number of sockets open for MIGRATE purposes |
Dependent item | redis.stats.migrate_cached_sockets Preprocessing
|
Pubsub channels | Global number of pub/sub channels with client subscriptions |
Dependent item | redis.stats.pubsub_channels Preprocessing
|
Pubsub patterns | Global number of pub/sub pattern with client subscriptions |
Dependent item | redis.stats.pubsub_patterns Preprocessing
|
Rejected connections | Number of connections rejected because of maxclients limit |
Dependent item | redis.stats.rejected_connections Preprocessing
|
Sync full | The number of full resyncs with replicas |
Dependent item | redis.stats.sync_full Preprocessing
|
Sync partial err | The number of denied partial resync requests |
Dependent item | redis.stats.sync_partial_err Preprocessing
|
Sync partial ok | The number of accepted partial resync requests |
Dependent item | redis.stats.sync_partial_ok Preprocessing
|
Total commands processed | Total number of commands processed by the server |
Dependent item | redis.stats.total_commands_processed Preprocessing
|
Total connections received | Total number of connections accepted by the server |
Dependent item | redis.stats.total_connections_received Preprocessing
|
Total net input bytes | The total number of bytes read from the network |
Dependent item | redis.stats.total_net_input_bytes Preprocessing
|
Total net output bytes | The total number of bytes written to the network |
Dependent item | redis.stats.total_net_output_bytes Preprocessing
|
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. |
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: |
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". |
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 |
---|---|---|---|
AOF current size{#SINGLETON} | AOF current file size |
Dependent item | redis.persistence.aof_current_size[{#SINGLETON}] Preprocessing
|
AOF base size{#SINGLETON} | AOF file size on latest startup or rewrite |
Dependent item | redis.persistence.aof_base_size[{#SINGLETON}] Preprocessing
|
AOF pending rewrite{#SINGLETON} | Flag indicating an AOF rewrite operation will |
Dependent item | redis.persistence.aof_pending_rewrite[{#SINGLETON}] Preprocessing
|
AOF buffer length{#SINGLETON} | Size of the AOF buffer |
Dependent item | redis.persistence.aof_buffer_length[{#SINGLETON}] Preprocessing
|
AOF rewrite buffer length{#SINGLETON} | Size of the AOF rewrite buffer |
Dependent item | redis.persistence.aof_rewrite_buffer_length[{#SINGLETON}] Preprocessing
|
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
|
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 |
---|---|---|---|
Master host{#SINGLETON} | Host or IP address of the master |
Dependent item | redis.replication.master_host[{#SINGLETON}] Preprocessing
|
Master port{#SINGLETON} | Master listening TCP port |
Dependent item | redis.replication.master_port[{#SINGLETON}] Preprocessing
|
Master link status{#SINGLETON} | Status of the link (up/down) |
Dependent item | redis.replication.master_link_status[{#SINGLETON}] Preprocessing
|
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
|
Master sync in progress{#SINGLETON} | Indicate the master is syncing to the replica |
Dependent item | redis.replication.master_sync_in_progress[{#SINGLETON}] Preprocessing
|
Slave replication offset{#SINGLETON} | The replication offset of the replica instance |
Dependent item | redis.replication.slave_repl_offset[{#SINGLETON}] Preprocessing
|
Slave priority{#SINGLETON} | The priority of the instance as a candidate for failover |
Dependent item | redis.replication.slave_priority[{#SINGLETON}] Preprocessing
|
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 |
---|---|---|---|
Number of running processes | Zabbix agent | proc.num["{$REDIS.PROCESS_NAME}{#SINGLETON}"] | |
Memory usage (rss) | Resident set size memory used by process in bytes. |
Zabbix agent | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,rss] |
Memory usage (vsize) | Virtual memory size used by process in bytes. |
Zabbix agent | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,vsize] |
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 |
---|---|---|---|
Executable path{#SINGLETON} | The path to the server's executable |
Dependent item | redis.server.executable[{#SINGLETON}] Preprocessing
|
Memory used peak %{#SINGLETON} | The percentage of used_memory_peak out of used_memory |
Dependent item | redis.memory.used_memory_peak_perc[{#SINGLETON}] Preprocessing
|
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
|
Memory used startup{#SINGLETON} | Initial amount of memory consumed by Redis at startup in bytes |
Dependent item | redis.memory.used_memory_startup[{#SINGLETON}] Preprocessing
|
Memory used dataset{#SINGLETON} | The size in bytes of the dataset |
Dependent item | redis.memory.used_memory_dataset[{#SINGLETON}] Preprocessing
|
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
|
Total system memory{#SINGLETON} | The total amount of memory that the Redis host has |
Dependent item | redis.memory.total_system_memory[{#SINGLETON}] Preprocessing
|
Max memory{#SINGLETON} | Maximum amount of memory allocated to the Redisdb system |
Dependent item | redis.memory.maxmemory[{#SINGLETON}] Preprocessing
|
Max memory policy{#SINGLETON} | The value of the maxmemory-policy configuration directive |
Dependent item | redis.memory.maxmemory_policy[{#SINGLETON}] Preprocessing
|
Active defrag running{#SINGLETON} | Flag indicating if active defragmentation is active |
Dependent item | redis.memory.active_defrag_running[{#SINGLETON}] Preprocessing
|
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
|
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
|
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
|
Expired stale %{#SINGLETON} | Dependent item | redis.stats.expired_stale_perc[{#SINGLETON}] Preprocessing
|
|
Expired time cap reached count{#SINGLETON} | Dependent item | redis.stats.expired_time_cap_reached_count[{#SINGLETON}] Preprocessing
|
|
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
|
Active defrag hits{#SINGLETON} | Number of value reallocations performed by active the defragmentation process |
Dependent item | redis.stats.active_defrag_hits[{#SINGLETON}] Preprocessing
|
Active defrag misses{#SINGLETON} | Number of aborted value reallocations started by the active defragmentation process |
Dependent item | redis.stats.active_defrag_misses[{#SINGLETON}] Preprocessing
|
Active defrag key hits{#SINGLETON} | Number of keys that were actively defragmented |
Dependent item | redis.stats.active_defrag_key_hits[{#SINGLETON}] Preprocessing
|
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
|
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 |
---|---|---|---|
Allocator active{#SINGLETON} | Dependent item | redis.memory.allocator_active[{#SINGLETON}] Preprocessing
|
|
Allocator allocated{#SINGLETON} | Dependent item | redis.memory.allocator_allocated[{#SINGLETON}] Preprocessing
|
|
Allocator resident{#SINGLETON} | Dependent item | redis.memory.allocator_resident[{#SINGLETON}] Preprocessing
|
|
Memory used scripts{#SINGLETON} | Dependent item | redis.memory.used_memory_scripts[{#SINGLETON}] Preprocessing
|
|
Memory number of cached scripts{#SINGLETON} | Dependent item | redis.memory.number_of_cached_scripts[{#SINGLETON}] Preprocessing
|
|
Allocator fragmentation bytes{#SINGLETON} | Dependent item | redis.memory.allocator_frag_bytes[{#SINGLETON}] Preprocessing
|
|
Allocator fragmentation ratio{#SINGLETON} | Dependent item | redis.memory.allocator_frag_ratio[{#SINGLETON}] Preprocessing
|
|
Allocator RSS bytes{#SINGLETON} | Dependent item | redis.memory.allocator_rss_bytes[{#SINGLETON}] Preprocessing
|
|
Allocator RSS ratio{#SINGLETON} | Dependent item | redis.memory.allocator_rss_ratio[{#SINGLETON}] Preprocessing
|
|
Memory RSS overhead bytes{#SINGLETON} | Dependent item | redis.memory.rss_overhead_bytes[{#SINGLETON}] Preprocessing
|
|
Memory RSS overhead ratio{#SINGLETON} | Dependent item | redis.memory.rss_overhead_ratio[{#SINGLETON}] Preprocessing
|
|
Memory fragmentation bytes{#SINGLETON} | Dependent item | redis.memory.fragmentation_bytes[{#SINGLETON}] Preprocessing
|
|
Memory not counted for evict{#SINGLETON} | Dependent item | redis.memory.not_counted_for_evict[{#SINGLETON}] Preprocessing
|
|
Memory replication backlog{#SINGLETON} | Dependent item | redis.memory.replication_backlog[{#SINGLETON}] Preprocessing
|
|
Memory clients normal{#SINGLETON} | Dependent item | redis.memory.mem_clients_normal[{#SINGLETON}] Preprocessing
|
|
Memory clients slaves{#SINGLETON} | Dependent item | redis.memory.mem_clients_slaves[{#SINGLETON}] Preprocessing
|
|
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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/redis?at=release/6.4
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: 6.4 and higher.
Tested versions
This template has been tested on:
- Redis, version 3.0.6, 4.0.14, 5.0.6, 7.2.4
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Setup and configure zabbix-agent2 compiled with the Redis monitoring plugin.
Redis' default user should have permissions to run CONFIG, INFO, PING, CLIENT and SLOWLOG commands.
Or default user ACL should have @admin, @slow, @dangerous, @fast and @connection categories.
Test availability: zabbix_get -s 127.0.0.1 -k redis.ping[tcp://127.0.0.1:6379]
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 an 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. |
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: |
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". |
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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/redis?at=release/6.2
Redis by Zabbix agent 2
Overview
For Zabbix version: 6.2 and higher
The template to monitor Redis server by Zabbix that work without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
Template Redis by Zabbix agent 2
— collects metrics by polling zabbix-agent2.
This template was tested on:
- Redis, version 5.0.6, 4.0.14, 3.0.6
Setup
See Zabbix template operation for basic instructions.
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
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$REDIS.CLIENTS.PRC.MAX.WARN} | Maximum percentage of connected clients |
80 |
{$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.LLD.FILTER.DB.MATCHES} | Filter of discoverable databases |
.* |
{$REDIS.LLD.FILTER.DB.NOT_MATCHES} | Filter to exclude discovered databases |
CHANGE_IF_NEEDED |
{$REDIS.LLD.PROCESS_NAME} | Redis server process name for LLD |
redis-server |
{$REDIS.MEM.FRAG_RATIO.MAX.WARN} | Maximum memory fragmentation ratio |
1.5 |
{$REDIS.MEM.PUSED.MAX.WARN} | Maximum percentage of memory used |
90 |
{$REDIS.PROCESS_NAME} | Redis server process name |
redis-server |
{$REDIS.REPL.LAG.MAX.WARN} | Maximum replication lag in seconds |
30s |
{$REDIS.SLOWLOG.COUNT.MAX.WARN} | Maximum number of slowlog entries per second |
1 |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
AOF metrics discovery | If AOF is activated, additional metrics will be added |
DEPENDENT | redis.persistence.aof.discovery Preprocessing: - JAVASCRIPT: |
Keyspace discovery | Individual keyspace metrics |
DEPENDENT | redis.keyspace.discovery Preprocessing: - JAVASCRIPT: Filter: AND- {#DB} MATCHES_REGEX - {#DB} NOT_MATCHES_REGEX |
Process metrics discovery | Collect metrics by Zabbix agent if it exists |
ZABBIX_PASSIVE | proc.num["{$REDIS.LLD.PROCESS_NAME}"] Preprocessing: - JAVASCRIPT: |
Replication metrics discovery | If the instance is the master and the slaves are connected, additional metrics are provided |
DEPENDENT | redis.replication.master.discovery Preprocessing: - JAVASCRIPT: |
Slave metrics discovery | If the instance is a replica, additional metrics are provided |
DEPENDENT | redis.replication.slave.discovery Preprocessing: - JAVASCRIPT: |
Version 4+ metrics discovery | Additional metrics for versions 4+ |
DEPENDENT | redis.metrics.v4.discovery Preprocessing: - JSONPATH: - JAVASCRIPT: |
Version 5+ metrics discovery | Additional metrics for versions 5+ |
DEPENDENT | redis.metrics.v5.discovery Preprocessing: - JSONPATH: - JAVASCRIPT: |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Redis | Redis: Ping | ZABBIX_PASSIVE | redis.ping["{$REDIS.CONN.URI}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
|
Redis | Redis: Slowlog entries per second | ZABBIX_PASSIVE | redis.slowlog.count["{$REDIS.CONN.URI}"] Preprocessing: - CHANGE_PER_SECOND |
|
Redis | Redis: CPU sys | System CPU consumed by the Redis server |
DEPENDENT | redis.cpu.sys Preprocessing: - JSONPATH: |
Redis | Redis: CPU sys children | System CPU consumed by the background processes |
DEPENDENT | redis.cpu.sys_children Preprocessing: - JSONPATH: |
Redis | Redis: CPU user | User CPU consumed by the Redis server |
DEPENDENT | redis.cpu.user Preprocessing: - JSONPATH: |
Redis | Redis: CPU user children | User CPU consumed by the background processes |
DEPENDENT | redis.cpu.user_children Preprocessing: - JSONPATH: |
Redis | Redis: Blocked clients | The number of connections waiting on a blocking call |
DEPENDENT | redis.clients.blocked Preprocessing: - JSONPATH: |
Redis | Redis: Max input buffer | The biggest input buffer among current client connections |
DEPENDENT | redis.clients.max_input_buffer Preprocessing: - JAVASCRIPT: |
Redis | Redis: Max output buffer | The biggest output buffer among current client connections |
DEPENDENT | redis.clients.max_output_buffer Preprocessing: - JAVASCRIPT: |
Redis | Redis: Connected clients | The number of connected clients |
DEPENDENT | redis.clients.connected Preprocessing: - JSONPATH: |
Redis | Redis: Cluster enabled | Indicate Redis cluster is enabled |
DEPENDENT | redis.cluster.enabled Preprocessing: - JSONPATH: |
Redis | Redis: Memory used | Total number of bytes allocated by Redis using its allocator |
DEPENDENT | redis.memory.used_memory Preprocessing: - JSONPATH: |
Redis | Redis: Memory used Lua | Amount of memory used by the Lua engine |
DEPENDENT | redis.memory.used_memory_lua Preprocessing: - JSONPATH: |
Redis | Redis: Memory used peak | Peak memory consumed by Redis (in bytes) |
DEPENDENT | redis.memory.used_memory_peak Preprocessing: - JSONPATH: |
Redis | Redis: Memory used RSS | Number of bytes that Redis allocated as seen by the operating system |
DEPENDENT | redis.memory.used_memory_rss Preprocessing: - JSONPATH: |
Redis | 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 | redis.memory.fragmentation_ratio Preprocessing: - JSONPATH: |
Redis | Redis: AOF current rewrite time sec | Duration of the on-going AOF rewrite operation if any |
DEPENDENT | redis.persistence.aof_current_rewrite_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: AOF enabled | Flag indicating AOF logging is activated |
DEPENDENT | redis.persistence.aof_enabled Preprocessing: - JSONPATH: |
Redis | Redis: AOF last bgrewrite status | Status of the last AOF rewrite operation |
DEPENDENT | redis.persistence.aof_last_bgrewrite_status Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: AOF last rewrite time sec | Duration of the last AOF rewrite |
DEPENDENT | redis.persistence.aof_last_rewrite_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: AOF last write status | Status of the last write operation to the AOF |
DEPENDENT | redis.persistence.aof_last_write_status Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: AOF rewrite in progress | Flag indicating a AOF rewrite operation is on-going |
DEPENDENT | redis.persistence.aof_rewrite_in_progress Preprocessing: - JSONPATH: |
Redis | Redis: AOF rewrite scheduled | Flag indicating an AOF rewrite operation will be scheduled once the on-going RDB save is complete |
DEPENDENT | redis.persistence.aof_rewrite_scheduled Preprocessing: - JSONPATH: |
Redis | Redis: Dump loading | Flag indicating if the load of a dump file is on-going |
DEPENDENT | redis.persistence.loading Preprocessing: - JSONPATH: |
Redis | Redis: RDB bgsave in progress | "1" if bgsave is in progress and "0" otherwise |
DEPENDENT | redis.persistence.rdb_bgsave_in_progress Preprocessing: - JSONPATH: |
Redis | Redis: RDB changes since last save | Number of changes since the last background save |
DEPENDENT | redis.persistence.rdb_changes_since_last_save Preprocessing: - JSONPATH: |
Redis | Redis: RDB current bgsave time sec | Duration of the on-going RDB save operation if any |
DEPENDENT | redis.persistence.rdb_current_bgsave_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: RDB last bgsave status | Status of the last RDB save operation |
DEPENDENT | redis.persistence.rdb_last_bgsave_status Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: RDB last bgsave time sec | Duration of the last bg_save operation |
DEPENDENT | redis.persistence.rdb_last_bgsave_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: RDB last save time | Epoch-based timestamp of last successful RDB save |
DEPENDENT | redis.persistence.rdb_last_save_time Preprocessing: - JSONPATH: |
Redis | Redis: Connected slaves | Number of connected slaves |
DEPENDENT | redis.replication.connected_slaves Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog active | Flag indicating replication backlog is active |
DEPENDENT | redis.replication.repl_backlog_active Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog first byte offset | The master offset of the replication backlog buffer |
DEPENDENT | redis.replication.repl_backlog_first_byte_offset Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog history length | Amount of data in the backlog sync buffer |
DEPENDENT | redis.replication.repl_backlog_histlen Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog size | Total size in bytes of the replication backlog buffer |
DEPENDENT | redis.replication.repl_backlog_size Preprocessing: - JSONPATH: |
Redis | 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 | redis.replication.role Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Master replication offset | Replication offset reported by the master |
DEPENDENT | redis.replication.master_repl_offset Preprocessing: - JSONPATH: |
Redis | Redis: Process id | PID of the server process |
DEPENDENT | redis.server.process_id Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Redis mode | The server's mode ("standalone", "sentinel" or "cluster") |
DEPENDENT | redis.server.redis_mode Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Redis version | Version of the Redis server |
DEPENDENT | redis.server.redis_version Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: TCP port | TCP/IP listen port |
DEPENDENT | redis.server.tcp_port Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Uptime | Number of seconds since Redis server start |
DEPENDENT | redis.server.uptime Preprocessing: - JSONPATH: |
Redis | Redis: Evicted keys | Number of evicted keys due to maxmemory limit |
DEPENDENT | redis.stats.evicted_keys Preprocessing: - JSONPATH: |
Redis | Redis: Expired keys | Total number of key expiration events |
DEPENDENT | redis.stats.expired_keys Preprocessing: - JSONPATH: |
Redis | Redis: Instantaneous input bytes per second | The network's read rate per second in KB/sec |
DEPENDENT | redis.stats.instantaneous_input.rate Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | Redis: Instantaneous operations per sec | Number of commands processed per second |
DEPENDENT | redis.stats.instantaneous_ops.rate Preprocessing: - JSONPATH: |
Redis | Redis: Instantaneous output bytes per second | The network's write rate per second in KB/sec |
DEPENDENT | redis.stats.instantaneous_output.rate Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | Redis: Keyspace hits | Number of successful lookup of keys in the main dictionary |
DEPENDENT | redis.stats.keyspace_hits Preprocessing: - JSONPATH: |
Redis | Redis: Keyspace misses | Number of failed lookup of keys in the main dictionary |
DEPENDENT | redis.stats.keyspace_misses Preprocessing: - JSONPATH: |
Redis | Redis: Latest fork usec | Duration of the latest fork operation in microseconds |
DEPENDENT | redis.stats.latest_fork_usec Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | Redis: Migrate cached sockets | The number of sockets open for MIGRATE purposes |
DEPENDENT | redis.stats.migrate_cached_sockets Preprocessing: - JSONPATH: |
Redis | Redis: Pubsub channels | Global number of pub/sub channels with client subscriptions |
DEPENDENT | redis.stats.pubsub_channels Preprocessing: - JSONPATH: |
Redis | Redis: Pubsub patterns | Global number of pub/sub pattern with client subscriptions |
DEPENDENT | redis.stats.pubsub_patterns Preprocessing: - JSONPATH: |
Redis | Redis: Rejected connections | Number of connections rejected because of maxclients limit |
DEPENDENT | redis.stats.rejected_connections Preprocessing: - JSONPATH: |
Redis | Redis: Sync full | The number of full resyncs with replicas |
DEPENDENT | redis.stats.sync_full Preprocessing: - JSONPATH: |
Redis | Redis: Sync partial err | The number of denied partial resync requests |
DEPENDENT | redis.stats.sync_partial_err Preprocessing: - JSONPATH: |
Redis | Redis: Sync partial ok | The number of accepted partial resync requests |
DEPENDENT | redis.stats.sync_partial_ok Preprocessing: - JSONPATH: |
Redis | Redis: Total commands processed | Total number of commands processed by the server |
DEPENDENT | redis.stats.total_commands_processed Preprocessing: - JSONPATH: |
Redis | Redis: Total connections received | Total number of connections accepted by the server |
DEPENDENT | redis.stats.total_connections_received Preprocessing: - JSONPATH: |
Redis | Redis: Total net input bytes | The total number of bytes read from the network |
DEPENDENT | redis.stats.total_net_input_bytes Preprocessing: - JSONPATH: |
Redis | Redis: Total net output bytes | The total number of bytes written to the network |
DEPENDENT | redis.stats.total_net_output_bytes Preprocessing: - JSONPATH: |
Redis | 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 | redis.config.maxclients Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | DB {#DB}: Average TTL | Average TTL |
DEPENDENT | redis.db.avg_ttl["{#DB}"] Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | DB {#DB}: Expires | Number of keys with an expiration |
DEPENDENT | redis.db.expires["{#DB}"] Preprocessing: - JSONPATH: |
Redis | DB {#DB}: Keys | Total number of keys |
DEPENDENT | redis.db.keys["{#DB}"] Preprocessing: - JSONPATH: |
Redis | Redis: AOF current size{#SINGLETON} | AOF current file size |
DEPENDENT | redis.persistence.aof_current_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF base size{#SINGLETON} | AOF file size on latest startup or rewrite |
DEPENDENT | redis.persistence.aof_base_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF pending rewrite{#SINGLETON} | Flag indicating an AOF rewrite operation will |
DEPENDENT | redis.persistence.aof_pending_rewrite[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF buffer length{#SINGLETON} | Size of the AOF buffer |
DEPENDENT | redis.persistence.aof_buffer_length[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF rewrite buffer length{#SINGLETON} | Size of the AOF rewrite buffer |
DEPENDENT | redis.persistence.aof_rewrite_buffer_length[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF pending background I/O fsync{#SINGLETON} | Number of fsync pending jobs in background I/O queue |
DEPENDENT | redis.persistence.aof_pending_bio_fsync[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF delayed fsync{#SINGLETON} | Delayed fsync counter |
DEPENDENT | redis.persistence.aof_delayed_fsync[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Master host{#SINGLETON} | Host or IP address of the master |
DEPENDENT | redis.replication.master_host[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Master port{#SINGLETON} | Master listening TCP port |
DEPENDENT | redis.replication.master_port[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Master link status{#SINGLETON} | Status of the link (up/down) |
DEPENDENT | redis.replication.master_link_status[{#SINGLETON}] Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: Master last I/O seconds ago{#SINGLETON} | Number of seconds since the last interaction with master |
DEPENDENT | redis.replication.master_last_io_seconds_ago[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Master sync in progress{#SINGLETON} | Indicate the master is syncing to the replica |
DEPENDENT | redis.replication.master_sync_in_progress[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Slave replication offset{#SINGLETON} | The replication offset of the replica instance |
DEPENDENT | redis.replication.slave_repl_offset[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Slave priority{#SINGLETON} | The priority of the instance as a candidate for failover |
DEPENDENT | redis.replication.slave_priority[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Slave priority{#SINGLETON} | Flag indicating if the replica is read-only |
DEPENDENT | redis.replication.slave_read_only[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis slave {#SLAVE_IP}:{#SLAVE_PORT}: Replication lag in bytes | Replication lag in bytes |
DEPENDENT | redis.replication.lag_bytes["{#SLAVE_IP}:{#SLAVE_PORT}"] Preprocessing: - JAVASCRIPT: |
Redis | Redis: Number of processes running | - |
ZABBIX_PASSIVE | proc.num["{$REDIS.PROCESS_NAME}{#SINGLETON}"] |
Redis | Redis: Memory usage (rss) | Resident set size memory used by process in bytes. |
ZABBIX_PASSIVE | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,rss] |
Redis | Redis: Memory usage (vsize) | Virtual memory size used by process in bytes. |
ZABBIX_PASSIVE | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,vsize] |
Redis | Redis: CPU utilization | Process CPU utilization percentage. |
ZABBIX_PASSIVE | proc.cpu.util["{$REDIS.PROCESS_NAME}{#SINGLETON}"] |
Redis | Redis: Executable path{#SINGLETON} | The path to the server's executable |
DEPENDENT | redis.server.executable[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Memory used peak %{#SINGLETON} | The percentage of used_memory_peak out of used_memory |
DEPENDENT | redis.memory.used_memory_peak_perc[{#SINGLETON}] Preprocessing: - JSONPATH: - REGEX: |
Redis | Redis: Memory used overhead{#SINGLETON} | The sum in bytes of all overheads that the server allocated for managing its internal data structures |
DEPENDENT | redis.memory.used_memory_overhead[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory used startup{#SINGLETON} | Initial amount of memory consumed by Redis at startup in bytes |
DEPENDENT | redis.memory.used_memory_startup[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory used dataset{#SINGLETON} | The size in bytes of the dataset |
DEPENDENT | redis.memory.used_memory_dataset[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory used dataset %{#SINGLETON} | The percentage of used_memory_dataset out of the net memory usage (used_memory minus used_memory_startup) |
DEPENDENT | redis.memory.used_memory_dataset_perc[{#SINGLETON}] Preprocessing: - JSONPATH: - REGEX: |
Redis | Redis: Total system memory{#SINGLETON} | The total amount of memory that the Redis host has |
DEPENDENT | redis.memory.total_system_memory[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Max memory{#SINGLETON} | Maximum amount of memory allocated to the Redisdb system |
DEPENDENT | redis.memory.maxmemory[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Max memory policy{#SINGLETON} | The value of the maxmemory-policy configuration directive |
DEPENDENT | redis.memory.maxmemory_policy[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Active defrag running{#SINGLETON} | Flag indicating if active defragmentation is active |
DEPENDENT | redis.memory.active_defrag_running[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | 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 | redis.memory.lazyfree_pending_objects[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: RDB last CoW size{#SINGLETON} | The size in bytes of copy-on-write allocations during the last RDB save operation |
DEPENDENT | redis.persistence.rdb_last_cow_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF last CoW size{#SINGLETON} | The size in bytes of copy-on-write allocations during the last AOF rewrite operation |
DEPENDENT | redis.persistence.aof_last_cow_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Expired stale %{#SINGLETON} | - |
DEPENDENT | redis.stats.expired_stale_perc[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Expired time cap reached count{#SINGLETON} | - |
DEPENDENT | redis.stats.expired_time_cap_reached_count[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Slave expires tracked keys{#SINGLETON} | The number of keys tracked for expiry purposes (applicable only to writable replicas) |
DEPENDENT | redis.stats.slave_expires_tracked_keys[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag hits{#SINGLETON} | Number of value reallocations performed by active the defragmentation process |
DEPENDENT | redis.stats.active_defrag_hits[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag misses{#SINGLETON} | Number of aborted value reallocations started by the active defragmentation process |
DEPENDENT | redis.stats.active_defrag_misses[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag key hits{#SINGLETON} | Number of keys that were actively defragmented |
DEPENDENT | redis.stats.active_defrag_key_hits[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag key misses{#SINGLETON} | Number of keys that were skipped by the active defragmentation process |
DEPENDENT | redis.stats.active_defrag_key_misses[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Replication second offset{#SINGLETON} | Offset up to which replication IDs are accepted |
DEPENDENT | redis.replication.second_repl_offset[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator active{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_active[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator allocated{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_allocated[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator resident{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_resident[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory used scripts{#SINGLETON} | - |
DEPENDENT | redis.memory.used_memory_scripts[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory number of cached scripts{#SINGLETON} | - |
DEPENDENT | redis.memory.number_of_cached_scripts[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator fragmentation bytes{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_frag_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator fragmentation ratio{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_frag_ratio[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator RSS bytes{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_rss_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator RSS ratio{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_rss_ratio[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory RSS overhead bytes{#SINGLETON} | - |
DEPENDENT | redis.memory.rss_overhead_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory RSS overhead ratio{#SINGLETON} | - |
DEPENDENT | redis.memory.rss_overhead_ratio[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory fragmentation bytes{#SINGLETON} | - |
DEPENDENT | redis.memory.fragmentation_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory not counted for evict{#SINGLETON} | - |
DEPENDENT | redis.memory.not_counted_for_evict[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory replication backlog{#SINGLETON} | - |
DEPENDENT | redis.memory.replication_backlog[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory clients normal{#SINGLETON} | - |
DEPENDENT | redis.memory.mem_clients_normal[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory clients slaves{#SINGLETON} | - |
DEPENDENT | redis.memory.mem_clients_slaves[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory AOF buffer{#SINGLETON} | Size of the AOF buffer |
DEPENDENT | redis.memory.mem_aof_buffer[{#SINGLETON}] Preprocessing: - JSONPATH: |
Zabbix raw items | Redis: Get info | ZABBIX_PASSIVE | redis.info["{$REDIS.CONN.URI}"] | |
Zabbix raw items | Redis: Get config | ZABBIX_PASSIVE | redis.config["{$REDIS.CONN.URI}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
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. Ack to close. |
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. Ack to close. |
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 | Redis version has changed. Ack to close. |
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: has been restarted | 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 | |
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 | |
Redis: Process is not running | - |
last(/Redis by Zabbix agent 2/proc.num["{$REDIS.PROCESS_NAME}{#SINGLETON}"])=0 |
HIGH | |
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 | |
Redis: Failed to fetch info data | Zabbix has not received 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: Service is down |
Redis: Configuration has changed | Redis configuration has changed. Ack to close. |
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 |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide feedback, discuss the template or ask for help with it at ZABBIX forums.
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/redis?at=release/6.0
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: 6.0 and higher.
Tested versions
This template has been tested on:
- Redis, version 3.0.6, 4.0.14, 5.0.6, 7.2.4
Configuration
Zabbix should be configured according to the instructions in the Templates out of the box section.
Setup
Setup and configure zabbix-agent2 compiled with the Redis monitoring plugin.
Redis' default user should have permissions to run CONFIG, INFO, PING, CLIENT and SLOWLOG commands.
Or default user ACL should have @admin, @slow, @dangerous, @fast and @connection categories.
Test availability: zabbix_get -s 127.0.0.1 -k redis.ping[tcp://127.0.0.1:6379]
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 an 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. |
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: |
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". |
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
You can also provide feedback, discuss the template, or ask for help at ZABBIX forums
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/redis?at=release/5.4
Redis by Zabbix agent 2
Overview
For Zabbix version: 5.4 and higher
The template to monitor Redis server by Zabbix that work without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
Template Redis by Zabbix agent 2
— collects metrics by polling zabbix-agent2.
This template was tested on:
- Redis, version 5.0.6, 4.0.14, 3.0.6
Setup
See Zabbix template operation for basic instructions.
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
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$REDIS.CLIENTS.PRC.MAX.WARN} | Maximum percentage of connected clients |
80 |
{$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.LLD.FILTER.DB.MATCHES} | Filter of discoverable databases |
.* |
{$REDIS.LLD.FILTER.DB.NOT_MATCHES} | Filter to exclude discovered databases |
CHANGE_IF_NEEDED |
{$REDIS.LLD.PROCESS_NAME} | Redis server process name for LLD |
redis-server |
{$REDIS.MEM.FRAG_RATIO.MAX.WARN} | Maximum memory fragmentation ratio |
1.5 |
{$REDIS.MEM.PUSED.MAX.WARN} | Maximum percentage of memory used |
90 |
{$REDIS.PROCESS_NAME} | Redis server process name |
redis-server |
{$REDIS.REPL.LAG.MAX.WARN} | Maximum replication lag in seconds |
30s |
{$REDIS.SLOWLOG.COUNT.MAX.WARN} | Maximum number of slowlog entries per second |
1 |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Keyspace discovery | Individual keyspace metrics |
DEPENDENT | redis.keyspace.discovery Preprocessing: - JAVASCRIPT: Filter: AND- {#DB} MATCHES_REGEX - {#DB} NOT_MATCHES_REGEX |
AOF metrics discovery | If AOF is activated, additional metrics will be added |
DEPENDENT | redis.persistence.aof.discovery Preprocessing: - JAVASCRIPT: |
Slave metrics discovery | If the instance is a replica, additional metrics are provided |
DEPENDENT | redis.replication.slave.discovery Preprocessing: - JAVASCRIPT: |
Replication metrics discovery | If the instance is the master and the slaves are connected, additional metrics are provided |
DEPENDENT | redis.replication.master.discovery Preprocessing: - JAVASCRIPT: |
Process metrics discovery | Collect metrics by Zabbix agent if it exists |
ZABBIX_PASSIVE | proc.num["{$REDIS.LLD.PROCESS_NAME}"] Preprocessing: - JAVASCRIPT: |
Version 4+ metrics discovery | Additional metrics for versions 4+ |
DEPENDENT | redis.metrics.v4.discovery Preprocessing: - JSONPATH: - JAVASCRIPT: |
Version 5+ metrics discovery | Additional metrics for versions 5+ |
DEPENDENT | redis.metrics.v5.discovery Preprocessing: - JSONPATH: - JAVASCRIPT: |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Redis | Redis: Ping | ZABBIX_PASSIVE | redis.ping["{$REDIS.CONN.URI}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
|
Redis | Redis: Slowlog entries per second | ZABBIX_PASSIVE | redis.slowlog.count["{$REDIS.CONN.URI}"] Preprocessing: - CHANGE_PER_SECOND |
|
Redis | Redis: CPU sys | System CPU consumed by the Redis server |
DEPENDENT | redis.cpu.sys Preprocessing: - JSONPATH: |
Redis | Redis: CPU sys children | System CPU consumed by the background processes |
DEPENDENT | redis.cpu.sys_children Preprocessing: - JSONPATH: |
Redis | Redis: CPU user | User CPU consumed by the Redis server |
DEPENDENT | redis.cpu.user Preprocessing: - JSONPATH: |
Redis | Redis: CPU user children | User CPU consumed by the background processes |
DEPENDENT | redis.cpu.user_children Preprocessing: - JSONPATH: |
Redis | Redis: Blocked clients | The number of connections waiting on a blocking call |
DEPENDENT | redis.clients.blocked Preprocessing: - JSONPATH: |
Redis | Redis: Max input buffer | The biggest input buffer among current client connections |
DEPENDENT | redis.clients.max_input_buffer Preprocessing: - JAVASCRIPT: |
Redis | Redis: Max output buffer | The biggest output buffer among current client connections |
DEPENDENT | redis.clients.max_output_buffer Preprocessing: - JAVASCRIPT: |
Redis | Redis: Connected clients | The number of connected clients |
DEPENDENT | redis.clients.connected Preprocessing: - JSONPATH: |
Redis | Redis: Cluster enabled | Indicate Redis cluster is enabled |
DEPENDENT | redis.cluster.enabled Preprocessing: - JSONPATH: |
Redis | Redis: Memory used | Total number of bytes allocated by Redis using its allocator |
DEPENDENT | redis.memory.used_memory Preprocessing: - JSONPATH: |
Redis | Redis: Memory used Lua | Amount of memory used by the Lua engine |
DEPENDENT | redis.memory.used_memory_lua Preprocessing: - JSONPATH: |
Redis | Redis: Memory used peak | Peak memory consumed by Redis (in bytes) |
DEPENDENT | redis.memory.used_memory_peak Preprocessing: - JSONPATH: |
Redis | Redis: Memory used RSS | Number of bytes that Redis allocated as seen by the operating system |
DEPENDENT | redis.memory.used_memory_rss Preprocessing: - JSONPATH: |
Redis | 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 | redis.memory.fragmentation_ratio Preprocessing: - JSONPATH: |
Redis | Redis: AOF current rewrite time sec | Duration of the on-going AOF rewrite operation if any |
DEPENDENT | redis.persistence.aof_current_rewrite_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: AOF enabled | Flag indicating AOF logging is activated |
DEPENDENT | redis.persistence.aof_enabled Preprocessing: - JSONPATH: |
Redis | Redis: AOF last bgrewrite status | Status of the last AOF rewrite operation |
DEPENDENT | redis.persistence.aof_last_bgrewrite_status Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: AOF last rewrite time sec | Duration of the last AOF rewrite |
DEPENDENT | redis.persistence.aof_last_rewrite_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: AOF last write status | Status of the last write operation to the AOF |
DEPENDENT | redis.persistence.aof_last_write_status Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: AOF rewrite in progress | Flag indicating a AOF rewrite operation is on-going |
DEPENDENT | redis.persistence.aof_rewrite_in_progress Preprocessing: - JSONPATH: |
Redis | Redis: AOF rewrite scheduled | Flag indicating an AOF rewrite operation will be scheduled once the on-going RDB save is complete |
DEPENDENT | redis.persistence.aof_rewrite_scheduled Preprocessing: - JSONPATH: |
Redis | Redis: Dump loading | Flag indicating if the load of a dump file is on-going |
DEPENDENT | redis.persistence.loading Preprocessing: - JSONPATH: |
Redis | Redis: RDB bgsave in progress | "1" if bgsave is in progress and "0" otherwise |
DEPENDENT | redis.persistence.rdb_bgsave_in_progress Preprocessing: - JSONPATH: |
Redis | Redis: RDB changes since last save | Number of changes since the last background save |
DEPENDENT | redis.persistence.rdb_changes_since_last_save Preprocessing: - JSONPATH: |
Redis | Redis: RDB current bgsave time sec | Duration of the on-going RDB save operation if any |
DEPENDENT | redis.persistence.rdb_current_bgsave_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: RDB last bgsave status | Status of the last RDB save operation |
DEPENDENT | redis.persistence.rdb_last_bgsave_status Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: RDB last bgsave time sec | Duration of the last bg_save operation |
DEPENDENT | redis.persistence.rdb_last_bgsave_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: RDB last save time | Epoch-based timestamp of last successful RDB save |
DEPENDENT | redis.persistence.rdb_last_save_time Preprocessing: - JSONPATH: |
Redis | Redis: Connected slaves | Number of connected slaves |
DEPENDENT | redis.replication.connected_slaves Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog active | Flag indicating replication backlog is active |
DEPENDENT | redis.replication.repl_backlog_active Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog first byte offset | The master offset of the replication backlog buffer |
DEPENDENT | redis.replication.repl_backlog_first_byte_offset Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog history length | Amount of data in the backlog sync buffer |
DEPENDENT | redis.replication.repl_backlog_histlen Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog size | Total size in bytes of the replication backlog buffer |
DEPENDENT | redis.replication.repl_backlog_size Preprocessing: - JSONPATH: |
Redis | 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 | redis.replication.role Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Master replication offset | Replication offset reported by the master |
DEPENDENT | redis.replication.master_repl_offset Preprocessing: - JSONPATH: |
Redis | Redis: Process id | PID of the server process |
DEPENDENT | redis.server.process_id Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Redis mode | The server's mode ("standalone", "sentinel" or "cluster") |
DEPENDENT | redis.server.redis_mode Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Redis version | Version of the Redis server |
DEPENDENT | redis.server.redis_version Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: TCP port | TCP/IP listen port |
DEPENDENT | redis.server.tcp_port Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Uptime | Number of seconds since Redis server start |
DEPENDENT | redis.server.uptime Preprocessing: - JSONPATH: |
Redis | Redis: Evicted keys | Number of evicted keys due to maxmemory limit |
DEPENDENT | redis.stats.evicted_keys Preprocessing: - JSONPATH: |
Redis | Redis: Expired keys | Total number of key expiration events |
DEPENDENT | redis.stats.expired_keys Preprocessing: - JSONPATH: |
Redis | Redis: Instantaneous input bytes per second | The network's read rate per second in KB/sec |
DEPENDENT | redis.stats.instantaneous_input.rate Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | Redis: Instantaneous operations per sec | Number of commands processed per second |
DEPENDENT | redis.stats.instantaneous_ops.rate Preprocessing: - JSONPATH: |
Redis | Redis: Instantaneous output bytes per second | The network's write rate per second in KB/sec |
DEPENDENT | redis.stats.instantaneous_output.rate Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | Redis: Keyspace hits | Number of successful lookup of keys in the main dictionary |
DEPENDENT | redis.stats.keyspace_hits Preprocessing: - JSONPATH: |
Redis | Redis: Keyspace misses | Number of failed lookup of keys in the main dictionary |
DEPENDENT | redis.stats.keyspace_misses Preprocessing: - JSONPATH: |
Redis | Redis: Latest fork usec | Duration of the latest fork operation in microseconds |
DEPENDENT | redis.stats.latest_fork_usec Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | Redis: Migrate cached sockets | The number of sockets open for MIGRATE purposes |
DEPENDENT | redis.stats.migrate_cached_sockets Preprocessing: - JSONPATH: |
Redis | Redis: Pubsub channels | Global number of pub/sub channels with client subscriptions |
DEPENDENT | redis.stats.pubsub_channels Preprocessing: - JSONPATH: |
Redis | Redis: Pubsub patterns | Global number of pub/sub pattern with client subscriptions |
DEPENDENT | redis.stats.pubsub_patterns Preprocessing: - JSONPATH: |
Redis | Redis: Rejected connections | Number of connections rejected because of maxclients limit |
DEPENDENT | redis.stats.rejected_connections Preprocessing: - JSONPATH: |
Redis | Redis: Sync full | The number of full resyncs with replicas |
DEPENDENT | redis.stats.sync_full Preprocessing: - JSONPATH: |
Redis | Redis: Sync partial err | The number of denied partial resync requests |
DEPENDENT | redis.stats.sync_partial_err Preprocessing: - JSONPATH: |
Redis | Redis: Sync partial ok | The number of accepted partial resync requests |
DEPENDENT | redis.stats.sync_partial_ok Preprocessing: - JSONPATH: |
Redis | Redis: Total commands processed | Total number of commands processed by the server |
DEPENDENT | redis.stats.total_commands_processed Preprocessing: - JSONPATH: |
Redis | Redis: Total connections received | Total number of connections accepted by the server |
DEPENDENT | redis.stats.total_connections_received Preprocessing: - JSONPATH: |
Redis | Redis: Total net input bytes | The total number of bytes read from the network |
DEPENDENT | redis.stats.total_net_input_bytes Preprocessing: - JSONPATH: |
Redis | Redis: Total net output bytes | The total number of bytes written to the network |
DEPENDENT | redis.stats.total_net_output_bytes Preprocessing: - JSONPATH: |
Redis | 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 | redis.config.maxclients Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | DB {#DB}: Average TTL | Average TTL |
DEPENDENT | redis.db.avg_ttl["{#DB}"] Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | DB {#DB}: Expires | Number of keys with an expiration |
DEPENDENT | redis.db.expires["{#DB}"] Preprocessing: - JSONPATH: |
Redis | DB {#DB}: Keys | Total number of keys |
DEPENDENT | redis.db.keys["{#DB}"] Preprocessing: - JSONPATH: |
Redis | Redis: AOF current size{#SINGLETON} | AOF current file size |
DEPENDENT | redis.persistence.aof_current_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF base size{#SINGLETON} | AOF file size on latest startup or rewrite |
DEPENDENT | redis.persistence.aof_base_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF pending rewrite{#SINGLETON} | Flag indicating an AOF rewrite operation will |
DEPENDENT | redis.persistence.aof_pending_rewrite[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF buffer length{#SINGLETON} | Size of the AOF buffer |
DEPENDENT | redis.persistence.aof_buffer_length[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF rewrite buffer length{#SINGLETON} | Size of the AOF rewrite buffer |
DEPENDENT | redis.persistence.aof_rewrite_buffer_length[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF pending background I/O fsync{#SINGLETON} | Number of fsync pending jobs in background I/O queue |
DEPENDENT | redis.persistence.aof_pending_bio_fsync[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF delayed fsync{#SINGLETON} | Delayed fsync counter |
DEPENDENT | redis.persistence.aof_delayed_fsync[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Master host{#SINGLETON} | Host or IP address of the master |
DEPENDENT | redis.replication.master_host[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Master port{#SINGLETON} | Master listening TCP port |
DEPENDENT | redis.replication.master_port[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Master link status{#SINGLETON} | Status of the link (up/down) |
DEPENDENT | redis.replication.master_link_status[{#SINGLETON}] Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: Master last I/O seconds ago{#SINGLETON} | Number of seconds since the last interaction with master |
DEPENDENT | redis.replication.master_last_io_seconds_ago[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Master sync in progress{#SINGLETON} | Indicate the master is syncing to the replica |
DEPENDENT | redis.replication.master_sync_in_progress[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Slave replication offset{#SINGLETON} | The replication offset of the replica instance |
DEPENDENT | redis.replication.slave_repl_offset[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Slave priority{#SINGLETON} | The priority of the instance as a candidate for failover |
DEPENDENT | redis.replication.slave_priority[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Slave priority{#SINGLETON} | Flag indicating if the replica is read-only |
DEPENDENT | redis.replication.slave_read_only[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis slave {#SLAVE_IP}:{#SLAVE_PORT}: Replication lag in bytes | Replication lag in bytes |
DEPENDENT | redis.replication.lag_bytes["{#SLAVE_IP}:{#SLAVE_PORT}"] Preprocessing: - JAVASCRIPT: |
Redis | Redis: Number of processes running | - |
ZABBIX_PASSIVE | proc.num["{$REDIS.PROCESS_NAME}{#SINGLETON}"] |
Redis | Redis: Memory usage (rss) | Resident set size memory used by process in bytes. |
ZABBIX_PASSIVE | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,rss] |
Redis | Redis: Memory usage (vsize) | Virtual memory size used by process in bytes. |
ZABBIX_PASSIVE | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,vsize] |
Redis | Redis: CPU utilization | Process CPU utilization percentage. |
ZABBIX_PASSIVE | proc.cpu.util["{$REDIS.PROCESS_NAME}{#SINGLETON}"] |
Redis | Redis: Executable path{#SINGLETON} | The path to the server's executable |
DEPENDENT | redis.server.executable[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Memory used peak %{#SINGLETON} | The percentage of used_memory_peak out of used_memory |
DEPENDENT | redis.memory.used_memory_peak_perc[{#SINGLETON}] Preprocessing: - JSONPATH: - REGEX: |
Redis | Redis: Memory used overhead{#SINGLETON} | The sum in bytes of all overheads that the server allocated for managing its internal data structures |
DEPENDENT | redis.memory.used_memory_overhead[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory used startup{#SINGLETON} | Initial amount of memory consumed by Redis at startup in bytes |
DEPENDENT | redis.memory.used_memory_startup[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory used dataset{#SINGLETON} | The size in bytes of the dataset |
DEPENDENT | redis.memory.used_memory_dataset[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory used dataset %{#SINGLETON} | The percentage of used_memory_dataset out of the net memory usage (used_memory minus used_memory_startup) |
DEPENDENT | redis.memory.used_memory_dataset_perc[{#SINGLETON}] Preprocessing: - JSONPATH: - REGEX: |
Redis | Redis: Total system memory{#SINGLETON} | The total amount of memory that the Redis host has |
DEPENDENT | redis.memory.total_system_memory[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Max memory{#SINGLETON} | Maximum amount of memory allocated to the Redisdb system |
DEPENDENT | redis.memory.maxmemory[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Max memory policy{#SINGLETON} | The value of the maxmemory-policy configuration directive |
DEPENDENT | redis.memory.maxmemory_policy[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Active defrag running{#SINGLETON} | Flag indicating if active defragmentation is active |
DEPENDENT | redis.memory.active_defrag_running[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | 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 | redis.memory.lazyfree_pending_objects[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: RDB last CoW size{#SINGLETON} | The size in bytes of copy-on-write allocations during the last RDB save operation |
DEPENDENT | redis.persistence.rdb_last_cow_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF last CoW size{#SINGLETON} | The size in bytes of copy-on-write allocations during the last AOF rewrite operation |
DEPENDENT | redis.persistence.aof_last_cow_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Expired stale %{#SINGLETON} | - |
DEPENDENT | redis.stats.expired_stale_perc[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Expired time cap reached count{#SINGLETON} | - |
DEPENDENT | redis.stats.expired_time_cap_reached_count[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Slave expires tracked keys{#SINGLETON} | The number of keys tracked for expiry purposes (applicable only to writable replicas) |
DEPENDENT | redis.stats.slave_expires_tracked_keys[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag hits{#SINGLETON} | Number of value reallocations performed by active the defragmentation process |
DEPENDENT | redis.stats.active_defrag_hits[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag misses{#SINGLETON} | Number of aborted value reallocations started by the active defragmentation process |
DEPENDENT | redis.stats.active_defrag_misses[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag key hits{#SINGLETON} | Number of keys that were actively defragmented |
DEPENDENT | redis.stats.active_defrag_key_hits[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag key misses{#SINGLETON} | Number of keys that were skipped by the active defragmentation process |
DEPENDENT | redis.stats.active_defrag_key_misses[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Replication second offset{#SINGLETON} | Offset up to which replication IDs are accepted |
DEPENDENT | redis.replication.second_repl_offset[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator active{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_active[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator allocated{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_allocated[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator resident{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_resident[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory used scripts{#SINGLETON} | - |
DEPENDENT | redis.memory.used_memory_scripts[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory number of cached scripts{#SINGLETON} | - |
DEPENDENT | redis.memory.number_of_cached_scripts[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator fragmentation bytes{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_frag_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator fragmentation ratio{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_frag_ratio[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator RSS bytes{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_rss_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator RSS ratio{#SINGLETON} | - |
DEPENDENT | redis.memory.allocator_rss_ratio[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory RSS overhead bytes{#SINGLETON} | - |
DEPENDENT | redis.memory.rss_overhead_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory RSS overhead ratio{#SINGLETON} | - |
DEPENDENT | redis.memory.rss_overhead_ratio[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory fragmentation bytes{#SINGLETON} | - |
DEPENDENT | redis.memory.fragmentation_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory not counted for evict{#SINGLETON} | - |
DEPENDENT | redis.memory.not_counted_for_evict[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory replication backlog{#SINGLETON} | - |
DEPENDENT | redis.memory.replication_backlog[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory clients normal{#SINGLETON} | - |
DEPENDENT | redis.memory.mem_clients_normal[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory clients slaves{#SINGLETON} | - |
DEPENDENT | redis.memory.mem_clients_slaves[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory AOF buffer{#SINGLETON} | Size of the AOF buffer |
DEPENDENT | redis.memory.mem_aof_buffer[{#SINGLETON}] Preprocessing: - JSONPATH: |
Zabbix_raw_items | Redis: Get info | ZABBIX_PASSIVE | redis.info["{$REDIS.CONN.URI}"] | |
Zabbix_raw_items | Redis: Get config | ZABBIX_PASSIVE | redis.config["{$REDIS.CONN.URI}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
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 (over {$REDIS.SLOWLOG.COUNT.MAX.WARN} per second in 5m) | - |
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 (over {$REDIS.CLIENTS.PRC.MAX.WARN}% in 5m) | 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 (over {$REDIS.MEM.FRAG_RATIO.MAX.WARN} in 15m) | 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. Ack to close. |
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 (new role: {ITEM.VALUE}) | Redis replication role has changed. Ack to close. |
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 (new version: {ITEM.VALUE}) | Redis version has changed. Ack to close. |
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: has been restarted (uptime < 10m) | 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 | |
Redis: Replication lag with master is too high (over {$REDIS.REPL.LAG.MAX.WARN} in 5m) | - |
min(/Redis by Zabbix agent 2/redis.replication.master_last_io_seconds_ago[{#SINGLETON}],5m)>{$REDIS.REPL.LAG.MAX.WARN} |
WARNING | |
Redis: Process is not running | - |
last(/Redis by Zabbix agent 2/proc.num["{$REDIS.PROCESS_NAME}{#SINGLETON}"])=0 |
HIGH | |
Redis: Memory usage is too high (over {$REDIS.MEM.PUSED.MAX.WARN}% in 5m) | - |
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 | |
Redis: Failed to fetch info data (or no data for 30m) | Zabbix has not received 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: Service is down |
Redis: Configuration has changed | Redis configuration has changed. Ack to close. |
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 |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.
Source: https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/redis?at=release/5.0
Template DB Redis
Overview
For Zabbix version: 5.0 and higher
The template to monitor Redis server by Zabbix that work without any external scripts.
Most of the metrics are collected in one go, thanks to Zabbix bulk data collection.
Template Redis
— collects metrics by polling zabbix-agent2.
This template was tested on:
- Redis, version 5.0.6, 4.0.14, 3.0.6
Setup
See Zabbix template operation for basic instructions.
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
Zabbix configuration
No specific Zabbix configuration is required.
Macros used
Name | Description | Default |
---|---|---|
{$REDIS.CLIENTS.PRC.MAX.WARN} | Maximum percentage of connected clients |
80 |
{$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.LLD.FILTER.DB.MATCHES} | Filter of discoverable databases |
.* |
{$REDIS.LLD.FILTER.DB.NOT_MATCHES} | Filter to exclude discovered databases |
CHANGE_IF_NEEDED |
{$REDIS.LLD.PROCESS_NAME} | Redis server process name for LLD |
redis-server |
{$REDIS.MEM.FRAG_RATIO.MAX.WARN} | Maximum memory fragmentation ratio |
1.5 |
{$REDIS.MEM.PUSED.MAX.WARN} | Maximum percentage of memory used |
90 |
{$REDIS.PROCESS_NAME} | Redis server process name |
redis-server |
{$REDIS.REPL.LAG.MAX.WARN} | Maximum replication lag in seconds |
30s |
{$REDIS.SLOWLOG.COUNT.MAX.WARN} | Maximum number of slowlog entries per second |
1 |
Template links
There are no template links in this template.
Discovery rules
Name | Description | Type | Key and additional info |
---|---|---|---|
Keyspace discovery | Individual keyspace metrics |
DEPENDENT | redis.keyspace.discovery Preprocessing: - JAVASCRIPT: Filter: AND- A: {#DB} MATCHES_REGEX - B: {#DB} NOT_MATCHES_REGEX |
AOF metrics discovery | If AOF is activated, additional metrics will be added |
DEPENDENT | redis.persistence.aof.discovery Preprocessing: - JAVASCRIPT: |
Slave metrics discovery | If the instance is a replica, additional metrics are provided |
DEPENDENT | redis.replication.slave.discovery Preprocessing: - JAVASCRIPT: |
Replication metrics discovery | If the instance is the master and the slaves are connected, additional metrics are provided |
DEPENDENT | redis.replication.master.discovery Preprocessing: - JAVASCRIPT: |
Process metrics discovery | Collect metrics by Zabbix agent if it exists |
ZABBIX_PASSIVE | proc.num["{$REDIS.LLD.PROCESS_NAME}"] Preprocessing: - JAVASCRIPT: |
Version 4+ metrics discovery | Additional metrics for versions 4+ |
DEPENDENT | redis.metrics.v4.discovery Preprocessing: - JSONPATH: - JAVASCRIPT: |
Version 5+ metrics discovery | Additional metrics for versions 5+ |
DEPENDENT | redis.metrics.v5.discovery Preprocessing: - JSONPATH: - JAVASCRIPT: |
Items collected
Group | Name | Description | Type | Key and additional info |
---|---|---|---|---|
Redis | Redis: Ping | ZABBIX_PASSIVE | redis.ping["{$REDIS.CONN.URI}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
|
Redis | Redis: Slowlog entries per second | ZABBIX_PASSIVE | redis.slowlog.count["{$REDIS.CONN.URI}"] Preprocessing: - CHANGE_PER_SECOND |
|
Redis | Redis: CPU sys | System CPU consumed by the Redis server |
DEPENDENT | redis.cpu.sys Preprocessing: - JSONPATH: |
Redis | Redis: CPU sys children | System CPU consumed by the background processes |
DEPENDENT | redis.cpu.sys_children Preprocessing: - JSONPATH: |
Redis | Redis: CPU user | User CPU consumed by the Redis server |
DEPENDENT | redis.cpu.user Preprocessing: - JSONPATH: |
Redis | Redis: CPU user children | User CPU consumed by the background processes |
DEPENDENT | redis.cpu.user_children Preprocessing: - JSONPATH: |
Redis | Redis: Blocked clients | The number of connections waiting on a blocking call |
DEPENDENT | redis.clients.blocked Preprocessing: - JSONPATH: |
Redis | Redis: Max input buffer | The biggest input buffer among current client connections |
DEPENDENT | redis.clients.max_input_buffer Preprocessing: - JAVASCRIPT: |
Redis | Redis: Max output buffer | The biggest output buffer among current client connections |
DEPENDENT | redis.clients.max_output_buffer Preprocessing: - JAVASCRIPT: |
Redis | Redis: Connected clients | The number of connected clients |
DEPENDENT | redis.clients.connected Preprocessing: - JSONPATH: |
Redis | Redis: Cluster enabled | Indicate Redis cluster is enabled |
DEPENDENT | redis.cluster.enabled Preprocessing: - JSONPATH: |
Redis | Redis: Memory used | Total number of bytes allocated by Redis using its allocator |
DEPENDENT | redis.memory.used_memory Preprocessing: - JSONPATH: |
Redis | Redis: Memory used Lua | Amount of memory used by the Lua engine |
DEPENDENT | redis.memory.used_memory_lua Preprocessing: - JSONPATH: |
Redis | Redis: Memory used peak | Peak memory consumed by Redis (in bytes) |
DEPENDENT | redis.memory.used_memory_peak Preprocessing: - JSONPATH: |
Redis | Redis: Memory used RSS | Number of bytes that Redis allocated as seen by the operating system |
DEPENDENT | redis.memory.used_memory_rss Preprocessing: - JSONPATH: |
Redis | 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 | redis.memory.fragmentation_ratio Preprocessing: - JSONPATH: |
Redis | Redis: AOF current rewrite time sec | Duration of the on-going AOF rewrite operation if any |
DEPENDENT | redis.persistence.aof_current_rewrite_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: AOF enabled | Flag indicating AOF logging is activated |
DEPENDENT | redis.persistence.aof_enabled Preprocessing: - JSONPATH: |
Redis | Redis: AOF last bgrewrite status | Status of the last AOF rewrite operation |
DEPENDENT | redis.persistence.aof_last_bgrewrite_status Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: AOF last rewrite time sec | Duration of the last AOF rewrite |
DEPENDENT | redis.persistence.aof_last_rewrite_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: AOF last write status | Status of the last write operation to the AOF |
DEPENDENT | redis.persistence.aof_last_write_status Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: AOF rewrite in progress | Flag indicating a AOF rewrite operation is on-going |
DEPENDENT | redis.persistence.aof_rewrite_in_progress Preprocessing: - JSONPATH: |
Redis | Redis: AOF rewrite scheduled | Flag indicating an AOF rewrite operation will be scheduled once the on-going RDB save is complete |
DEPENDENT | redis.persistence.aof_rewrite_scheduled Preprocessing: - JSONPATH: |
Redis | Redis: Dump loading | Flag indicating if the load of a dump file is on-going |
DEPENDENT | redis.persistence.loading Preprocessing: - JSONPATH: |
Redis | Redis: RDB bgsave in progress | "1" if bgsave is in progress and "0" otherwise |
DEPENDENT | redis.persistence.rdb_bgsave_in_progress Preprocessing: - JSONPATH: |
Redis | Redis: RDB changes since last save | Number of changes since the last background save |
DEPENDENT | redis.persistence.rdb_changes_since_last_save Preprocessing: - JSONPATH: |
Redis | Redis: RDB current bgsave time sec | Duration of the on-going RDB save operation if any |
DEPENDENT | redis.persistence.rdb_current_bgsave_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: RDB last bgsave status | Status of the last RDB save operation |
DEPENDENT | redis.persistence.rdb_last_bgsave_status Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: RDB last bgsave time sec | Duration of the last bg_save operation |
DEPENDENT | redis.persistence.rdb_last_bgsave_time_sec Preprocessing: - JSONPATH: |
Redis | Redis: RDB last save time | Epoch-based timestamp of last successful RDB save |
DEPENDENT | redis.persistence.rdb_last_save_time Preprocessing: - JSONPATH: |
Redis | Redis: Connected slaves | Number of connected slaves |
DEPENDENT | redis.replication.connected_slaves Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog active | Flag indicating replication backlog is active |
DEPENDENT | redis.replication.repl_backlog_active Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog first byte offset | The master offset of the replication backlog buffer |
DEPENDENT | redis.replication.repl_backlog_first_byte_offset Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog history length | Amount of data in the backlog sync buffer |
DEPENDENT | redis.replication.repl_backlog_histlen Preprocessing: - JSONPATH: |
Redis | Redis: Replication backlog size | Total size in bytes of the replication backlog buffer |
DEPENDENT | redis.replication.repl_backlog_size Preprocessing: - JSONPATH: |
Redis | 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 | redis.replication.role Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Master replication offset | Replication offset reported by the master |
DEPENDENT | redis.replication.master_repl_offset Preprocessing: - JSONPATH: |
Redis | Redis: Process id | PID of the server process |
DEPENDENT | redis.server.process_id Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Redis mode | The server's mode ("standalone", "sentinel" or "cluster") |
DEPENDENT | redis.server.redis_mode Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Redis version | Version of the Redis server |
DEPENDENT | redis.server.redis_version Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: TCP port | TCP/IP listen port |
DEPENDENT | redis.server.tcp_port Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Uptime | Number of seconds since Redis server start |
DEPENDENT | redis.server.uptime Preprocessing: - JSONPATH: |
Redis | Redis: Evicted keys | Number of evicted keys due to maxmemory limit |
DEPENDENT | redis.stats.evicted_keys Preprocessing: - JSONPATH: |
Redis | Redis: Expired keys | Total number of key expiration events |
DEPENDENT | redis.stats.expired_keys Preprocessing: - JSONPATH: |
Redis | Redis: Instantaneous input bytes per second | The network's read rate per second in KB/sec |
DEPENDENT | redis.stats.instantaneous_input.rate Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | Redis: Instantaneous operations per sec | Number of commands processed per second |
DEPENDENT | redis.stats.instantaneous_ops.rate Preprocessing: - JSONPATH: |
Redis | Redis: Instantaneous output bytes per second | The network's write rate per second in KB/sec |
DEPENDENT | redis.stats.instantaneous_output.rate Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | Redis: Keyspace hits | Number of successful lookup of keys in the main dictionary |
DEPENDENT | redis.stats.keyspace_hits Preprocessing: - JSONPATH: |
Redis | Redis: Keyspace misses | Number of failed lookup of keys in the main dictionary |
DEPENDENT | redis.stats.keyspace_misses Preprocessing: - JSONPATH: |
Redis | Redis: Latest fork usec | Duration of the latest fork operation in microseconds |
DEPENDENT | redis.stats.latest_fork_usec Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | Redis: Migrate cached sockets | The number of sockets open for MIGRATE purposes |
DEPENDENT | redis.stats.migrate_cached_sockets Preprocessing: - JSONPATH: |
Redis | Redis: Pubsub channels | Global number of pub/sub channels with client subscriptions |
DEPENDENT | redis.stats.pubsub_channels Preprocessing: - JSONPATH: |
Redis | Redis: Pubsub patterns | Global number of pub/sub pattern with client subscriptions |
DEPENDENT | redis.stats.pubsub_patterns Preprocessing: - JSONPATH: |
Redis | Redis: Rejected connections | Number of connections rejected because of maxclients limit |
DEPENDENT | redis.stats.rejected_connections Preprocessing: - JSONPATH: |
Redis | Redis: Sync full | The number of full resyncs with replicas |
DEPENDENT | redis.stats.sync_full Preprocessing: - JSONPATH: |
Redis | Redis: Sync partial err | The number of denied partial resync requests |
DEPENDENT | redis.stats.sync_partial_err Preprocessing: - JSONPATH: |
Redis | Redis: Sync partial ok | The number of accepted partial resync requests |
DEPENDENT | redis.stats.sync_partial_ok Preprocessing: - JSONPATH: |
Redis | Redis: Total commands processed | Total number of commands processed by the server |
DEPENDENT | redis.stats.total_commands_processed Preprocessing: - JSONPATH: |
Redis | Redis: Total connections received | Total number of connections accepted by the server |
DEPENDENT | redis.stats.total_connections_received Preprocessing: - JSONPATH: |
Redis | Redis: Total net input bytes | The total number of bytes read from the network |
DEPENDENT | redis.stats.total_net_input_bytes Preprocessing: - JSONPATH: |
Redis | Redis: Total net output bytes | The total number of bytes written to the network |
DEPENDENT | redis.stats.total_net_output_bytes Preprocessing: - JSONPATH: |
Redis | 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 | redis.config.maxclients Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | DB {#DB}: Average TTL | Average TTL |
DEPENDENT | redis.db.avg_ttl["{#DB}"] Preprocessing: - JSONPATH: - MULTIPLIER: |
Redis | DB {#DB}: Expires | Number of keys with an expiration |
DEPENDENT | redis.db.expires["{#DB}"] Preprocessing: - JSONPATH: |
Redis | DB {#DB}: Keys | Total number of keys |
DEPENDENT | redis.db.keys["{#DB}"] Preprocessing: - JSONPATH: |
Redis | Redis: AOF current size{#SINGLETON} | AOF current file size |
DEPENDENT | redis.persistence.aof_current_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF base size{#SINGLETON} | AOF file size on latest startup or rewrite |
DEPENDENT | redis.persistence.aof_base_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF pending rewrite{#SINGLETON} | Flag indicating an AOF rewrite operation will |
DEPENDENT | redis.persistence.aof_pending_rewrite[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF buffer length{#SINGLETON} | Size of the AOF buffer |
DEPENDENT | redis.persistence.aof_buffer_length[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF rewrite buffer length{#SINGLETON} | Size of the AOF rewrite buffer |
DEPENDENT | redis.persistence.aof_rewrite_buffer_length[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF pending background I/O fsync{#SINGLETON} | Number of fsync pending jobs in background I/O queue |
DEPENDENT | redis.persistence.aof_pending_bio_fsync[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF delayed fsync{#SINGLETON} | Delayed fsync counter |
DEPENDENT | redis.persistence.aof_delayed_fsync[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Master host{#SINGLETON} | Host or IP address of the master |
DEPENDENT | redis.replication.master_host[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Master port{#SINGLETON} | Master listening TCP port |
DEPENDENT | redis.replication.master_port[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Master link status{#SINGLETON} | Status of the link (up/down) |
DEPENDENT | redis.replication.master_link_status[{#SINGLETON}] Preprocessing: - JSONPATH: - BOOL_TO_DECIMAL |
Redis | Redis: Master last I/O seconds ago{#SINGLETON} | Number of seconds since the last interaction with master |
DEPENDENT | redis.replication.master_last_io_seconds_ago[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Master sync in progress{#SINGLETON} | Indicate the master is syncing to the replica |
DEPENDENT | redis.replication.master_sync_in_progress[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Slave replication offset{#SINGLETON} | The replication offset of the replica instance |
DEPENDENT | redis.replication.slave_repl_offset[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Slave priority{#SINGLETON} | The priority of the instance as a candidate for failover |
DEPENDENT | redis.replication.slave_priority[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Slave priority{#SINGLETON} | Flag indicating if the replica is read-only |
DEPENDENT | redis.replication.slave_read_only[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis slave {#SLAVE_IP}:{#SLAVE_PORT}: Replication lag in bytes | Replication lag in bytes |
DEPENDENT | redis.replication.lag_bytes["{#SLAVE_IP}:{#SLAVE_PORT}"] Preprocessing: - JAVASCRIPT: |
Redis | Redis: Number of processes running | - |
ZABBIX_PASSIVE | proc.num["{$REDIS.PROCESS_NAME}{#SINGLETON}"] |
Redis | Redis: Memory usage (rss) | Resident set size memory used by process in bytes. |
ZABBIX_PASSIVE | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,rss] |
Redis | Redis: Memory usage (vsize) | Virtual memory size used by process in bytes. |
ZABBIX_PASSIVE | proc.mem["{$REDIS.PROCESS_NAME}{#SINGLETON}",,,,vsize] |
Redis | Redis: CPU utilization | Process CPU utilization percentage. |
ZABBIX_PASSIVE | proc.cpu.util["{$REDIS.PROCESS_NAME}{#SINGLETON}"] |
Redis | Redis: Executable path{#SINGLETON} | The path to the server's executable |
DEPENDENT | redis.server.executable[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Memory used peak %{#SINGLETON} | The percentage of used_memory_peak out of used_memory |
DEPENDENT | redis.memory.used_memory_peak_perc[{#SINGLETON}] Preprocessing: - JSONPATH: - REGEX: |
Redis | Redis: Memory used overhead{#SINGLETON} | The sum in bytes of all overheads that the server allocated for managing its internal data structures |
DEPENDENT | redis.memory.used_memory_overhead[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory used startup{#SINGLETON} | Initial amount of memory consumed by Redis at startup in bytes |
DEPENDENT | redis.memory.used_memory_startup[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory used dataset{#SINGLETON} | The size in bytes of the dataset |
DEPENDENT | redis.memory.used_memory_dataset[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Memory used dataset %{#SINGLETON} | The percentage of used_memory_dataset out of the net memory usage (used_memory minus used_memory_startup) |
DEPENDENT | redis.memory.used_memory_dataset_perc[{#SINGLETON}] Preprocessing: - JSONPATH: - REGEX: |
Redis | Redis: Total system memory{#SINGLETON} | The total amount of memory that the Redis host has |
DEPENDENT | redis.memory.total_system_memory[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Max memory{#SINGLETON} | Maximum amount of memory allocated to the Redisdb system |
DEPENDENT | redis.memory.maxmemory[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Max memory policy{#SINGLETON} | The value of the maxmemory-policy configuration directive |
DEPENDENT | redis.memory.maxmemory_policy[{#SINGLETON}] Preprocessing: - JSONPATH: - DISCARD_UNCHANGED_HEARTBEAT: |
Redis | Redis: Active defrag running{#SINGLETON} | Flag indicating if active defragmentation is active |
DEPENDENT | redis.memory.active_defrag_running[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | 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 | redis.memory.lazyfree_pending_objects[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: RDB last CoW size{#SINGLETON} | The size in bytes of copy-on-write allocations during the last RDB save operation |
DEPENDENT | redis.persistence.rdb_last_cow_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: AOF last CoW size{#SINGLETON} | The size in bytes of copy-on-write allocations during the last AOF rewrite operation |
DEPENDENT | redis.persistence.aof_last_cow_size[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Expired stale %{#SINGLETON} | DEPENDENT | redis.stats.expired_stale_perc[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Expired time cap reached count{#SINGLETON} | DEPENDENT | redis.stats.expired_time_cap_reached_count[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Slave expires tracked keys{#SINGLETON} | The number of keys tracked for expiry purposes (applicable only to writable replicas) |
DEPENDENT | redis.stats.slave_expires_tracked_keys[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag hits{#SINGLETON} | Number of value reallocations performed by active the defragmentation process |
DEPENDENT | redis.stats.active_defrag_hits[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag misses{#SINGLETON} | Number of aborted value reallocations started by the active defragmentation process |
DEPENDENT | redis.stats.active_defrag_misses[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag key hits{#SINGLETON} | Number of keys that were actively defragmented |
DEPENDENT | redis.stats.active_defrag_key_hits[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Active defrag key misses{#SINGLETON} | Number of keys that were skipped by the active defragmentation process |
DEPENDENT | redis.stats.active_defrag_key_misses[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Replication second offset{#SINGLETON} | Offset up to which replication IDs are accepted |
DEPENDENT | redis.replication.second_repl_offset[{#SINGLETON}] Preprocessing: - JSONPATH: |
Redis | Redis: Allocator active{#SINGLETON} | DEPENDENT | redis.memory.allocator_active[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Allocator allocated{#SINGLETON} | DEPENDENT | redis.memory.allocator_allocated[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Allocator resident{#SINGLETON} | DEPENDENT | redis.memory.allocator_resident[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Memory used scripts{#SINGLETON} | DEPENDENT | redis.memory.used_memory_scripts[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Memory number of cached scripts{#SINGLETON} | DEPENDENT | redis.memory.number_of_cached_scripts[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Allocator fragmentation bytes{#SINGLETON} | DEPENDENT | redis.memory.allocator_frag_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Allocator fragmentation ratio{#SINGLETON} | DEPENDENT | redis.memory.allocator_frag_ratio[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Allocator RSS bytes{#SINGLETON} | DEPENDENT | redis.memory.allocator_rss_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Allocator RSS ratio{#SINGLETON} | DEPENDENT | redis.memory.allocator_rss_ratio[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Memory RSS overhead bytes{#SINGLETON} | DEPENDENT | redis.memory.rss_overhead_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Memory RSS overhead ratio{#SINGLETON} | DEPENDENT | redis.memory.rss_overhead_ratio[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Memory fragmentation bytes{#SINGLETON} | DEPENDENT | redis.memory.fragmentation_bytes[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Memory not counted for evict{#SINGLETON} | DEPENDENT | redis.memory.not_counted_for_evict[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Memory replication backlog{#SINGLETON} | DEPENDENT | redis.memory.replication_backlog[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Memory clients normal{#SINGLETON} | DEPENDENT | redis.memory.mem_clients_normal[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Memory clients slaves{#SINGLETON} | DEPENDENT | redis.memory.mem_clients_slaves[{#SINGLETON}] Preprocessing: - JSONPATH: |
|
Redis | Redis: Memory AOF buffer{#SINGLETON} | Size of the AOF buffer |
DEPENDENT | redis.memory.mem_aof_buffer[{#SINGLETON}] Preprocessing: - JSONPATH: |
Zabbix_raw_items | Redis: Get info | ZABBIX_PASSIVE | redis.info["{$REDIS.CONN.URI}"] | |
Zabbix_raw_items | Redis: Get config | ZABBIX_PASSIVE | redis.config["{$REDIS.CONN.URI}"] Preprocessing: - DISCARD_UNCHANGED_HEARTBEAT: |
Triggers
Name | Description | Expression | Severity | Dependencies and additional info |
---|---|---|---|---|
Redis: Service is down | - |
{TEMPLATE_NAME:redis.ping["{$REDIS.CONN.URI}"].last()}=0 |
AVERAGE | Manual close: YES |
Redis: Too many entries in the slowlog (over {$REDIS.SLOWLOG.COUNT.MAX.WARN} per second in 5m) | - |
{TEMPLATE_NAME:redis.slowlog.count["{$REDIS.CONN.URI}"].min(5m)}>{$REDIS.SLOWLOG.COUNT.MAX.WARN} |
INFO | |
Redis: Total number of connected clients is too high (over {$REDIS.CLIENTS.PRC.MAX.WARN}% in 5m) | 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 |
{TEMPLATE_NAME:redis.clients.connected.min(5m)}/{TEMPLATE_NAME:redis.config.maxclients.last()}*100>{$REDIS.CLIENTS.PRC.MAX.WARN} |
WARNING | |
Redis: Memory fragmentation ratio is too high (over {$REDIS.MEM.FRAG_RATIO.MAX.WARN} in 15m) | 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 |
{TEMPLATE_NAME:redis.memory.fragmentation_ratio.min(15m)}>{$REDIS.MEM.FRAG_RATIO.MAX.WARN} |
WARNING | |
Redis: Last AOF write operation failed | Detailed information about persistence: https://redis.io/topics/persistence |
{TEMPLATE_NAME:redis.persistence.aof_last_write_status.last()}=0 |
WARNING | |
Redis: Last RDB save operation failed | Detailed information about persistence: https://redis.io/topics/persistence |
{TEMPLATE_NAME:redis.persistence.rdb_last_bgsave_status.last()}=0 |
WARNING | |
Redis: Number of slaves has changed | Redis number of slaves has changed. Ack to close. |
{TEMPLATE_NAME:redis.replication.connected_slaves.diff()}=1 |
INFO | Manual close: YES |
Redis: Replication role has changed (new role: {ITEM.VALUE}) | Redis replication role has changed. Ack to close. |
{TEMPLATE_NAME:redis.replication.role.diff()}=1 and {TEMPLATE_NAME:redis.replication.role.strlen()}>0 |
WARNING | Manual close: YES |
Redis: Version has changed (new version: {ITEM.VALUE}) | Redis version has changed. Ack to close. |
{TEMPLATE_NAME:redis.server.redis_version.diff()}=1 and {TEMPLATE_NAME:redis.server.redis_version.strlen()}>0 |
INFO | Manual close: YES |
Redis: has been restarted (uptime < 10m) | Uptime is less than 10 minutes |
{TEMPLATE_NAME:redis.server.uptime.last()}<10m |
INFO | Manual close: YES |
Redis: Connections are rejected | The number of connections has reached the value of "maxclients". https://redis.io/topics/clients |
{TEMPLATE_NAME:redis.stats.rejected_connections.last()}>0 |
HIGH | |
Redis: Replication lag with master is too high (over {$REDIS.REPL.LAG.MAX.WARN} in 5m) | - |
{TEMPLATE_NAME:redis.replication.master_last_io_seconds_ago[{#SINGLETON}].min(5m)}>{$REDIS.REPL.LAG.MAX.WARN} |
WARNING | |
Redis: Process is not running | - |
{TEMPLATE_NAME:proc.num["{$REDIS.PROCESS_NAME}{#SINGLETON}"].last()}=0 |
HIGH | |
Redis: Memory usage is too high (over {$REDIS.MEM.PUSED.MAX.WARN}% in 5m) | - |
{TEMPLATE_NAME:redis.memory.used_memory.last()}/{TEMPLATE_NAME:redis.memory.maxmemory[{#SINGLETON}].min(5m)}*100>{$REDIS.MEM.PUSED.MAX.WARN} |
WARNING | |
Redis: Failed to fetch info data (or no data for 30m) | Zabbix has not received data for items for the last 30 minutes |
{TEMPLATE_NAME:redis.info["{$REDIS.CONN.URI}"].nodata(30m)}=1 |
WARNING | Manual close: YES Depends on: - Redis: Service is down |
Redis: Configuration has changed | Redis configuration has changed. Ack to close. |
{TEMPLATE_NAME:redis.config["{$REDIS.CONN.URI}"].diff()}=1 and {TEMPLATE_NAME:redis.config["{$REDIS.CONN.URI}"].strlen()}>0 |
INFO | Manual close: YES |
Feedback
Please report any issues with the template at https://support.zabbix.com
You can also provide a feedback, discuss the template or ask for help with it at ZABBIX forums.