This is the multi-page printable view of this section. .
Module: REDIS
Concept
The entity model of Redis is almost the same as that of PostgreSQL, which also includes the concepts of Cluster and Instance. The Cluster here does not refer to the native Redis Cluster mode.
The core difference between the REDIS module and the PGSQL module is that Redis uses a single-node multi-instance deployment rather than the 1:1 deployment: multiple Redis instances are typically deployed on a physical/virtual machine node to utilize multi-core CPUs fully. Therefore, the ways to configure and administer Redis instances are slightly different from PGSQL.
In Redis managed by Pigsty, nodes are entirely subordinate to the cluster, which means that currently, it is not allowed to deploy Redis instances of two different clusters on one node. However, this does not affect deploying multiple independent Redis primary replica instances on one node.
Configuration
Redis Identity
Redis identity parameters are required parameters when defining a Redis cluster.
| Name | Attribute | Description | Example |
|---|---|---|---|
redis_cluster |
REQUIRED, cluster level | cluster name | redis-test |
redis_node |
REQUIRED, node level | Node Sequence Number | 1,2 |
redis_instances |
REQUIRED, node level | Instance Definition | { 6001 : {} ,6002 : {}} |
redis_cluster: Redis cluster name, top-level namespace for cluster sources.redis_node: Redis node identity, integer, and node number in the cluster.redis_instances: A Dict with the Key as redis port and the value as an instance level parameter.
Redis Mode
There are three redis_mode available in Pigsty:
standalone: setup Redis in standalone (master-slave) modecluster: setup this Redis cluster as a Redis native clustersentinel: setup Redis as a sentinel for standalone Redis HA
Redis Definition
Here are three examples:
- A 1-node, one master & one slave Redis Standalone cluster:
redis-ms - A 1-node, 3-instance Redis Sentinel cluster:
redis-sentinel - A 2-node, 6-instance Redis Cluster:
redis-cluster
Limitation
- A Redis node can only belong to one Redis cluster, which means you cannot assign a node to two different Redis clusters simultaneously.
- On each Redis node, you need to assign a unique port number to the Redis instance to avoid port conflicts.
- Typically, the same Redis cluster will use the same password, but multiple Redis instances on a Redis node cannot set different passwords (because redis_exporter only allows one password).
- Redis Cluster has built-in HA, while standalone HA requires manually configured in Sentinel because we are unsure if you have any sentinels available. Fortunately, configuring standalone Redis HA is straightforward: Configure HA with sentinel.
Administration
Here are some common administration tasks for Redis. Check FAQ: Redis for more details.
Init Redis
Init Cluster/Node/Instance
You can also use wrapper script:
Remove Redis
Remove Cluster/Node/Instance
You can also use wrapper script:
Reconfigure Redis
You can partially run redis.yml tasks to re-configure redis.
Beware that redis can not be reload online, you have to restart redis to make config effective.
Use Redis Client Tools
Access redis instance with redis-cli:
Redis also has a redis-benchmark which can be used for benchmark and generate load on redis server:
Configure Redis Replica
https://redis.io/commands/replicaof/
Configure HA with Sentinel
You have to enable HA for redis standalone m-s cluster manually with your redis sentinel.
Take the 4-node sandbox as an example, a redis sentinel cluster redis-meta is used manage the redis-ms standalone cluster.
If you wish to remove a redis master from sentinel, use SENTINEL REMOVE <name>.
You can configure multiple redis master on sentinel cluster with redis_sentinel_monitor.
And refresh master list on sentinel cluster with:
Playbook
There are two playbooks for redis:
redis.yml: create redis cluster / node / instanceredis-rm.yml: remove redis cluster /node /instance
redis.yml
The playbook redis.yml will init redis cluster/node/instance:
redis-rm.yml
The playbook redis-rm.yml will remove redis cluster/node/instance:
Dashboard
There are three dashboards for REDIS module.
Redis Overview: Overview of all Redis Instances
Redis Cluster : Overview of one single redis cluster
Redis Instance : Overview of one single redis cluster
Parameter
There 20 parameters in the redis module.
| Parameter | Type | Level | Comment |
|---|---|---|---|
redis_cluster |
string | C | redis cluster name, required identity parameter |
redis_instances |
dict | I | redis instances definition on this redis node |
redis_node |
int | I | redis node sequence number, node int id required |
redis_fs_main |
path | C | redis main data mountpoint, /data by default |
redis_exporter_enabled |
bool | C | install redis exporter on redis nodes? |
redis_exporter_port |
port | C | redis exporter listen port, 9121 by default |
redis_exporter_options |
string | C/I | cli args and extra options for redis exporter |
redis_safeguard |
bool | G/C/A | prevent purging running redis instance? |
redis_clean |
bool | G/C/A | purging existing redis during init? |
redis_rmdata |
bool | G/C/A | remove redis data when purging redis server? |
redis_mode |
enum | C | redis mode: standalone,cluster,sentinel |
redis_conf |
string | C | redis config template path, except sentinel |
redis_bind_address |
ip | C | redis bind address, empty string will use host ip |
redis_max_memory |
size | C/I | max memory used by each redis instance |
redis_mem_policy |
enum | C | redis memory eviction policy |
redis_password |
password | C | redis password, empty string will disable password |
redis_rdb_save |
string[] | C | redis rdb save directives, disable with empty list |
redis_aof_enabled |
bool | C | enable redis append only file? |
redis_rename_commands |
dict | C | rename redis dangerous commands |
redis_cluster_replicas |
int | C | replica number for one master in redis cluster |
redis_sentinel_monitor |
master[] | C | sentinel master list, sentinel cluster only |
1 - Metrics
REDIS module has 275 available metrics
| Metric Name | Type | Labels | Description |
|---|---|---|---|
| ALERTS | Unknown | cls, ip, level, severity, instance, category, ins, alertname, job, alertstate |
N/A |
| ALERTS_FOR_STATE | Unknown | cls, ip, level, severity, instance, category, ins, alertname, job |
N/A |
| redis:cls:aof_rewrite_time | Unknown | cls, job |
N/A |
| redis:cls:blocked_clients | Unknown | cls, job |
N/A |
| redis:cls:clients | Unknown | cls, job |
N/A |
| redis:cls:cmd_qps | Unknown | cls, cmd, job |
N/A |
| redis:cls:cmd_rt | Unknown | cls, cmd, job |
N/A |
| redis:cls:cmd_time | Unknown | cls, cmd, job |
N/A |
| redis:cls:conn_rate | Unknown | cls, job |
N/A |
| redis:cls:conn_reject | Unknown | cls, job |
N/A |
| redis:cls:cpu_sys | Unknown | cls, job |
N/A |
| redis:cls:cpu_sys_child | Unknown | cls, job |
N/A |
| redis:cls:cpu_usage | Unknown | cls, job |
N/A |
| redis:cls:cpu_usage_child | Unknown | cls, job |
N/A |
| redis:cls:cpu_user | Unknown | cls, job |
N/A |
| redis:cls:cpu_user_child | Unknown | cls, job |
N/A |
| redis:cls:fork_time | Unknown | cls, job |
N/A |
| redis:cls:key_evict | Unknown | cls, job |
N/A |
| redis:cls:key_expire | Unknown | cls, job |
N/A |
| redis:cls:key_hit | Unknown | cls, job |
N/A |
| redis:cls:key_hit_rate | Unknown | cls, job |
N/A |
| redis:cls:key_miss | Unknown | cls, job |
N/A |
| redis:cls:mem_max | Unknown | cls, job |
N/A |
| redis:cls:mem_usage | Unknown | cls, job |
N/A |
| redis:cls:mem_usage_max | Unknown | cls, job |
N/A |
| redis:cls:mem_used | Unknown | cls, job |
N/A |
| redis:cls:net_traffic | Unknown | cls, job |
N/A |
| redis:cls:qps | Unknown | cls, job |
N/A |
| redis:cls:qps_mu | Unknown | cls, job |
N/A |
| redis:cls:qps_realtime | Unknown | cls, job |
N/A |
| redis:cls:qps_sigma | Unknown | cls, job |
N/A |
| redis:cls:rt | Unknown | cls, job |
N/A |
| redis:cls:rt_mu | Unknown | cls, job |
N/A |
| redis:cls:rt_sigma | Unknown | cls, job |
N/A |
| redis:cls:rx | Unknown | cls, job |
N/A |
| redis:cls:size | Unknown | cls, job |
N/A |
| redis:cls:tx | Unknown | cls, job |
N/A |
| redis:env:blocked_clients | Unknown | job |
N/A |
| redis:env:clients | Unknown | job |
N/A |
| redis:env:cmd_qps | Unknown | cmd, job |
N/A |
| redis:env:cmd_rt | Unknown | cmd, job |
N/A |
| redis:env:cmd_time | Unknown | cmd, job |
N/A |
| redis:env:conn_rate | Unknown | job |
N/A |
| redis:env:conn_reject | Unknown | job |
N/A |
| redis:env:cpu_usage | Unknown | job |
N/A |
| redis:env:cpu_usage_child | Unknown | job |
N/A |
| redis:env:key_evict | Unknown | job |
N/A |
| redis:env:key_expire | Unknown | job |
N/A |
| redis:env:key_hit | Unknown | job |
N/A |
| redis:env:key_hit_rate | Unknown | job |
N/A |
| redis:env:key_miss | Unknown | job |
N/A |
| redis:env:mem_usage | Unknown | job |
N/A |
| redis:env:net_traffic | Unknown | job |
N/A |
| redis:env:qps | Unknown | job |
N/A |
| redis:env:qps_mu | Unknown | job |
N/A |
| redis:env:qps_realtime | Unknown | job |
N/A |
| redis:env:qps_sigma | Unknown | job |
N/A |
| redis:env:rt | Unknown | job |
N/A |
| redis:env:rt_mu | Unknown | job |
N/A |
| redis:env:rt_sigma | Unknown | job |
N/A |
| redis:env:rx | Unknown | job |
N/A |
| redis:env:tx | Unknown | job |
N/A |
| redis:ins | Unknown | cls, id, instance, ins, job |
N/A |
| redis:ins:blocked_clients | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:clients | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:cmd_qps | Unknown | cls, cmd, ip, instance, ins, job |
N/A |
| redis:ins:cmd_rt | Unknown | cls, cmd, ip, instance, ins, job |
N/A |
| redis:ins:cmd_time | Unknown | cls, cmd, ip, instance, ins, job |
N/A |
| redis:ins:conn_rate | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:conn_reject | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:cpu_sys | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:cpu_sys_child | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:cpu_usage | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:cpu_usage_child | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:cpu_user | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:cpu_user_child | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:key_evict | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:key_expire | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:key_hit | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:key_hit_rate | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:key_miss | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:lsn_rate | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:mem_usage | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:net_traffic | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:qps | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:qps_mu | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:qps_realtime | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:qps_sigma | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:rt | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:rt_mu | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:rt_sigma | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:rx | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:ins:tx | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:node:ip | Unknown | cls, ip, instance, ins, job |
N/A |
| redis:node:mem_alloc | Unknown | cls, ip, job |
N/A |
| redis:node:mem_total | Unknown | cls, ip, job |
N/A |
| redis:node:mem_used | Unknown | cls, ip, job |
N/A |
| redis:node:qps | Unknown | cls, ip, job |
N/A |
| redis_active_defrag_running | gauge | cls, ip, instance, ins, job |
active_defrag_running metric |
| redis_allocator_active_bytes | gauge | cls, ip, instance, ins, job |
allocator_active_bytes metric |
| redis_allocator_allocated_bytes | gauge | cls, ip, instance, ins, job |
allocator_allocated_bytes metric |
| redis_allocator_frag_bytes | gauge | cls, ip, instance, ins, job |
allocator_frag_bytes metric |
| redis_allocator_frag_ratio | gauge | cls, ip, instance, ins, job |
allocator_frag_ratio metric |
| redis_allocator_resident_bytes | gauge | cls, ip, instance, ins, job |
allocator_resident_bytes metric |
| redis_allocator_rss_bytes | gauge | cls, ip, instance, ins, job |
allocator_rss_bytes metric |
| redis_allocator_rss_ratio | gauge | cls, ip, instance, ins, job |
allocator_rss_ratio metric |
| redis_aof_current_rewrite_duration_sec | gauge | cls, ip, instance, ins, job |
aof_current_rewrite_duration_sec metric |
| redis_aof_enabled | gauge | cls, ip, instance, ins, job |
aof_enabled metric |
| redis_aof_last_bgrewrite_status | gauge | cls, ip, instance, ins, job |
aof_last_bgrewrite_status metric |
| redis_aof_last_cow_size_bytes | gauge | cls, ip, instance, ins, job |
aof_last_cow_size_bytes metric |
| redis_aof_last_rewrite_duration_sec | gauge | cls, ip, instance, ins, job |
aof_last_rewrite_duration_sec metric |
| redis_aof_last_write_status | gauge | cls, ip, instance, ins, job |
aof_last_write_status metric |
| redis_aof_rewrite_in_progress | gauge | cls, ip, instance, ins, job |
aof_rewrite_in_progress metric |
| redis_aof_rewrite_scheduled | gauge | cls, ip, instance, ins, job |
aof_rewrite_scheduled metric |
| redis_blocked_clients | gauge | cls, ip, instance, ins, job |
blocked_clients metric |
| redis_client_recent_max_input_buffer_bytes | gauge | cls, ip, instance, ins, job |
client_recent_max_input_buffer_bytes metric |
| redis_client_recent_max_output_buffer_bytes | gauge | cls, ip, instance, ins, job |
client_recent_max_output_buffer_bytes metric |
| redis_clients_in_timeout_table | gauge | cls, ip, instance, ins, job |
clients_in_timeout_table metric |
| redis_cluster_connections | gauge | cls, ip, instance, ins, job |
cluster_connections metric |
| redis_cluster_current_epoch | gauge | cls, ip, instance, ins, job |
cluster_current_epoch metric |
| redis_cluster_enabled | gauge | cls, ip, instance, ins, job |
cluster_enabled metric |
| redis_cluster_known_nodes | gauge | cls, ip, instance, ins, job |
cluster_known_nodes metric |
| redis_cluster_messages_received_total | gauge | cls, ip, instance, ins, job |
cluster_messages_received_total metric |
| redis_cluster_messages_sent_total | gauge | cls, ip, instance, ins, job |
cluster_messages_sent_total metric |
| redis_cluster_my_epoch | gauge | cls, ip, instance, ins, job |
cluster_my_epoch metric |
| redis_cluster_size | gauge | cls, ip, instance, ins, job |
cluster_size metric |
| redis_cluster_slots_assigned | gauge | cls, ip, instance, ins, job |
cluster_slots_assigned metric |
| redis_cluster_slots_fail | gauge | cls, ip, instance, ins, job |
cluster_slots_fail metric |
| redis_cluster_slots_ok | gauge | cls, ip, instance, ins, job |
cluster_slots_ok metric |
| redis_cluster_slots_pfail | gauge | cls, ip, instance, ins, job |
cluster_slots_pfail metric |
| redis_cluster_state | gauge | cls, ip, instance, ins, job |
cluster_state metric |
| redis_cluster_stats_messages_meet_received | gauge | cls, ip, instance, ins, job |
cluster_stats_messages_meet_received metric |
| redis_cluster_stats_messages_meet_sent | gauge | cls, ip, instance, ins, job |
cluster_stats_messages_meet_sent metric |
| redis_cluster_stats_messages_ping_received | gauge | cls, ip, instance, ins, job |
cluster_stats_messages_ping_received metric |
| redis_cluster_stats_messages_ping_sent | gauge | cls, ip, instance, ins, job |
cluster_stats_messages_ping_sent metric |
| redis_cluster_stats_messages_pong_received | gauge | cls, ip, instance, ins, job |
cluster_stats_messages_pong_received metric |
| redis_cluster_stats_messages_pong_sent | gauge | cls, ip, instance, ins, job |
cluster_stats_messages_pong_sent metric |
| redis_commands_duration_seconds_total | counter | cls, cmd, ip, instance, ins, job |
Total amount of time in seconds spent per command |
| redis_commands_failed_calls_total | counter | cls, cmd, ip, instance, ins, job |
Total number of errors prior command execution per command |
| redis_commands_latencies_usec_bucket | Unknown | cls, cmd, ip, le, instance, ins, job |
N/A |
| redis_commands_latencies_usec_count | Unknown | cls, cmd, ip, instance, ins, job |
N/A |
| redis_commands_latencies_usec_sum | Unknown | cls, cmd, ip, instance, ins, job |
N/A |
| redis_commands_processed_total | counter | cls, ip, instance, ins, job |
commands_processed_total metric |
| redis_commands_rejected_calls_total | counter | cls, cmd, ip, instance, ins, job |
Total number of errors within command execution per command |
| redis_commands_total | counter | cls, cmd, ip, instance, ins, job |
Total number of calls per command |
| redis_config_io_threads | gauge | cls, ip, instance, ins, job |
config_io_threads metric |
| redis_config_maxclients | gauge | cls, ip, instance, ins, job |
config_maxclients metric |
| redis_config_maxmemory | gauge | cls, ip, instance, ins, job |
config_maxmemory metric |
| redis_connected_clients | gauge | cls, ip, instance, ins, job |
connected_clients metric |
| redis_connected_slave_lag_seconds | gauge | cls, ip, slave_ip, instance, slave_state, ins, slave_port, job |
Lag of connected slave |
| redis_connected_slave_offset_bytes | gauge | cls, ip, slave_ip, instance, slave_state, ins, slave_port, job |
Offset of connected slave |
| redis_connected_slaves | gauge | cls, ip, instance, ins, job |
connected_slaves metric |
| redis_connections_received_total | counter | cls, ip, instance, ins, job |
connections_received_total metric |
| redis_cpu_sys_children_seconds_total | counter | cls, ip, instance, ins, job |
cpu_sys_children_seconds_total metric |
| redis_cpu_sys_main_thread_seconds_total | counter | cls, ip, instance, ins, job |
cpu_sys_main_thread_seconds_total metric |
| redis_cpu_sys_seconds_total | counter | cls, ip, instance, ins, job |
cpu_sys_seconds_total metric |
| redis_cpu_user_children_seconds_total | counter | cls, ip, instance, ins, job |
cpu_user_children_seconds_total metric |
| redis_cpu_user_main_thread_seconds_total | counter | cls, ip, instance, ins, job |
cpu_user_main_thread_seconds_total metric |
| redis_cpu_user_seconds_total | counter | cls, ip, instance, ins, job |
cpu_user_seconds_total metric |
| redis_db_keys | gauge | cls, ip, instance, ins, db, job |
Total number of keys by DB |
| redis_db_keys_expiring | gauge | cls, ip, instance, ins, db, job |
Total number of expiring keys by DB |
| redis_defrag_hits | gauge | cls, ip, instance, ins, job |
defrag_hits metric |
| redis_defrag_key_hits | gauge | cls, ip, instance, ins, job |
defrag_key_hits metric |
| redis_defrag_key_misses | gauge | cls, ip, instance, ins, job |
defrag_key_misses metric |
| redis_defrag_misses | gauge | cls, ip, instance, ins, job |
defrag_misses metric |
| redis_dump_payload_sanitizations | counter | cls, ip, instance, ins, job |
dump_payload_sanitizations metric |
| redis_errors_total | counter | cls, ip, err, instance, ins, job |
Total number of errors per error type |
| redis_evicted_keys_total | counter | cls, ip, instance, ins, job |
evicted_keys_total metric |
| redis_expired_keys_total | counter | cls, ip, instance, ins, job |
expired_keys_total metric |
| redis_expired_stale_percentage | gauge | cls, ip, instance, ins, job |
expired_stale_percentage metric |
| redis_expired_time_cap_reached_total | gauge | cls, ip, instance, ins, job |
expired_time_cap_reached_total metric |
| redis_exporter_build_info | gauge | cls, golang_version, ip, commit_sha, instance, version, ins, job, build_date |
redis exporter build_info |
| redis_exporter_last_scrape_connect_time_seconds | gauge | cls, ip, instance, ins, job |
exporter_last_scrape_connect_time_seconds metric |
| redis_exporter_last_scrape_duration_seconds | gauge | cls, ip, instance, ins, job |
exporter_last_scrape_duration_seconds metric |
| redis_exporter_last_scrape_error | gauge | cls, ip, instance, ins, job |
The last scrape error status. |
| redis_exporter_scrape_duration_seconds_count | Unknown | cls, ip, instance, ins, job |
N/A |
| redis_exporter_scrape_duration_seconds_sum | Unknown | cls, ip, instance, ins, job |
N/A |
| redis_exporter_scrapes_total | counter | cls, ip, instance, ins, job |
Current total redis scrapes. |
| redis_instance_info | gauge | cls, ip, os, role, instance, run_id, redis_version, tcp_port, process_id, ins, redis_mode, maxmemory_policy, redis_build_id, job |
Information about the Redis instance |
| redis_io_threaded_reads_processed | counter | cls, ip, instance, ins, job |
io_threaded_reads_processed metric |
| redis_io_threaded_writes_processed | counter | cls, ip, instance, ins, job |
io_threaded_writes_processed metric |
| redis_io_threads_active | gauge | cls, ip, instance, ins, job |
io_threads_active metric |
| redis_keyspace_hits_total | counter | cls, ip, instance, ins, job |
keyspace_hits_total metric |
| redis_keyspace_misses_total | counter | cls, ip, instance, ins, job |
keyspace_misses_total metric |
| redis_last_key_groups_scrape_duration_milliseconds | gauge | cls, ip, instance, ins, job |
Duration of the last key group metrics scrape in milliseconds |
| redis_last_slow_execution_duration_seconds | gauge | cls, ip, instance, ins, job |
The amount of time needed for last slow execution, in seconds |
| redis_latency_percentiles_usec | summary | cls, cmd, ip, instance, quantile, ins, job |
A summary of latency percentile distribution per command |
| redis_latency_percentiles_usec_count | Unknown | cls, cmd, ip, instance, ins, job |
N/A |
| redis_latency_percentiles_usec_sum | Unknown | cls, cmd, ip, instance, ins, job |
N/A |
| redis_latest_fork_seconds | gauge | cls, ip, instance, ins, job |
latest_fork_seconds metric |
| redis_lazyfree_pending_objects | gauge | cls, ip, instance, ins, job |
lazyfree_pending_objects metric |
| redis_loading_dump_file | gauge | cls, ip, instance, ins, job |
loading_dump_file metric |
| redis_master_last_io_seconds_ago | gauge | cls, ip, master_host, instance, ins, job, master_port |
Master last io seconds ago |
| redis_master_link_up | gauge | cls, ip, master_host, instance, ins, job, master_port |
Master link status on Redis slave |
| redis_master_repl_offset | gauge | cls, ip, instance, ins, job |
master_repl_offset metric |
| redis_master_sync_in_progress | gauge | cls, ip, master_host, instance, ins, job, master_port |
Master sync in progress |
| redis_mem_clients_normal | gauge | cls, ip, instance, ins, job |
mem_clients_normal metric |
| redis_mem_clients_slaves | gauge | cls, ip, instance, ins, job |
mem_clients_slaves metric |
| redis_mem_fragmentation_bytes | gauge | cls, ip, instance, ins, job |
mem_fragmentation_bytes metric |
| redis_mem_fragmentation_ratio | gauge | cls, ip, instance, ins, job |
mem_fragmentation_ratio metric |
| redis_mem_not_counted_for_eviction_bytes | gauge | cls, ip, instance, ins, job |
mem_not_counted_for_eviction_bytes metric |
| redis_memory_max_bytes | gauge | cls, ip, instance, ins, job |
memory_max_bytes metric |
| redis_memory_used_bytes | gauge | cls, ip, instance, ins, job |
memory_used_bytes metric |
| redis_memory_used_dataset_bytes | gauge | cls, ip, instance, ins, job |
memory_used_dataset_bytes metric |
| redis_memory_used_lua_bytes | gauge | cls, ip, instance, ins, job |
memory_used_lua_bytes metric |
| redis_memory_used_overhead_bytes | gauge | cls, ip, instance, ins, job |
memory_used_overhead_bytes metric |
| redis_memory_used_peak_bytes | gauge | cls, ip, instance, ins, job |
memory_used_peak_bytes metric |
| redis_memory_used_rss_bytes | gauge | cls, ip, instance, ins, job |
memory_used_rss_bytes metric |
| redis_memory_used_scripts_bytes | gauge | cls, ip, instance, ins, job |
memory_used_scripts_bytes metric |
| redis_memory_used_startup_bytes | gauge | cls, ip, instance, ins, job |
memory_used_startup_bytes metric |
| redis_migrate_cached_sockets_total | gauge | cls, ip, instance, ins, job |
migrate_cached_sockets_total metric |
| redis_module_fork_in_progress | gauge | cls, ip, instance, ins, job |
module_fork_in_progress metric |
| redis_module_fork_last_cow_size | gauge | cls, ip, instance, ins, job |
module_fork_last_cow_size metric |
| redis_net_input_bytes_total | counter | cls, ip, instance, ins, job |
net_input_bytes_total metric |
| redis_net_output_bytes_total | counter | cls, ip, instance, ins, job |
net_output_bytes_total metric |
| redis_number_of_cached_scripts | gauge | cls, ip, instance, ins, job |
number_of_cached_scripts metric |
| redis_process_id | gauge | cls, ip, instance, ins, job |
process_id metric |
| redis_pubsub_channels | gauge | cls, ip, instance, ins, job |
pubsub_channels metric |
| redis_pubsub_patterns | gauge | cls, ip, instance, ins, job |
pubsub_patterns metric |
| redis_pubsubshard_channels | gauge | cls, ip, instance, ins, job |
pubsubshard_channels metric |
| redis_rdb_bgsave_in_progress | gauge | cls, ip, instance, ins, job |
rdb_bgsave_in_progress metric |
| redis_rdb_changes_since_last_save | gauge | cls, ip, instance, ins, job |
rdb_changes_since_last_save metric |
| redis_rdb_current_bgsave_duration_sec | gauge | cls, ip, instance, ins, job |
rdb_current_bgsave_duration_sec metric |
| redis_rdb_last_bgsave_duration_sec | gauge | cls, ip, instance, ins, job |
rdb_last_bgsave_duration_sec metric |
| redis_rdb_last_bgsave_status | gauge | cls, ip, instance, ins, job |
rdb_last_bgsave_status metric |
| redis_rdb_last_cow_size_bytes | gauge | cls, ip, instance, ins, job |
rdb_last_cow_size_bytes metric |
| redis_rdb_last_save_timestamp_seconds | gauge | cls, ip, instance, ins, job |
rdb_last_save_timestamp_seconds metric |
| redis_rejected_connections_total | counter | cls, ip, instance, ins, job |
rejected_connections_total metric |
| redis_repl_backlog_first_byte_offset | gauge | cls, ip, instance, ins, job |
repl_backlog_first_byte_offset metric |
| redis_repl_backlog_history_bytes | gauge | cls, ip, instance, ins, job |
repl_backlog_history_bytes metric |
| redis_repl_backlog_is_active | gauge | cls, ip, instance, ins, job |
repl_backlog_is_active metric |
| redis_replica_partial_resync_accepted | gauge | cls, ip, instance, ins, job |
replica_partial_resync_accepted metric |
| redis_replica_partial_resync_denied | gauge | cls, ip, instance, ins, job |
replica_partial_resync_denied metric |
| redis_replica_resyncs_full | gauge | cls, ip, instance, ins, job |
replica_resyncs_full metric |
| redis_replication_backlog_bytes | gauge | cls, ip, instance, ins, job |
replication_backlog_bytes metric |
| redis_second_repl_offset | gauge | cls, ip, instance, ins, job |
second_repl_offset metric |
| redis_sentinel_master_ckquorum_status | gauge | cls, ip, message, instance, ins, master_name, job |
Master ckquorum status |
| redis_sentinel_master_ok_sentinels | gauge | cls, ip, instance, ins, master_address, master_name, job |
The number of okay sentinels monitoring this master |
| redis_sentinel_master_ok_slaves | gauge | cls, ip, instance, ins, master_address, master_name, job |
The number of okay slaves of the master |
| redis_sentinel_master_sentinels | gauge | cls, ip, instance, ins, master_address, master_name, job |
The number of sentinels monitoring this master |
| redis_sentinel_master_setting_ckquorum | gauge | cls, ip, instance, ins, master_address, master_name, job |
Show the current ckquorum config for each master |
| redis_sentinel_master_setting_down_after_milliseconds | gauge | cls, ip, instance, ins, master_address, master_name, job |
Show the current down-after-milliseconds config for each master |
| redis_sentinel_master_setting_failover_timeout | gauge | cls, ip, instance, ins, master_address, master_name, job |
Show the current failover-timeout config for each master |
| redis_sentinel_master_setting_parallel_syncs | gauge | cls, ip, instance, ins, master_address, master_name, job |
Show the current parallel-syncs config for each master |
| redis_sentinel_master_slaves | gauge | cls, ip, instance, ins, master_address, master_name, job |
The number of slaves of the master |
| redis_sentinel_master_status | gauge | cls, ip, master_status, instance, ins, master_address, master_name, job |
Master status on Sentinel |
| redis_sentinel_masters | gauge | cls, ip, instance, ins, job |
The number of masters this sentinel is watching |
| redis_sentinel_running_scripts | gauge | cls, ip, instance, ins, job |
Number of scripts in execution right now |
| redis_sentinel_scripts_queue_length | gauge | cls, ip, instance, ins, job |
Queue of user scripts to execute |
| redis_sentinel_simulate_failure_flags | gauge | cls, ip, instance, ins, job |
Failures simulations |
| redis_sentinel_tilt | gauge | cls, ip, instance, ins, job |
Sentinel is in TILT mode |
| redis_slave_expires_tracked_keys | gauge | cls, ip, instance, ins, job |
slave_expires_tracked_keys metric |
| redis_slave_info | gauge | cls, ip, master_host, instance, read_only, ins, job, master_port |
Information about the Redis slave |
| redis_slave_priority | gauge | cls, ip, instance, ins, job |
slave_priority metric |
| redis_slave_repl_offset | gauge | cls, ip, master_host, instance, ins, job, master_port |
Slave replication offset |
| redis_slowlog_last_id | gauge | cls, ip, instance, ins, job |
Last id of slowlog |
| redis_slowlog_length | gauge | cls, ip, instance, ins, job |
Total slowlog |
| redis_start_time_seconds | gauge | cls, ip, instance, ins, job |
Start time of the Redis instance since unix epoch in seconds. |
| redis_target_scrape_request_errors_total | counter | cls, ip, instance, ins, job |
Errors in requests to the exporter |
| redis_total_error_replies | counter | cls, ip, instance, ins, job |
total_error_replies metric |
| redis_total_reads_processed | counter | cls, ip, instance, ins, job |
total_reads_processed metric |
| redis_total_system_memory_bytes | gauge | cls, ip, instance, ins, job |
total_system_memory_bytes metric |
| redis_total_writes_processed | counter | cls, ip, instance, ins, job |
total_writes_processed metric |
| redis_tracking_clients | gauge | cls, ip, instance, ins, job |
tracking_clients metric |
| redis_tracking_total_items | gauge | cls, ip, instance, ins, job |
tracking_total_items metric |
| redis_tracking_total_keys | gauge | cls, ip, instance, ins, job |
tracking_total_keys metric |
| redis_tracking_total_prefixes | gauge | cls, ip, instance, ins, job |
tracking_total_prefixes metric |
| redis_unexpected_error_replies | counter | cls, ip, instance, ins, job |
unexpected_error_replies metric |
| redis_up | gauge | cls, ip, instance, ins, job |
Information about the Redis instance |
| redis_uptime_in_seconds | gauge | cls, ip, instance, ins, job |
uptime_in_seconds metric |
| scrape_duration_seconds | Unknown | cls, ip, instance, ins, job |
N/A |
| scrape_samples_post_metric_relabeling | Unknown | cls, ip, instance, ins, job |
N/A |
| scrape_samples_scraped | Unknown | cls, ip, instance, ins, job |
N/A |
| scrape_series_added | Unknown | cls, ip, instance, ins, job |
N/A |
| up | Unknown | cls, ip, instance, ins, job |
N/A |
2 - FAQ
ABORT due to existing redis instance
use
redis_clean = trueandredis_safeguard = falseto force clean redis data
This happens when you run redis.yml to init a redis instance that is already running, and redis_clean is set to false.
If redis_clean is set to true (and the redis_safeguard is set to false, too), the redis.yml playbook will remove the existing redis instance and re-init it as a new one, which makes the redis.yml playbook fully idempotent.
ABORT due to redis_safeguard enabled
This happens when removing a redis instance with
redis_safeguardset totrue.
You can disable redis_safeguard to remove the Redis instance. This is redis_safeguard is what it is for.
How to add a single new redis instance on this node?
Use
bin/redis-add <ip> <port>to deploy a new redis instance on node.
How to remove a single redis instance from the node?
bin/redis-rm <ip> <port>to remove a single redis instance from node


