diff --git a/zabbix-templates/redis-zabbix-template.json b/zabbix-templates/redis-zabbix-template.json new file mode 100644 index 0000000..86a87e0 --- /dev/null +++ b/zabbix-templates/redis-zabbix-template.json @@ -0,0 +1,4665 @@ +{ + "zabbix_export": { + "version": "6.4", + "template_groups": [ + { + "uuid": "cf12023e2c3542409d7152bdbb8dcd2a", + "name": "Nextcloud Installation" + }, + { + "uuid": "748ad4d098d447d492bb935c907f652f", + "name": "Templates/Databases" + } + ], + "templates": [ + { + "uuid": "e111446745a1425b862f8727ae63bce4", + "template": "Redis by Zabbix agent 2", + "name": "Redis by Zabbix agent 2", + "description": "Get Redis metrics from plugin for the New Zabbix Agent (zabbix-agent2).\n\nYou can discuss this template or leave feedback on our forum https://www.zabbix.com/forum/zabbix-suggestions-and-feedback/389050-discussion-thread-for-official-zabbix-template-redis\n\nTemplate tooling version used: 0.41", + "groups": [ + { + "name": "Nextcloud Installation" + }, + { + "name": "Templates/Databases" + } + ], + "items": [ + { + "uuid": "bc4989f098954259924cbee6717519a7", + "name": "Redis: Blocked clients", + "type": "DEPENDENT", + "key": "redis.clients.blocked", + "delay": "0", + "history": "7d", + "description": "The number of connections waiting on a blocking call", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Clients.blocked_clients" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "connections" + } + ] + }, + { + "uuid": "6140e8ff18fe41c6b65165b0f5346c7b", + "name": "Redis: Connected clients", + "type": "DEPENDENT", + "key": "redis.clients.connected", + "delay": "0", + "history": "7d", + "description": "The number of connected clients", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Clients.connected_clients" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "connections" + } + ] + }, + { + "uuid": "3f5d6532f403436c823e1461e49e54c2", + "name": "Redis: Max input buffer", + "type": "DEPENDENT", + "key": "redis.clients.max_input_buffer", + "delay": "0", + "history": "7d", + "description": "The biggest input buffer among current client connections", + "preprocessing": [ + { + "type": "JAVASCRIPT", + "parameters": [ + "var clients = JSON.parse(value).Clients\nreturn clients.client_recent_max_input_buffer || clients.client_biggest_input_buf" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "connections" + } + ] + }, + { + "uuid": "44788aa774e64fe685fe6496a9bea97d", + "name": "Redis: Max output buffer", + "type": "DEPENDENT", + "key": "redis.clients.max_output_buffer", + "delay": "0", + "history": "7d", + "description": "The biggest output buffer among current client connections", + "preprocessing": [ + { + "type": "JAVASCRIPT", + "parameters": [ + "var clients = JSON.parse(value).Clients\nreturn clients.client_recent_max_output_buffer || clients.client_longest_output_list" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "connections" + } + ] + }, + { + "uuid": "74f9fe26bdaf4a7bb86214bd7d500363", + "name": "Redis: Cluster enabled", + "type": "DEPENDENT", + "key": "redis.cluster.enabled", + "delay": "0", + "history": "7d", + "description": "Indicate Redis cluster is enabled", + "valuemap": { + "name": "Redis flag" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Cluster.cluster_enabled" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "system" + } + ] + }, + { + "uuid": "066486e3be25406185e624611eeb167a", + "name": "Redis: Max clients", + "type": "DEPENDENT", + "key": "redis.config.maxclients", + "delay": "0", + "history": "7d", + "description": "Max number of connected clients at the same time.\nOnce the limit is reached Redis will close all the new connections sending an error \"max number of clients reached\".", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.maxclients" + ] + }, + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "30m" + ] + } + ], + "master_item": { + "key": "redis.config[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "connections" + } + ] + }, + { + "uuid": "bf68f3ecc3544ef0af00889139caf313", + "name": "Redis: Get config", + "key": "redis.config[\"{$REDIS.CONN.URI}\"]", + "history": "1h", + "trends": "0", + "value_type": "TEXT", + "preprocessing": [ + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "1h" + ] + } + ], + "tags": [ + { + "tag": "component", + "value": "raw" + } + ], + "triggers": [ + { + "uuid": "819b379b51c34616820f86d21c703b27", + "expression": "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", + "name": "Redis: Configuration has changed", + "event_name": "Redis: Version has changed (new version: {ITEM.VALUE})", + "priority": "INFO", + "description": "Redis configuration has changed. Ack to close.", + "manual_close": "YES", + "tags": [ + { + "tag": "scope", + "value": "notice" + } + ] + } + ] + }, + { + "uuid": "99d427f1f76a468c9878225abb8cebbd", + "name": "Redis: CPU sys", + "type": "DEPENDENT", + "key": "redis.cpu.sys", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "s", + "description": "System CPU consumed by the Redis server", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.CPU.used_cpu_sys" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "cpu" + } + ] + }, + { + "uuid": "1bfce9a62c924510a9cac3b04320d838", + "name": "Redis: CPU sys children", + "type": "DEPENDENT", + "key": "redis.cpu.sys_children", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "s", + "description": "System CPU consumed by the background processes", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.CPU.used_cpu_sys_children" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "cpu" + } + ] + }, + { + "uuid": "83e7c9f5b8a24c949d72125671d6d39a", + "name": "Redis: CPU user", + "type": "DEPENDENT", + "key": "redis.cpu.user", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "s", + "description": "User CPU consumed by the Redis server", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.CPU.used_cpu_user" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "cpu" + } + ] + }, + { + "uuid": "8bc18ca0c79d4a81811b600cf3fe8ddd", + "name": "Redis: CPU user children", + "type": "DEPENDENT", + "key": "redis.cpu.user_children", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "s", + "description": "User CPU consumed by the background processes", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.CPU.used_cpu_user_children" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "cpu" + } + ] + }, + { + "uuid": "720f146ffe7e481482e11db4b99634c8", + "name": "Redis: Get info", + "key": "redis.info[\"{$REDIS.CONN.URI}\"]", + "history": "1h", + "trends": "0", + "value_type": "TEXT", + "tags": [ + { + "tag": "component", + "value": "raw" + } + ], + "triggers": [ + { + "uuid": "0a5176877ba24df8b5d38c8cc544f0a8", + "expression": "nodata(/Redis by Zabbix agent 2/redis.info[\"{$REDIS.CONN.URI}\"],30m)=1", + "name": "Redis: Failed to fetch info data", + "event_name": "Redis: Failed to fetch info data (or no data for 30m)", + "priority": "WARNING", + "description": "Zabbix has not received data for items for the last 30 minutes", + "manual_close": "YES", + "dependencies": [ + { + "name": "Redis: Service is down", + "expression": "last(/Redis by Zabbix agent 2/redis.ping[\"{$REDIS.CONN.URI}\"])=0" + } + ], + "tags": [ + { + "tag": "scope", + "value": "availability" + } + ] + } + ] + }, + { + "uuid": "5fe2afa1c8ff434a876822ea0b290659", + "name": "Redis: Memory fragmentation ratio", + "type": "DEPENDENT", + "key": "redis.memory.fragmentation_ratio", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "description": "This ratio is an indication of memory mapping efficiency:\n \u2014 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.\n \u2014 Value under 1.0 indicate that Redis likely has insufficient memory available. Consider optimizing memory usage or adding more RAM.\n\nNote: If your peak memory usage is much higher than your current memory usage, the memory fragmentation ratio may be unreliable.\n\nhttps://redis.io/topics/memory-optimization", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.mem_fragmentation_ratio" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ], + "triggers": [ + { + "uuid": "629531ff1ebc4bdbb1f277848c436230", + "expression": "min(/Redis by Zabbix agent 2/redis.memory.fragmentation_ratio,15m)>{$REDIS.MEM.FRAG_RATIO.MAX.WARN}", + "name": "Redis: Memory fragmentation ratio is too high", + "event_name": "Redis: Memory fragmentation ratio is too high (over {$REDIS.MEM.FRAG_RATIO.MAX.WARN} in 15m)", + "priority": "WARNING", + "description": "This ratio is an indication of memory mapping efficiency:\n \u2014 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.\n \u2014 Value under 1.0 indicate that Redis likely has insufficient memory available. Consider optimizing memory usage or adding more RAM.\n\nNote: If your peak memory usage is much higher than your current memory usage, the memory fragmentation ratio may be unreliable.\n\nhttps://redis.io/topics/memory-optimization", + "tags": [ + { + "tag": "scope", + "value": "performance" + } + ] + } + ] + }, + { + "uuid": "5fef1d341a974cc5aa164e550aff1537", + "name": "Redis: Memory used", + "type": "DEPENDENT", + "key": "redis.memory.used_memory", + "delay": "0", + "history": "7d", + "units": "B", + "description": "Total number of bytes allocated by Redis using its allocator", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.used_memory" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "de026d98fd9146b78f9a0be2c0b9de10", + "name": "Redis: Memory used Lua", + "type": "DEPENDENT", + "key": "redis.memory.used_memory_lua", + "delay": "0", + "history": "7d", + "units": "B", + "description": "Amount of memory used by the Lua engine", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.used_memory_lua" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "d3f05ab1c0404f01875afb964d9820e2", + "name": "Redis: Memory used peak", + "type": "DEPENDENT", + "key": "redis.memory.used_memory_peak", + "delay": "0", + "history": "7d", + "units": "B", + "description": "Peak memory consumed by Redis (in bytes)", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.used_memory_peak" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "ef06ae3dd4784702ad0d281da94c294d", + "name": "Redis: Memory used RSS", + "type": "DEPENDENT", + "key": "redis.memory.used_memory_rss", + "delay": "0", + "history": "7d", + "units": "B", + "description": "Number of bytes that Redis allocated as seen by the operating system", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.used_memory_rss" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "86501872c68c4e9fa4b55aaacebb3c3c", + "name": "Redis: AOF current rewrite time sec", + "type": "DEPENDENT", + "key": "redis.persistence.aof_current_rewrite_time_sec", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "s", + "description": "Duration of the on-going AOF rewrite operation if any", + "valuemap": { + "name": "Redis bgsave time" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_current_rewrite_time_sec" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "d298e1ce9aa1481391a48754e2a648b0", + "name": "Redis: AOF enabled", + "type": "DEPENDENT", + "key": "redis.persistence.aof_enabled", + "delay": "0", + "history": "7d", + "description": "Flag indicating AOF logging is activated", + "valuemap": { + "name": "Redis flag" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_enabled" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "e2e62cc728c04169afeb051000042e28", + "name": "Redis: AOF last bgrewrite status", + "type": "DEPENDENT", + "key": "redis.persistence.aof_last_bgrewrite_status", + "delay": "0", + "history": "7d", + "description": "Status of the last AOF rewrite operation", + "valuemap": { + "name": "Redis bgwrite status" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_last_bgrewrite_status" + ] + }, + { + "type": "BOOL_TO_DECIMAL", + "parameters": [ + "" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "5a14501541c44699b81e3a89cc93d628", + "name": "Redis: AOF last rewrite time sec", + "type": "DEPENDENT", + "key": "redis.persistence.aof_last_rewrite_time_sec", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "s", + "description": "Duration of the last AOF rewrite", + "valuemap": { + "name": "Redis bgsave time" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_last_rewrite_time_sec" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "2cfd96e347d341219238bdaf65f1846d", + "name": "Redis: AOF last write status", + "type": "DEPENDENT", + "key": "redis.persistence.aof_last_write_status", + "delay": "0", + "history": "7d", + "description": "Status of the last write operation to the AOF", + "valuemap": { + "name": "Redis bgwrite status" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_last_write_status" + ] + }, + { + "type": "BOOL_TO_DECIMAL", + "parameters": [ + "" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ], + "triggers": [ + { + "uuid": "324e0e8fac514ba99d67aea7eb0ddf7c", + "expression": "last(/Redis by Zabbix agent 2/redis.persistence.aof_last_write_status)=0", + "name": "Redis: Last AOF write operation failed", + "priority": "WARNING", + "description": "Detailed information about persistence: https://redis.io/topics/persistence", + "tags": [ + { + "tag": "scope", + "value": "notice" + } + ] + } + ] + }, + { + "uuid": "3f4866909425447a828600e9b44ace5b", + "name": "Redis: AOF rewrite in progress", + "type": "DEPENDENT", + "key": "redis.persistence.aof_rewrite_in_progress", + "delay": "0", + "history": "7d", + "description": "Flag indicating a AOF rewrite operation is on-going", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_rewrite_in_progress" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "83d243cc46304694954e08c0b03a3527", + "name": "Redis: AOF rewrite scheduled", + "type": "DEPENDENT", + "key": "redis.persistence.aof_rewrite_scheduled", + "delay": "0", + "history": "7d", + "description": "Flag indicating an AOF rewrite operation will be scheduled once the on-going RDB save is complete", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_rewrite_scheduled" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "90df2d442dc049d690044b92e0888c31", + "name": "Redis: Dump loading", + "type": "DEPENDENT", + "key": "redis.persistence.loading", + "delay": "0", + "history": "7d", + "description": "Flag indicating if the load of a dump file is on-going", + "valuemap": { + "name": "Redis flag" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.loading" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "5b1ecad187764429a22cbeb69afa3a28", + "name": "Redis: RDB bgsave in progress", + "type": "DEPENDENT", + "key": "redis.persistence.rdb_bgsave_in_progress", + "delay": "0", + "history": "7d", + "description": "\"1\" if bgsave is in progress and \"0\" otherwise", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.rdb_bgsave_in_progress" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "ea673953a3014dc091ec62a20ee53945", + "name": "Redis: RDB changes since last save", + "type": "DEPENDENT", + "key": "redis.persistence.rdb_changes_since_last_save", + "delay": "0", + "history": "7d", + "description": "Number of changes since the last background save", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.rdb_changes_since_last_save" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "d8c4d8fceeb5482a951999eedd350f73", + "name": "Redis: RDB current bgsave time sec", + "type": "DEPENDENT", + "key": "redis.persistence.rdb_current_bgsave_time_sec", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "s", + "description": "Duration of the on-going RDB save operation if any", + "valuemap": { + "name": "Redis bgsave time" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.rdb_current_bgsave_time_sec" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "e25772b422314949a564f219d6f725bc", + "name": "Redis: RDB last bgsave status", + "type": "DEPENDENT", + "key": "redis.persistence.rdb_last_bgsave_status", + "delay": "0", + "history": "7d", + "description": "Status of the last RDB save operation", + "valuemap": { + "name": "Redis bgwrite status" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.rdb_last_bgsave_status" + ] + }, + { + "type": "BOOL_TO_DECIMAL", + "parameters": [ + "" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ], + "triggers": [ + { + "uuid": "44e427ae3ce7419dbac3059be11e31ef", + "expression": "last(/Redis by Zabbix agent 2/redis.persistence.rdb_last_bgsave_status)=0", + "name": "Redis: Last RDB save operation failed", + "priority": "WARNING", + "description": "Detailed information about persistence: https://redis.io/topics/persistence", + "tags": [ + { + "tag": "scope", + "value": "notice" + } + ] + } + ] + }, + { + "uuid": "f506941104e34db08c0d8f5a6d9d9710", + "name": "Redis: RDB last bgsave time sec", + "type": "DEPENDENT", + "key": "redis.persistence.rdb_last_bgsave_time_sec", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "s", + "description": "Duration of the last bg_save operation", + "valuemap": { + "name": "Redis bgsave time" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.rdb_last_bgsave_time_sec" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "04e1c21ca49246d7aba062cd001a8c00", + "name": "Redis: RDB last save time", + "type": "DEPENDENT", + "key": "redis.persistence.rdb_last_save_time", + "delay": "0", + "history": "7d", + "description": "Epoch-based timestamp of last successful RDB save", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.rdb_last_save_time" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "5949fadcbe2b405baff0668e81627278", + "name": "Redis: Ping", + "key": "redis.ping[\"{$REDIS.CONN.URI}\"]", + "history": "7h", + "valuemap": { + "name": "Service state" + }, + "preprocessing": [ + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "10m" + ] + } + ], + "tags": [ + { + "tag": "component", + "value": "application" + }, + { + "tag": "component", + "value": "health" + } + ], + "triggers": [ + { + "uuid": "62353f9ed6204b70ba270827c3922244", + "expression": "last(/Redis by Zabbix agent 2/redis.ping[\"{$REDIS.CONN.URI}\"])=0", + "name": "Redis: Service is down", + "priority": "AVERAGE", + "manual_close": "YES", + "tags": [ + { + "tag": "scope", + "value": "availability" + } + ] + } + ] + }, + { + "uuid": "6680a01fb98c4504bed6458ba6cde146", + "name": "Redis: Connected slaves", + "type": "DEPENDENT", + "key": "redis.replication.connected_slaves", + "delay": "0", + "history": "7d", + "description": "Number of connected slaves", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.connected_slaves" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ], + "triggers": [ + { + "uuid": "6d213088211a4bb38ff97b59113dccd9", + "expression": "last(/Redis by Zabbix agent 2/redis.replication.connected_slaves,#1)<>last(/Redis by Zabbix agent 2/redis.replication.connected_slaves,#2)", + "recovery_mode": "NONE", + "name": "Redis: Number of slaves has changed", + "priority": "INFO", + "description": "Redis number of slaves has changed. Ack to close.", + "manual_close": "YES", + "tags": [ + { + "tag": "scope", + "value": "notice" + } + ] + } + ] + }, + { + "uuid": "37fa1595299c4a3ea091039f4db47cf3", + "name": "Redis: Master replication offset", + "type": "DEPENDENT", + "key": "redis.replication.master_repl_offset", + "delay": "0", + "history": "7d", + "units": "B", + "description": "Replication offset reported by the master", + "valuemap": { + "name": "Redis repl offset" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.master_repl_offset" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "cf067374339e44e5a4ba2cd70d4fec3a", + "name": "Redis: Replication backlog active", + "type": "DEPENDENT", + "key": "redis.replication.repl_backlog_active", + "delay": "0", + "history": "7d", + "description": "Flag indicating replication backlog is active", + "valuemap": { + "name": "Redis flag" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.repl_backlog_active" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "b4ea8df4d73144f99ffd4f5f6e6359ef", + "name": "Redis: Replication backlog first byte offset", + "type": "DEPENDENT", + "key": "redis.replication.repl_backlog_first_byte_offset", + "delay": "0", + "history": "7d", + "units": "B", + "description": "The master offset of the replication backlog buffer", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.repl_backlog_first_byte_offset" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "081cd9df926d48cea7e5c68f7761ddb1", + "name": "Redis: Replication backlog history length", + "type": "DEPENDENT", + "key": "redis.replication.repl_backlog_histlen", + "delay": "0", + "history": "7d", + "description": "Amount of data in the backlog sync buffer", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.repl_backlog_histlen" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "a437a46aafe3413884975fc480091bb5", + "name": "Redis: Replication backlog size", + "type": "DEPENDENT", + "key": "redis.replication.repl_backlog_size", + "delay": "0", + "history": "7d", + "units": "B", + "description": "Total size in bytes of the replication backlog buffer", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.repl_backlog_size" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "d8371457697744159aabc3bdece4af2e", + "name": "Redis: Replication role", + "type": "DEPENDENT", + "key": "redis.replication.role", + "delay": "0", + "history": "7d", + "trends": "0", + "value_type": "CHAR", + "description": "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).", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.role" + ] + }, + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "1d" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ], + "triggers": [ + { + "uuid": "d24f7aabefb345e791b3bb276f30ac8c", + "expression": "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", + "recovery_mode": "NONE", + "name": "Redis: Replication role has changed", + "event_name": "Redis: Replication role has changed (new role: {ITEM.VALUE})", + "priority": "WARNING", + "description": "Redis replication role has changed. Ack to close.", + "manual_close": "YES", + "tags": [ + { + "tag": "scope", + "value": "notice" + } + ] + } + ] + }, + { + "uuid": "8a08d4f30b78448986b9fd94cafd398c", + "name": "Redis: Process id", + "type": "DEPENDENT", + "key": "redis.server.process_id", + "delay": "0", + "history": "7d", + "description": "PID of the server process", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Server.process_id" + ] + }, + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "1d" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "os" + } + ] + }, + { + "uuid": "b2deab550d984b3e93741c53019e7f89", + "name": "Redis: Redis mode", + "type": "DEPENDENT", + "key": "redis.server.redis_mode", + "delay": "0", + "history": "7d", + "trends": "0", + "value_type": "CHAR", + "description": "The server's mode (\"standalone\", \"sentinel\" or \"cluster\")", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Server.redis_mode" + ] + }, + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "1d" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "system" + } + ] + }, + { + "uuid": "9699d6a6563b498ea73f88a4c1dd9cf1", + "name": "Redis: Redis version", + "type": "DEPENDENT", + "key": "redis.server.redis_version", + "delay": "0", + "history": "7d", + "trends": "0", + "value_type": "CHAR", + "description": "Version of the Redis server", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Server.redis_version" + ] + }, + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "1d" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "application" + } + ], + "triggers": [ + { + "uuid": "6e307546b26344deb83f2295c90e9a33", + "expression": "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", + "name": "Redis: Version has changed", + "event_name": "Redis: Version has changed (new version: {ITEM.VALUE})", + "priority": "INFO", + "description": "Redis version has changed. Ack to close.", + "manual_close": "YES", + "tags": [ + { + "tag": "scope", + "value": "notice" + } + ] + } + ] + }, + { + "uuid": "8c28e54f9e5d40d6b69c1f5b39b85054", + "name": "Redis: TCP port", + "type": "DEPENDENT", + "key": "redis.server.tcp_port", + "delay": "0", + "history": "7d", + "description": "TCP/IP listen port", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Server.tcp_port" + ] + }, + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "1d" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "network" + } + ] + }, + { + "uuid": "af225edd976146f2920bc05afb703f14", + "name": "Redis: Uptime", + "type": "DEPENDENT", + "key": "redis.server.uptime", + "delay": "0", + "history": "7d", + "units": "s", + "description": "Number of seconds since Redis server start", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Server.uptime_in_seconds" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "application" + } + ], + "triggers": [ + { + "uuid": "4961e91eed2a4e83899d135315748b0e", + "expression": "last(/Redis by Zabbix agent 2/redis.server.uptime)<10m", + "name": "Redis: has been restarted", + "event_name": "Redis: has been restarted (uptime < 10m)", + "priority": "INFO", + "description": "Uptime is less than 10 minutes.", + "manual_close": "YES", + "tags": [ + { + "tag": "scope", + "value": "notice" + } + ] + } + ] + }, + { + "uuid": "51a65fa1d27e4fcd915c5019687e7bc9", + "name": "Redis: Slowlog entries per second", + "key": "redis.slowlog.count[\"{$REDIS.CONN.URI}\"]", + "history": "7d", + "preprocessing": [ + { + "type": "CHANGE_PER_SECOND", + "parameters": [ + "" + ] + } + ], + "tags": [ + { + "tag": "component", + "value": "application" + } + ], + "triggers": [ + { + "uuid": "37fb0255e49c42c8913e56fe4aaa1d14", + "expression": "min(/Redis by Zabbix agent 2/redis.slowlog.count[\"{$REDIS.CONN.URI}\"],5m)>{$REDIS.SLOWLOG.COUNT.MAX.WARN}", + "name": "Redis: Too many entries in the slowlog", + "event_name": "Redis: Too many entries in the slowlog (over {$REDIS.SLOWLOG.COUNT.MAX.WARN} per second in 5m)", + "priority": "INFO", + "tags": [ + { + "tag": "scope", + "value": "performance" + } + ] + } + ] + }, + { + "uuid": "eca69284ac8e4ae3a7e965b6549e9343", + "name": "Redis: Evicted keys", + "type": "DEPENDENT", + "key": "redis.stats.evicted_keys", + "delay": "0", + "history": "7d", + "description": "Number of evicted keys due to maxmemory limit", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.evicted_keys" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "keys" + } + ] + }, + { + "uuid": "0a77355cfba348bb8884d2405892ed5d", + "name": "Redis: Expired keys", + "type": "DEPENDENT", + "key": "redis.stats.expired_keys", + "delay": "0", + "history": "7d", + "description": "Total number of key expiration events", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.expired_keys" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "keys" + } + ] + }, + { + "uuid": "5841b6f2a76b432080029367e7008cd1", + "name": "Redis: Instantaneous input bytes per second", + "type": "DEPENDENT", + "key": "redis.stats.instantaneous_input.rate", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "Bps", + "description": "The network's read rate per second in KB/sec", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.instantaneous_input_kbps" + ] + }, + { + "type": "MULTIPLIER", + "parameters": [ + "1024" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "network" + } + ] + }, + { + "uuid": "3552b285d7ca41f796c1838e268a92c1", + "name": "Redis: Instantaneous operations per sec", + "type": "DEPENDENT", + "key": "redis.stats.instantaneous_ops.rate", + "delay": "0", + "history": "7d", + "description": "Number of commands processed per second", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.instantaneous_ops_per_sec" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "operations" + } + ] + }, + { + "uuid": "86c05ed58e8448e9b7307a3c82e182af", + "name": "Redis: Instantaneous output bytes per second", + "type": "DEPENDENT", + "key": "redis.stats.instantaneous_output.rate", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "Bps", + "description": "The network's write rate per second in KB/sec", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.instantaneous_output_kbps" + ] + }, + { + "type": "MULTIPLIER", + "parameters": [ + "1024" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "network" + } + ] + }, + { + "uuid": "66d30a422e704174ae7700e1dd006aa1", + "name": "Redis: Keyspace hits", + "type": "DEPENDENT", + "key": "redis.stats.keyspace_hits", + "delay": "0", + "history": "7d", + "description": "Number of successful lookup of keys in the main dictionary", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.keyspace_hits" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "keys" + } + ] + }, + { + "uuid": "e24da63a83dc4223bed35cf80fc22300", + "name": "Redis: Keyspace misses", + "type": "DEPENDENT", + "key": "redis.stats.keyspace_misses", + "delay": "0", + "history": "7d", + "description": "Number of failed lookup of keys in the main dictionary", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.keyspace_misses" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "keys" + } + ] + }, + { + "uuid": "1f11810f06d44e498a895c516f902f95", + "name": "Redis: Latest fork usec", + "type": "DEPENDENT", + "key": "redis.stats.latest_fork_usec", + "delay": "0", + "history": "7d", + "units": "s", + "description": "Duration of the latest fork operation in microseconds", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.latest_fork_usec" + ] + }, + { + "type": "MULTIPLIER", + "parameters": [ + "1.0E-5" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "operations" + } + ] + }, + { + "uuid": "2662dfd3524749998306f1d7afe33019", + "name": "Redis: Migrate cached sockets", + "type": "DEPENDENT", + "key": "redis.stats.migrate_cached_sockets", + "delay": "0", + "history": "7d", + "description": "The number of sockets open for MIGRATE purposes", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.migrate_cached_sockets" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "connections" + } + ] + }, + { + "uuid": "186e6bda0a0e463bb8218a58f227ff2b", + "name": "Redis: Pubsub channels", + "type": "DEPENDENT", + "key": "redis.stats.pubsub_channels", + "delay": "0", + "history": "7d", + "description": "Global number of pub/sub channels with client subscriptions", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.pubsub_channels" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "subscribes" + } + ] + }, + { + "uuid": "1e0711a2b40e4fea88c0c57a1f6d2b30", + "name": "Redis: Pubsub patterns", + "type": "DEPENDENT", + "key": "redis.stats.pubsub_patterns", + "delay": "0", + "history": "7d", + "description": "Global number of pub/sub pattern with client subscriptions", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.pubsub_patterns" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "subscribes" + } + ] + }, + { + "uuid": "65135267c836435d872325a7129e5857", + "name": "Redis: Rejected connections", + "type": "DEPENDENT", + "key": "redis.stats.rejected_connections", + "delay": "0", + "history": "7d", + "description": "Number of connections rejected because of maxclients limit", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.rejected_connections" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "connections" + } + ], + "triggers": [ + { + "uuid": "5bf0680529ce496b8fe419e2732c69d1", + "expression": "last(/Redis by Zabbix agent 2/redis.stats.rejected_connections)>0", + "name": "Redis: Connections are rejected", + "priority": "HIGH", + "description": "The number of connections has reached the value of \"maxclients\".\n\nhttps://redis.io/topics/clients", + "tags": [ + { + "tag": "scope", + "value": "availability" + } + ] + } + ] + }, + { + "uuid": "37135fd8b7e94c41bc21e802f21baeb4", + "name": "Redis: Sync full", + "type": "DEPENDENT", + "key": "redis.stats.sync_full", + "delay": "0", + "history": "7d", + "description": "The number of full resyncs with replicas", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.sync_full" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "cb5b6380b164419280fdcd98077c5d8f", + "name": "Redis: Sync partial err", + "type": "DEPENDENT", + "key": "redis.stats.sync_partial_err", + "delay": "0", + "history": "7d", + "description": "The number of denied partial resync requests", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.sync_partial_err" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "231560fd350e4b5096b242dddecd7c8b", + "name": "Redis: Sync partial ok", + "type": "DEPENDENT", + "key": "redis.stats.sync_partial_ok", + "delay": "0", + "history": "7d", + "description": "The number of accepted partial resync requests", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.sync_partial_ok" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "278ff045f367443380fcd594dba77d53", + "name": "Redis: Total commands processed", + "type": "DEPENDENT", + "key": "redis.stats.total_commands_processed", + "delay": "0", + "history": "7d", + "description": "Total number of commands processed by the server", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.total_commands_processed" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "commands" + } + ] + }, + { + "uuid": "c9afbbbec8a44926887389a590f1df91", + "name": "Redis: Total connections received", + "type": "DEPENDENT", + "key": "redis.stats.total_connections_received", + "delay": "0", + "history": "7d", + "description": "Total number of connections accepted by the server", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.total_connections_received" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "connections" + } + ] + }, + { + "uuid": "838cb6cbfd8a42e1b9cfa4a60670324a", + "name": "Redis: Total net input bytes", + "type": "DEPENDENT", + "key": "redis.stats.total_net_input_bytes", + "delay": "0", + "history": "7d", + "units": "B", + "description": "The total number of bytes read from the network", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.total_net_input_bytes" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "network" + } + ] + }, + { + "uuid": "762f6b06eb094de896d265fcf3f9a603", + "name": "Redis: Total net output bytes", + "type": "DEPENDENT", + "key": "redis.stats.total_net_output_bytes", + "delay": "0", + "history": "7d", + "units": "B", + "description": "The total number of bytes written to the network", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.total_net_output_bytes" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "network" + } + ] + } + ], + "discovery_rules": [ + { + "uuid": "527a3526b0e64225bb3dcf2dbbfbda5b", + "name": "Process metrics discovery", + "key": "proc.num[\"{$REDIS.LLD.PROCESS_NAME}\"]", + "delay": "1h", + "description": "Collect metrics by Zabbix agent if it exists", + "item_prototypes": [ + { + "uuid": "376a8861723c45c3bde08573c7ab2ed9", + "name": "Redis: CPU utilization", + "key": "proc.cpu.util[\"{$REDIS.PROCESS_NAME}{#SINGLETON}\"]", + "history": "7d", + "value_type": "FLOAT", + "units": "%", + "description": "Process CPU utilization percentage.", + "tags": [ + { + "tag": "component", + "value": "cpu" + } + ] + }, + { + "uuid": "9d68e00f913a4faea5a334d361f324b0", + "name": "Redis: Memory usage (rss)", + "key": "proc.mem[\"{$REDIS.PROCESS_NAME}{#SINGLETON}\",,,,rss]", + "history": "7d", + "units": "B", + "description": "Resident set size memory used by process in bytes.", + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "325cabaa95994a58bf30992586ba7544", + "name": "Redis: Memory usage (vsize)", + "key": "proc.mem[\"{$REDIS.PROCESS_NAME}{#SINGLETON}\",,,,vsize]", + "history": "7d", + "units": "B", + "description": "Virtual memory size used by process in bytes.", + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "d9ccc25e5d1b4f05b22354a7672b518c", + "name": "Redis: Number of processes running", + "key": "proc.num[\"{$REDIS.PROCESS_NAME}{#SINGLETON}\"]", + "history": "7d", + "tags": [ + { + "tag": "component", + "value": "system" + } + ], + "trigger_prototypes": [ + { + "uuid": "590bd23c52b74dd7951dcf74903ac2ed", + "expression": "last(/Redis by Zabbix agent 2/proc.num[\"{$REDIS.PROCESS_NAME}{#SINGLETON}\"])=0", + "name": "Redis: Process is not running", + "priority": "HIGH", + "tags": [ + { + "tag": "scope", + "value": "availability" + } + ] + } + ] + } + ], + "graph_prototypes": [ + { + "uuid": "e26f8c31c3654febbeda2ffb97438c36", + "name": "Redis: Memory usage{#SINGLETON}", + "graph_items": [ + { + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "proc.mem[\"{$REDIS.PROCESS_NAME}{#SINGLETON}\",,,,vsize]" + } + }, + { + "sortorder": "1", + "color": "2774A4", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "proc.mem[\"{$REDIS.PROCESS_NAME}{#SINGLETON}\",,,,rss]" + } + } + ] + } + ], + "preprocessing": [ + { + "type": "JAVASCRIPT", + "parameters": [ + "return JSON.stringify(value > 0 ? [{'{#SINGLETON}': ''}] : []);" + ] + } + ] + }, + { + "uuid": "0f7966f47fda4b41856163ffb438bf27", + "name": "Keyspace discovery", + "type": "DEPENDENT", + "key": "redis.keyspace.discovery", + "delay": "0", + "filter": { + "evaltype": "AND", + "conditions": [ + { + "macro": "{#DB}", + "value": "{$REDIS.LLD.FILTER.DB.MATCHES}", + "formulaid": "A" + }, + { + "macro": "{#DB}", + "value": "{$REDIS.LLD.FILTER.DB.NOT_MATCHES}", + "operator": "NOT_MATCHES_REGEX", + "formulaid": "B" + } + ] + }, + "description": "Individual keyspace metrics", + "item_prototypes": [ + { + "uuid": "38fcb8524f1b4f50a4945333fc6c7536", + "name": "DB {#DB}: Average TTL", + "type": "DEPENDENT", + "key": "redis.db.avg_ttl[\"{#DB}\"]", + "delay": "0", + "history": "7d", + "units": "s", + "description": "Average TTL", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Keyspace[\"{#DB}\"].avg_ttl" + ] + }, + { + "type": "MULTIPLIER", + "parameters": [ + "0.001" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "keys" + }, + { + "tag": "database", + "value": "{#DB}" + } + ] + }, + { + "uuid": "bde12d459b7b4e23a22ed6188b57bb25", + "name": "DB {#DB}: Expires", + "type": "DEPENDENT", + "key": "redis.db.expires[\"{#DB}\"]", + "delay": "0", + "history": "7d", + "description": "Number of keys with an expiration", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Keyspace[\"{#DB}\"].expires" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "keys" + }, + { + "tag": "database", + "value": "{#DB}" + } + ] + }, + { + "uuid": "2bae0d2f8b8348bcad207b61ef6286c3", + "name": "DB {#DB}: Keys", + "type": "DEPENDENT", + "key": "redis.db.keys[\"{#DB}\"]", + "delay": "0", + "history": "7d", + "description": "Total number of keys", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Keyspace[\"{#DB}\"].keys" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "keys" + }, + { + "tag": "database", + "value": "{#DB}" + } + ] + } + ], + "graph_prototypes": [ + { + "uuid": "3271f3a143dc43f38a674b6cbae8cd0d", + "name": "DB {#DB}: Keys", + "graph_items": [ + { + "drawtype": "GRADIENT_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.db.keys[\"{#DB}\"]" + } + }, + { + "sortorder": "1", + "drawtype": "GRADIENT_LINE", + "color": "2774A4", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.db.expires[\"{#DB}\"]" + } + } + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "preprocessing": [ + { + "type": "JAVASCRIPT", + "parameters": [ + "return JSON.stringify(Object.keys(JSON.parse(value).Keyspace)\n .map(function (v){return {\"{#DB}\": v}}));" + ] + } + ] + }, + { + "uuid": "a3fb00d4bbc24779b6c7223b867f4d2c", + "name": "Version 4+ metrics discovery", + "type": "DEPENDENT", + "key": "redis.metrics.v4.discovery", + "delay": "0", + "description": "Additional metrics for versions 4+", + "item_prototypes": [ + { + "uuid": "b7e8d996335f41158b3c6a8961319db0", + "name": "Redis: Active defrag running{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.active_defrag_running[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Flag indicating if active defragmentation is active", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.active_defrag_running" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "2065e38cd7e5417abfd0b80116b0d77b", + "name": "Redis: Lazyfree pending objects{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.lazyfree_pending_objects[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "The number of objects waiting to be freed (as a result of calling UNLINK, or FLUSHDB and FLUSHALL with the ASYNC option)", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.lazyfree_pending_objects" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "2c5c700b53374dac86d805384b6bc9b0", + "name": "Redis: Max memory{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.maxmemory[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "Maximum amount of memory allocated to the Redisdb system", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.maxmemory" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "0f094be6d0fa4afda3aa7916fac4d3a3", + "name": "Redis: Max memory policy{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.maxmemory_policy[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "trends": "0", + "value_type": "CHAR", + "description": "The value of the maxmemory-policy configuration directive", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.maxmemory_policy" + ] + }, + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "1d" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "bf804c6ee44640168e15ca62803b7f10", + "name": "Redis: Total system memory{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.total_system_memory[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "The total amount of memory that the Redis host has", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.total_system_memory" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "1c0e0355d5cd429f9a914fb67f29e366", + "name": "Redis: Memory used dataset{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.used_memory_dataset[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "The size in bytes of the dataset", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.used_memory_dataset" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "4e5937420b3843568d9f36b40c0a3c28", + "name": "Redis: Memory used dataset %{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.used_memory_dataset_perc[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "%", + "description": "The percentage of used_memory_dataset out of the net memory usage (used_memory minus used_memory_startup)", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.used_memory_dataset_perc" + ] + }, + { + "type": "REGEX", + "parameters": [ + "(.+)%", + "\\1" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "e085382c18f3473f9d2271024cd61e93", + "name": "Redis: Memory used overhead{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.used_memory_overhead[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "The sum in bytes of all overheads that the server allocated for managing its internal data structures", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.used_memory_overhead" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "5da63141e8b145a38954736806602b4a", + "name": "Redis: Memory used peak %{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.used_memory_peak_perc[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "%", + "description": "The percentage of used_memory_peak out of used_memory", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.used_memory_peak_perc" + ] + }, + { + "type": "REGEX", + "parameters": [ + "(.+)%", + "\\1" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "dabd2918056b4b999f4b30bd8e64e8a1", + "name": "Redis: Memory used startup{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.used_memory_startup[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "Initial amount of memory consumed by Redis at startup in bytes", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.used_memory_startup" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "9da41967290742cb8daa2f69ac1d6966", + "name": "Redis: AOF last CoW size{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.persistence.aof_last_cow_size[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "The size in bytes of copy-on-write allocations during the last AOF rewrite operation", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_last_cow_size" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "768839c72e3f4be89e30dd0d140c9d03", + "name": "Redis: RDB last CoW size{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.persistence.rdb_last_cow_size[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "The size in bytes of copy-on-write allocations during the last RDB save operation", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.rdb_last_cow_size" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "bead155d26054d0487622f29b86dcd2b", + "name": "Redis: Replication second offset{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.replication.second_repl_offset[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "B", + "description": "Offset up to which replication IDs are accepted", + "valuemap": { + "name": "Redis repl offset" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.second_repl_offset" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "14d062351a114e8eafa2b2b889317903", + "name": "Redis: Executable path{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.server.executable[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "trends": "0", + "value_type": "CHAR", + "description": "The path to the server's executable", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Server.executable" + ] + }, + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "1d" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "system" + } + ] + }, + { + "uuid": "5458542148954618a6d22df1effffe57", + "name": "Redis: Active defrag hits{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.stats.active_defrag_hits[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Number of value reallocations performed by active the defragmentation process", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.active_defrag_hits" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "f8b424743dd24691be2bd07d5538b16a", + "name": "Redis: Active defrag key hits{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.stats.active_defrag_key_hits[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Number of keys that were actively defragmented", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.active_defrag_key_hits" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "keys" + } + ] + }, + { + "uuid": "8aba0ad8d7314b6b8cf1e80cb0afb618", + "name": "Redis: Active defrag key misses{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.stats.active_defrag_key_misses[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Number of keys that were skipped by the active defragmentation process", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.active_defrag_key_misses" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "keys" + } + ] + }, + { + "uuid": "3c20cca8b4a84c619d90d64a34386dfa", + "name": "Redis: Active defrag misses{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.stats.active_defrag_misses[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Number of aborted value reallocations started by the active defragmentation process", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.active_defrag_misses" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "a34f4e33a0cb4381b5c3b7a507e90bee", + "name": "Redis: Expired stale %{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.stats.expired_stale_perc[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.expired_stale_perc" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "keys" + } + ] + }, + { + "uuid": "81667ae170b04ac0980e122566c5ed8e", + "name": "Redis: Expired time cap reached count{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.stats.expired_time_cap_reached_count[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.expired_time_cap_reached_count" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "cycles" + } + ] + }, + { + "uuid": "93bf8753d6b242f1b8d2288fb926e01b", + "name": "Redis: Slave expires tracked keys{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.stats.slave_expires_tracked_keys[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "The number of keys tracked for expiry purposes (applicable only to writable replicas)", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Stats.slave_expires_tracked_keys" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "keys" + } + ] + } + ], + "trigger_prototypes": [ + { + "uuid": "0c3560588d2d421c843c006ef5fa4645", + "expression": "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}", + "name": "Redis: Memory usage is too high", + "event_name": "Redis: Memory usage is too high (over {$REDIS.MEM.PUSED.MAX.WARN}% in 5m)", + "priority": "WARNING", + "tags": [ + { + "tag": "scope", + "value": "capacity" + }, + { + "tag": "scope", + "value": "performance" + } + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Server.redis_version" + ] + }, + { + "type": "JAVASCRIPT", + "parameters": [ + "return JSON.stringify(parseInt(value.split('.')[0]) >= 4 ? [{'{#SINGLETON}': ''}] : []);" + ] + } + ] + }, + { + "uuid": "f7a9f1e26bb54cb6adf74ee9f30d88cd", + "name": "Version 5+ metrics discovery", + "type": "DEPENDENT", + "key": "redis.metrics.v5.discovery", + "delay": "0", + "description": "Additional metrics for versions 5+", + "item_prototypes": [ + { + "uuid": "adc25c08108e4fcaa3b41d2897d0a0c6", + "name": "Redis: Allocator active{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.allocator_active[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.allocator_active" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "81ef89fc751746ac8254a55a2b2e4ea7", + "name": "Redis: Allocator allocated{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.allocator_allocated[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.allocator_allocated" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "23e034630d7246f7ba993d5c6db2d6bb", + "name": "Redis: Allocator fragmentation bytes{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.allocator_frag_bytes[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.allocator_frag_bytes" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "690a13b13d134f648b4b8381f6a185f0", + "name": "Redis: Allocator fragmentation ratio{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.allocator_frag_ratio[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.allocator_frag_ratio" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "0abd6a9adb034536b3a389e0af2af732", + "name": "Redis: Allocator resident{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.allocator_resident[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.allocator_resident" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "b5ecad496c554ccaad495d2f112b5e2f", + "name": "Redis: Allocator RSS bytes{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.allocator_rss_bytes[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.allocator_rss_bytes" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "643fe70e1a7f488196b053722a2df9c2", + "name": "Redis: Allocator RSS ratio{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.allocator_rss_ratio[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.allocator_rss_ratio" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "40a639acab5a415a8fb48b7520b7d198", + "name": "Redis: Memory fragmentation bytes{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.fragmentation_bytes[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.mem_fragmentation_bytes" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "70c53f60d020440c8f7cba83b32f58c9", + "name": "Redis: Memory AOF buffer{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.mem_aof_buffer[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Size of the AOF buffer", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.mem_aof_buffer" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + }, + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "d64718269f20470e9661ff7c479dc300", + "name": "Redis: Memory clients normal{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.mem_clients_normal[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.mem_clients_normal" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "e685ab11ab534f8abd1a7e2ee35839e8", + "name": "Redis: Memory clients slaves{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.mem_clients_slaves[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.mem_clients_slaves" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "f6c9bfda015d47d0b34f466e95356a5d", + "name": "Redis: Memory not counted for evict{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.not_counted_for_evict[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.mem_not_counted_for_evict" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "eaac8b142fc540ad9c7563e145819643", + "name": "Redis: Memory number of cached scripts{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.number_of_cached_scripts[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.number_of_cached_scripts" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "a221fd161be641c1a8091d0bfd1d2157", + "name": "Redis: Memory replication backlog{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.replication_backlog[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.mem_replication_backlog" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + }, + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "e699ad3b29ca486f91688684ffde6b73", + "name": "Redis: Memory RSS overhead bytes{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.rss_overhead_bytes[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "units": "B", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.rss_overhead_bytes" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "d4d51ae4ce214699ba760fcb62289a51", + "name": "Redis: Memory RSS overhead ratio{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.rss_overhead_ratio[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "value_type": "FLOAT", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.rss_overhead_ratio" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + }, + { + "uuid": "e3733b2993cb4199bfac8b0711d4bb72", + "name": "Redis: Memory used scripts{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.memory.used_memory_scripts[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Memory.used_memory_scripts" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "memory" + } + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Server.redis_version" + ] + }, + { + "type": "JAVASCRIPT", + "parameters": [ + "return JSON.stringify(parseInt(value.split('.')[0]) >= 5 ? [{'{#SINGLETON}': ''}] : []);" + ] + } + ] + }, + { + "uuid": "ac3a22522a2c4fa1a256794dd2292480", + "name": "AOF metrics discovery", + "type": "DEPENDENT", + "key": "redis.persistence.aof.discovery", + "delay": "0", + "description": "If AOF is activated, additional metrics will be added", + "item_prototypes": [ + { + "uuid": "e68a7b6931324bd79268a5151717505e", + "name": "Redis: AOF base size{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.persistence.aof_base_size[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "AOF file size on latest startup or rewrite", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_base_size" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "875ace20e5c94044ae63f36d98ac6256", + "name": "Redis: AOF buffer length{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.persistence.aof_buffer_length[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "Size of the AOF buffer", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_buffer_length" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "679bd919383a4106916a84fae5be47bb", + "name": "Redis: AOF current size{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.persistence.aof_current_size[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "AOF current file size", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_current_size" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "ff9955c770aa4e0883cc72bf1d762be7", + "name": "Redis: AOF delayed fsync{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.persistence.aof_delayed_fsync[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Delayed fsync counter", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_delayed_fsync" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "0606ef5762b04d91abba95269eb77ae2", + "name": "Redis: AOF pending background I/O fsync{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.persistence.aof_pending_bio_fsync[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Number of fsync pending jobs in background I/O queue", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_pending_bio_fsync" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "194061b8ad6c484ca8c732d69eeb0f1e", + "name": "Redis: AOF pending rewrite{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.persistence.aof_pending_rewrite[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Flag indicating an AOF rewrite operation will", + "valuemap": { + "name": "Redis flag" + }, + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_pending_rewrite" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + }, + { + "uuid": "1a39f5854ae948759deadac0ae57e9f7", + "name": "Redis: AOF rewrite buffer length{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.persistence.aof_rewrite_buffer_length[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "Size of the AOF rewrite buffer", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Persistence.aof_rewrite_buffer_length" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "persistence" + } + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "preprocessing": [ + { + "type": "JAVASCRIPT", + "parameters": [ + "return JSON.stringify(JSON.parse(value).Persistence.aof_enabled === '1'\n ? [{'{#SINGLETON}': ''}]\n : []);" + ] + } + ] + }, + { + "uuid": "4379bad5624a4a5db0c86c5332cf5cc9", + "name": "Replication metrics discovery", + "type": "DEPENDENT", + "key": "redis.replication.master.discovery", + "delay": "0", + "description": "If the instance is the master and the slaves are connected, additional metrics are provided", + "item_prototypes": [ + { + "uuid": "2d26ebb0a5024378b59b3f0ee8e7fff4", + "name": "Redis slave {#SLAVE_IP}:{#SLAVE_PORT}: Replication lag in bytes", + "type": "DEPENDENT", + "key": "redis.replication.lag_bytes[\"{#SLAVE_IP}:{#SLAVE_PORT}\"]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "Replication lag in bytes", + "preprocessing": [ + { + "type": "JAVASCRIPT", + "parameters": [ + "var repl = JSON.parse(value).Replication;\nvar res = Object.keys(repl)\n .filter(function (v) {return v.match(/slave\\d+/)})\n .filter(function (v) {return (repl[v].ip === \"{#SLAVE_IP}\" && repl[v].port === \"{#SLAVE_PORT}\")})\n .map(function (v) {return repl[v].offset})[0];\n\nif (res === undefined) {\n throw 'Slave {#SLAVE_IP}:{#SLAVE_PORT} is no longer available.';\n}\n\nreturn res;" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + } + ], + "graph_prototypes": [ + { + "uuid": "0bce553a5a1240e2b097754dba8f6939", + "name": "Redis slave {#SLAVE_IP}:{#SLAVE_PORT}: Replication lag bytes", + "graph_items": [ + { + "drawtype": "BOLD_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.replication.lag_bytes[\"{#SLAVE_IP}:{#SLAVE_PORT}\"]" + } + } + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "preprocessing": [ + { + "type": "JAVASCRIPT", + "parameters": [ + "var repl = JSON.parse(value).Replication;\nreturn JSON.stringify(Object.keys(repl)\n .filter(function (v) {return v.match(/slave\\d+/)})\n .map(function (v){\n return {\"{#SLAVE_IP}\": repl[v].ip, \"{#SLAVE_PORT}\": repl[v].port}\n }));" + ] + } + ] + }, + { + "uuid": "ca9296a7acb548789865ac716a54ce10", + "name": "Slave metrics discovery", + "type": "DEPENDENT", + "key": "redis.replication.slave.discovery", + "delay": "0", + "description": "If the instance is a replica, additional metrics are provided", + "item_prototypes": [ + { + "uuid": "92e4b2133a6a4ec28e739bbef94ab992", + "name": "Redis: Master host{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.replication.master_host[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "trends": "0", + "value_type": "CHAR", + "description": "Host or IP address of the master", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.master_host" + ] + }, + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "1d" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "0acbeb8633da41be9bfb56627a946fd9", + "name": "Redis: Master last I/O seconds ago{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.replication.master_last_io_seconds_ago[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "s", + "description": "Number of seconds since the last interaction with master", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.master_last_io_seconds_ago" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ], + "trigger_prototypes": [ + { + "uuid": "292f477d970d4a138d2d1b2c45d965dd", + "expression": "min(/Redis by Zabbix agent 2/redis.replication.master_last_io_seconds_ago[{#SINGLETON}],5m)>{$REDIS.REPL.LAG.MAX.WARN}", + "name": "Redis: Replication lag with master is too high", + "event_name": "Redis: Replication lag with master is too high (over {$REDIS.REPL.LAG.MAX.WARN} in 5m)", + "priority": "WARNING", + "tags": [ + { + "tag": "scope", + "value": "availability" + } + ] + } + ] + }, + { + "uuid": "8024463a9f644e6e91def5a0e88abd4b", + "name": "Redis: Master link status{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.replication.master_link_status[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "trends": "0", + "value_type": "CHAR", + "description": "Status of the link (up/down)", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.master_link_status" + ] + }, + { + "type": "BOOL_TO_DECIMAL", + "parameters": [ + "" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "da63a0b31bed47edaba3f802738fa4fd", + "name": "Redis: Master port{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.replication.master_port[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Master listening TCP port", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.master_port" + ] + }, + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "1d" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "6835a260e66741159ee10046265a1ea4", + "name": "Redis: Master sync in progress{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.replication.master_sync_in_progress[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Indicate the master is syncing to the replica", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.master_sync_in_progress" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "3f92dfa07237495ca7696bb4b078eb93", + "name": "Redis: Slave priority{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.replication.slave_priority[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "The priority of the instance as a candidate for failover", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.slave_priority" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "f38492a49f214ec8b71fdc51d243281e", + "name": "Redis: Slave priority{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.replication.slave_read_only[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "description": "Flag indicating if the replica is read-only", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.slave_read_only" + ] + }, + { + "type": "DISCARD_UNCHANGED_HEARTBEAT", + "parameters": [ + "1d" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + }, + { + "uuid": "7eb23d1d96ea489c9e0b39b7839147bd", + "name": "Redis: Slave replication offset{#SINGLETON}", + "type": "DEPENDENT", + "key": "redis.replication.slave_repl_offset[{#SINGLETON}]", + "delay": "0", + "history": "7d", + "units": "B", + "description": "The replication offset of the replica instance", + "preprocessing": [ + { + "type": "JSONPATH", + "parameters": [ + "$.Replication.slave_repl_offset" + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "tags": [ + { + "tag": "component", + "value": "replication" + } + ] + } + ], + "graph_prototypes": [ + { + "uuid": "bbc5fb3021be4c3381e48fe623b611f0", + "name": "Redis: Replication lag time{#SINGLETON}", + "graph_items": [ + { + "drawtype": "BOLD_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.replication.master_last_io_seconds_ago[{#SINGLETON}]" + } + } + ] + } + ], + "master_item": { + "key": "redis.info[\"{$REDIS.CONN.URI}\"]" + }, + "preprocessing": [ + { + "type": "JAVASCRIPT", + "parameters": [ + "return JSON.stringify(JSON.parse(value).Replication.role === 'slave'\n ? [{'{#SINGLETON}': ''}]\n : []);" + ] + } + ] + } + ], + "tags": [ + { + "tag": "class", + "value": "database" + }, + { + "tag": "target", + "value": "redis" + } + ], + "macros": [ + { + "macro": "{$REDIS.CLIENTS.PRC.MAX.WARN}", + "value": "80", + "description": "Maximum percentage of connected clients" + }, + { + "macro": "{$REDIS.CONN.URI}", + "value": "tcp://localhost:6379", + "description": "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\"" + }, + { + "macro": "{$REDIS.LLD.FILTER.DB.MATCHES}", + "value": ".*", + "description": "Filter of discoverable databases" + }, + { + "macro": "{$REDIS.LLD.FILTER.DB.NOT_MATCHES}", + "value": "CHANGE_IF_NEEDED", + "description": "Filter to exclude discovered databases" + }, + { + "macro": "{$REDIS.LLD.PROCESS_NAME}", + "value": "redis-server", + "description": "Redis server process name for LLD" + }, + { + "macro": "{$REDIS.MEM.FRAG_RATIO.MAX.WARN}", + "value": "1.7", + "description": "Maximum memory fragmentation ratio" + }, + { + "macro": "{$REDIS.MEM.PUSED.MAX.WARN}", + "value": "90", + "description": "Maximum percentage of memory used" + }, + { + "macro": "{$REDIS.PROCESS_NAME}", + "value": "redis-server", + "description": "Redis server process name" + }, + { + "macro": "{$REDIS.REPL.LAG.MAX.WARN}", + "value": "30s", + "description": "Maximum replication lag in seconds" + }, + { + "macro": "{$REDIS.SLOWLOG.COUNT.MAX.WARN}", + "value": "1", + "description": "Maximum number of slowlog entries per second" + } + ], + "dashboards": [ + { + "uuid": "7c5bdd7bc74648c4891abc6649d105d0", + "name": "Redis overview", + "pages": [ + { + "widgets": [ + { + "type": "graph", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Clients" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + }, + { + "type": "graph", + "y": "5", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Commands" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + }, + { + "type": "graph", + "y": "10", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Persistence" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + }, + { + "type": "graph", + "y": "15", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Slowlog" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + }, + { + "type": "graphprototype", + "y": "20", + "width": "12", + "height": "5", + "fields": [ + { + "type": "INTEGER", + "name": "columns", + "value": "1" + }, + { + "type": "GRAPH_PROTOTYPE", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Replication lag time{#SINGLETON}" + } + }, + { + "type": "INTEGER", + "name": "rows", + "value": "1" + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "2" + } + ] + }, + { + "type": "graph", + "x": "12", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Keyspace" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + }, + { + "type": "graph", + "x": "12", + "y": "5", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Expired keys" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + }, + { + "type": "graph", + "x": "12", + "y": "10", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Slaves" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + }, + { + "type": "graph", + "x": "12", + "y": "15", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Uptime" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + } + ] + } + ] + }, + { + "uuid": "ee4c29eb7a0f443fafb7e7d3b9df7b24", + "name": "Redis performance", + "pages": [ + { + "widgets": [ + { + "type": "graph", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: CPU" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + }, + { + "type": "graph", + "y": "5", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Memory" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + }, + { + "type": "graph", + "x": "12", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Network" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + }, + { + "type": "graph", + "x": "12", + "y": "5", + "width": "12", + "height": "5", + "fields": [ + { + "type": "GRAPH", + "name": "graphid", + "value": { + "host": "Redis by Zabbix agent 2", + "name": "Redis: Memory fragmentation" + } + }, + { + "type": "INTEGER", + "name": "source_type", + "value": "0" + } + ] + } + ] + } + ] + } + ], + "valuemaps": [ + { + "uuid": "82f4dc4ef0c9471d82dbe3605f4f31d0", + "name": "Redis bgsave time", + "mappings": [ + { + "value": "- 1s", + "newvalue": "Inactive" + } + ] + }, + { + "uuid": "098c2240a8e947fc9f6f0a677ffcbc0e", + "name": "Redis bgwrite status", + "mappings": [ + { + "value": "0", + "newvalue": "Error" + }, + { + "value": "1", + "newvalue": "Ok" + } + ] + }, + { + "uuid": "3b6cd97c65d14e10bdabf5c42d767ad9", + "name": "Redis flag", + "mappings": [ + { + "value": "0", + "newvalue": "No" + }, + { + "value": "1", + "newvalue": "Yes" + } + ] + }, + { + "uuid": "47c80efdf46745f1959eee76f68014e7", + "name": "Redis repl offset", + "mappings": [ + { + "value": "-1 B", + "newvalue": "Undefined" + } + ] + }, + { + "uuid": "ae3eec95cd1c440ba6c67ed5d7b7b915", + "name": "Service state", + "mappings": [ + { + "value": "0", + "newvalue": "Down" + }, + { + "value": "1", + "newvalue": "Up" + } + ] + } + ] + } + ], + "triggers": [ + { + "uuid": "65e4652dbebe47c4b46e47bb8a17aac6", + "expression": "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}", + "name": "Redis: Total number of connected clients is too high", + "event_name": "Redis: Total number of connected clients is too high (over {$REDIS.CLIENTS.PRC.MAX.WARN}% in 5m)", + "priority": "WARNING", + "description": "When the number of clients reaches the value of the \"maxclients\" parameter, new connections will be rejected.\n\nhttps://redis.io/topics/clients#maximum-number-of-clients", + "tags": [ + { + "tag": "scope", + "value": "performance" + } + ] + } + ], + "graphs": [ + { + "uuid": "c04e813d482a4709b13aa2a98911e11d", + "name": "Redis: Clients", + "graph_items": [ + { + "drawtype": "GRADIENT_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.clients.connected" + } + }, + { + "sortorder": "1", + "drawtype": "GRADIENT_LINE", + "color": "2774A4", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.clients.blocked" + } + } + ] + }, + { + "uuid": "8643a1b690dc456b8daacc4b2b0810d4", + "name": "Redis: Commands", + "graph_items": [ + { + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.stats.instantaneous_ops.rate" + } + } + ] + }, + { + "uuid": "765c0125e8d549dc88279f65f38b6ed9", + "name": "Redis: CPU", + "graph_items": [ + { + "drawtype": "GRADIENT_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.cpu.sys" + } + }, + { + "sortorder": "1", + "color": "2774A4", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.cpu.sys_children" + } + }, + { + "sortorder": "2", + "drawtype": "GRADIENT_LINE", + "color": "F63100", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.cpu.user" + } + }, + { + "sortorder": "3", + "color": "A54F10", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.cpu.user_children" + } + } + ] + }, + { + "uuid": "fd25ac6239064cd29dc1939cd15005de", + "name": "Redis: Expired keys", + "graph_items": [ + { + "drawtype": "BOLD_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.stats.expired_keys" + } + }, + { + "sortorder": "1", + "drawtype": "BOLD_LINE", + "color": "2774A4", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.stats.evicted_keys" + } + } + ] + }, + { + "uuid": "24cff7af388e41a8899e2916f12224d1", + "name": "Redis: Keyspace", + "graph_items": [ + { + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.stats.keyspace_hits" + } + }, + { + "sortorder": "1", + "color": "2774A4", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.stats.keyspace_misses" + } + } + ] + }, + { + "uuid": "a3ea32878f25481998e0fde7ba00a11b", + "name": "Redis: Memory", + "graph_items": [ + { + "drawtype": "GRADIENT_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.memory.used_memory" + } + }, + { + "sortorder": "1", + "drawtype": "BOLD_LINE", + "color": "2774A4", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.memory.used_memory_rss" + } + }, + { + "sortorder": "2", + "drawtype": "BOLD_LINE", + "color": "F63100", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.memory.used_memory_peak" + } + } + ] + }, + { + "uuid": "ff8d6320a8e246a39d35ccb93220eb3a", + "name": "Redis: Memory fragmentation", + "graph_items": [ + { + "drawtype": "BOLD_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.memory.fragmentation_ratio" + } + } + ] + }, + { + "uuid": "b3db4cc8247647faae0d3c2389f37d80", + "name": "Redis: Network", + "graph_items": [ + { + "drawtype": "GRADIENT_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.stats.instantaneous_input.rate" + } + }, + { + "sortorder": "1", + "drawtype": "GRADIENT_LINE", + "color": "2774A4", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.stats.instantaneous_output.rate" + } + } + ] + }, + { + "uuid": "81fde2046d2340119b2002da2b75df16", + "name": "Redis: Persistence", + "graph_items": [ + { + "drawtype": "BOLD_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.persistence.rdb_last_bgsave_time_sec" + } + }, + { + "sortorder": "1", + "drawtype": "BOLD_LINE", + "color": "2774A4", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.persistence.aof_last_rewrite_time_sec" + } + } + ] + }, + { + "uuid": "1ace370516b74875977788d44ab478e5", + "name": "Redis: Slaves", + "graph_items": [ + { + "drawtype": "GRADIENT_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.replication.connected_slaves" + } + } + ] + }, + { + "uuid": "8dd9935cb7a24004b9783c3f1a445f1b", + "name": "Redis: Slowlog", + "graph_items": [ + { + "drawtype": "GRADIENT_LINE", + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.slowlog.count[\"{$REDIS.CONN.URI}\"]" + } + } + ] + }, + { + "uuid": "32d954e849e64fe99bd8846b54aadede", + "name": "Redis: Uptime", + "graph_items": [ + { + "color": "1A7C11", + "item": { + "host": "Redis by Zabbix agent 2", + "key": "redis.server.uptime" + } + } + ] + } + ] + } +} \ No newline at end of file