RedisCollector

Collects data from one or more Redis Servers

Dependencies

  • redis

Notes

The collector is named an odd redisstat because of an import issue with having the python library called redis and this collector's module being called redis, so we use an odd name for this collector. This doesn't affect the usage of this collector.

Example config file RedisCollector.conf

enabled=True
host=redis.example.com
port=16379
auth=PASSWORD

or for multi-instance mode:

enabled=True
instances = nick1@host1:port1, nick2@host2:port2/PASSWORD, ...

For connecting via unix sockets, provide the path prefixed with unix: instead of the host, e.g.

enabled=True
host=unix:/var/run/redis/redis.sock

or

enabled = True
instances = nick3@unix:/var/run/redis.sock:/PASSWORD

In that case, for disambiguation there must be a colon : before the slash / followed by the password.

Note: when using the host/port config mode, the port number is used in the metric key. When using the multi-instance mode, the nick will be used. If not specified the port will be used. In case of unix sockets, the base name without file extension (i.e. in the aforementioned examples redis) is the default metric key.

Options

Setting Default Description Type
auth None Password? NoneType
byte_unit byte Default numeric output(s) str
databases 16 how many database instances to collect int
db 0 int
enabled False Enable collecting these metrics bool
host localhost Hostname to collect from str
instances , Redis addresses, comma separated, syntax: nick1@host:port, nick2@:port or nick3@host list
measure_collector_time False Collect the collector run time in ms bool
metrics_blacklist None Regex to match metrics to block. Mutually exclusive with metrics_whitelist NoneType
metrics_whitelist None Regex to match metrics to transmit. Mutually exclusive with metrics_blacklist NoneType
port 6379 Port number to collect from int
timeout 5 Socket timeout int

Example Output

servers.hostname.redis.6379.clients.blocked 8
servers.hostname.redis.6379.clients.connected 100
servers.hostname.redis.6379.clients.longest_output_list 0
servers.hostname.redis.6379.cpu.parent.sys 0.05
servers.hostname.redis.6379.cpu.parent.user 0.09
servers.hostname.redis.6379.keys.evicted 0
servers.hostname.redis.6379.keys.expired 0
servers.hostname.redis.6379.keyspace.hits 5700
servers.hostname.redis.6379.keyspace.misses 670
servers.hostname.redis.6379.last_save.changes_since 759
servers.hostname.redis.6379.last_save.time 51351718385
servers.hostname.redis.6379.last_save.time_since -51351718365
servers.hostname.redis.6379.memory.external_view 17254016
servers.hostname.redis.6379.memory.fragmentation_ratio 0.99
servers.hostname.redis.6379.memory.internal_view 1726144
servers.hostname.redis.6379.memory.used_percent 82.31
servers.hostname.redis.6379.process.commands_processed 19764
servers.hostname.redis.6379.process.connections_received 18764
servers.hostname.redis.6379.process.uptime 95732
servers.hostname.redis.6379.pubsub.channels 1
servers.hostname.redis.6379.pubsub.patterns 0
servers.hostname.redis.6379.replication.master 1
servers.hostname.redis.6379.replication.master_sync_in_progress 0
servers.hostname.redis.6379.slaves.connected 2
servers.hostname.redis.6379.slaves.last_io 7