src/go/plugin/go.d/modules/redis/metadata.yaml
plugin_name: go.d.plugin
modules:
- meta:
id: collector-go.d.plugin-redis
plugin_name: go.d.plugin
module_name: redis
monitored_instance:
name: Redis
link: https://redis.com/
categories:
- data-collection.database-servers
icon_filename: redis.svg
related_resources:
integrations:
list:
- plugin_name: apps.plugin
module_name: apps
- plugin_name: cgroups.plugin
module_name: cgroups
alternative_monitored_instances: []
info_provided_to_referring_integrations:
description: ""
keywords:
- redis
- databases
most_popular: true
overview:
data_collection:
metrics_description: |
This collector monitors the health and performance of Redis servers and collects general statistics, CPU and memory consumption, replication information, command statistics, and more.
method_description: |
It connects to the Redis instance via a TCP or UNIX socket and executes the following commands:
- [INFO ALL](https://redis.io/commands/info)
- [PING](https://redis.io/commands/ping/)
default_behavior:
auto_detection:
description: |
By default, it detects instances running on localhost by attempting to connect using known Redis TCP and UNIX sockets:
- 127.0.0.1:6379
- /tmp/redis.sock
- /var/run/redis/redis.sock
- /var/lib/redis/redis.sock
limits:
description: ""
performance_impact:
description: ""
additional_permissions:
description: ""
multi_instance: true
supported_platforms:
include: []
exclude: []
setup:
prerequisites:
list: []
configuration:
file:
name: go.d/redis.conf
options:
description: |
The following options can be defined globally: update_every, autodetection_retry.
folding:
title: Config options
enabled: true
list:
- name: update_every
description: Data collection frequency.
default_value: 5
required: false
- name: autodetection_retry
description: Recheck interval in seconds. Zero means no recheck will be scheduled.
default_value: 0
required: false
- name: address
description: Redis server address.
default_value: redis://@localhost:6379
required: true
details: |
There are two connection types: by tcp socket and by unix socket.
- Tcp connection: `redis://<user>:<password>@<host>:<port>/<db_number>`
- Unix connection: `unix://<user>:<password>@</path/to/redis.sock>?db=<db_number>`
- name: timeout
description: Dial (establishing new connections), read (socket reads) and write (socket writes) timeout in seconds.
default_value: 1
required: false
- name: username
description: Username used for authentication.
default_value: ""
required: false
- name: password
description: Password used for authentication.
default_value: ""
required: false
- name: tls_skip_verify
description: Server certificate chain and hostname validation policy. Controls whether the client performs this check.
default_value: false
required: false
- name: tls_ca
description: Certificate authority that client use when verifying server certificates.
default_value: ""
required: false
- name: tls_cert
description: Client tls certificate.
default_value: ""
required: false
- name: tls_key
description: Client tls key.
default_value: ""
required: false
examples:
folding:
title: Config
enabled: true
list:
- name: TCP socket
description: An example configuration.
config: |
jobs:
- name: local
address: 'redis://@127.0.0.1:6379'
- name: Unix socket
description: An example configuration.
config: |
jobs:
- name: local
address: 'unix://@/tmp/redis.sock'
- name: TCP socket with password
description: An example configuration.
config: |
jobs:
- name: local
address: 'redis://:password@127.0.0.1:6379'
- name: Multi-instance
description: |
> **Note**: When you define multiple jobs, their names must be unique.
Local and remote instances.
config: |
jobs:
- name: local
address: 'redis://:password@127.0.0.1:6379'
- name: remote
address: 'redis://user:password@203.0.113.0:6379'
troubleshooting:
problems:
list: []
alerts:
- name: redis_connections_rejected
link: https://github.com/netdata/netdata/blob/master/src/health/health.d/redis.conf
metric: redis.connections
info: connections rejected because of maxclients limit in the last minute
- name: redis_bgsave_slow
link: https://github.com/netdata/netdata/blob/master/src/health/health.d/redis.conf
metric: redis.bgsave_now
info: duration of the on-going RDB save operation
- name: redis_bgsave_broken
link: https://github.com/netdata/netdata/blob/master/src/health/health.d/redis.conf
metric: redis.bgsave_health
info: 'status of the last RDB save operation (0: ok, 1: error)'
- name: redis_master_link_down
link: https://github.com/netdata/netdata/blob/master/src/health/health.d/redis.conf
metric: redis.master_link_down_since_time
info: time elapsed since the link between master and slave is down
metrics:
folding:
title: Metrics
enabled: false
description: ""
availability: []
scopes:
- name: global
description: These metrics refer to the entire monitored application.
labels: []
metrics:
- name: redis.connections
description: Accepted and rejected (maxclients limit) connections
unit: connections/s
chart_type: line
dimensions:
- name: accepted
- name: rejected
- name: redis.clients
description: Clients
unit: clients
chart_type: line
dimensions:
- name: connected
- name: blocked
- name: tracking
- name: in_timeout_table
- name: redis.ping_latency
description: Ping latency
unit: seconds
chart_type: area
dimensions:
- name: min
- name: max
- name: avg
- name: redis.commands
description: Processed commands
unit: commands/s
chart_type: line
dimensions:
- name: processes
- name: redis.keyspace_lookup_hit_rate
description: Keys lookup hit rate
unit: percentage
chart_type: line
dimensions:
- name: lookup_hit_rate
- name: redis.memory
description: Memory usage
unit: bytes
chart_type: area
dimensions:
- name: max
- name: used
- name: rss
- name: peak
- name: dataset
- name: lua
- name: scripts
- name: redis.mem_fragmentation_ratio
description: Ratio between used_memory_rss and used_memory
unit: ratio
chart_type: line
dimensions:
- name: mem_fragmentation
- name: redis.key_eviction_events
description: Evicted keys due to maxmemory limit
unit: keys/s
chart_type: line
dimensions:
- name: evicted
- name: redis.net
description: Bandwidth
unit: kilobits/s
chart_type: area
dimensions:
- name: received
- name: sent
- name: redis.rdb_changes
description: Operations that produced changes since the last SAVE or BGSAVE
unit: operations
chart_type: line
dimensions:
- name: changes
- name: redis.bgsave_now
description: Duration of the on-going RDB save operation if any
unit: seconds
chart_type: line
dimensions:
- name: current_bgsave_time
- name: redis.bgsave_health
description: 'Status of the last RDB save operation (0: ok, 1: err)'
unit: status
chart_type: line
dimensions:
- name: last_bgsave
- name: redis.bgsave_last_rdb_save_since_time
description: Time elapsed since the last successful RDB save
unit: seconds
chart_type: line
dimensions:
- name: last_bgsave_time
- name: redis.aof_file_size
description: AOF file size
unit: bytes
chart_type: line
dimensions:
- name: current
- name: base
- name: redis.commands_calls
description: Calls per command
unit: calls
chart_type: stacked
dimensions:
- name: a dimension per command
- name: redis.commands_usec
description: Total CPU time consumed by the commands
unit: microseconds
chart_type: stacked
dimensions:
- name: a dimension per command
- name: redis.commands_usec_per_sec
description: Average CPU consumed per command execution
unit: microseconds/s
chart_type: stacked
dimensions:
- name: a dimension per command
- name: redis.key_expiration_events
description: Expired keys
unit: keys/s
chart_type: line
dimensions:
- name: expired
- name: redis.database_keys
description: Keys per database
unit: keys
chart_type: line
dimensions:
- name: a dimension per database
- name: redis.database_expires_keys
description: Keys with an expiration per database
unit: keys
chart_type: line
dimensions:
- name: a dimension per database
- name: redis.connected_replicas
description: Connected replicas
unit: replicas
chart_type: line
dimensions:
- name: connected
- name: redis.master_link_status
description: Master link status
unit: status
chart_type: line
dimensions:
- name: up
- name: down
- name: redis.master_last_io_since_time
description: Time elapsed since the last interaction with master
unit: seconds
chart_type: line
dimensions:
- name: time
- name: redis.master_link_down_since_time
description: Time elapsed since the link between master and slave is down
unit: seconds
chart_type: line
dimensions:
- name: time
- name: redis.uptime
description: Uptime
unit: seconds
chart_type: line
dimensions:
- name: uptime