Redis Database
Pack Assetsβ
Monitored Objectsβ
The Pack Redis collects metrics for:
- Clients
- Commands
- Connections
- Cpu
- Memory
- Persistence
- Replication
Collected Metricsβ
- Clients
- Commands
- Connections
- Cpu
- Memory
- Persistence
- Replication
Metric name | Description | Unit |
---|---|---|
clients.connected.count | Number of client connections (excluding replica connections) | |
clients.blocked.count | Number of clients pending on a blocking call | |
clients.longest_output_list.count | Longest output list among current client connections | |
clients.biggest_input_buffer.count | Biggest input buffer among current client connections |
Metric name | Description | Unit |
---|---|---|
commands.processed.count | Total number of commands processed by the server | |
commands.processed.persecond | Number of commands processed per second |
Metric name | Description | Unit |
---|---|---|
connections.received.count | Number of connections accepted by the server | |
connections.rejected.count | Number of connections rejected because of maxclients limit | |
network.traffic.in.bitspersecond | Incoming traffic going through from the network | b/s |
network.traffic.out.bitspersecond | Outgoing traffic going through from the network | b/s |
Metric name | Description | Unit |
---|---|---|
cpu.system.usage.percentage | System CPU consumed by the Redis server | % |
cpu.user.usage.percentage | User CPU consumed by the Redis server | % |
cpu.system.children.usage.percentage | System CPU consumed by the background processes | % |
cpu.user.children.usage.percentage | User CPU consumed by the background processes | % |
Metric name | Description | Unit |
---|---|---|
memory.usage.bytes | Number of bytes allocated by Redis using its allocator | B |
memory.rss.usage.bytes | Number of bytes that Redis allocated as seen by the operating system | B |
memory.peak.usage.bytes | Peak memory consumed by Redis | B |
memory.overhead.usage.bytes | The sum in bytes of all overheads that the server allocated for managing its internal data structures | B |
memory.startup.usage.bytes | Initial amount of memory consumed by Redis at startup in bytes | B |
memory.dataset.usage.bytes | The size in bytes of the dataset | B |
memory.lua.usage.bytes | Number of bytes used by the Lua engine | B |
memory.fragmentation.ratio.count | Ratio between used_memory_rss and used_memory | |
memory.defragmentation.running.count | Indicates whether defragmentation is currently active | |
memory.lazy_pending_objects.count | The number of objects waiting to be freed |
Metric name | Description | Unit |
---|---|---|
RDB status | Status of the last RDB save operation and if RDB save is on-going | |
rdb.changes.since_last_save.count | Number of changes since the last dump | |
rdb.last_successful_save.seconds | Time since last successful save | s |
rdb.last_save.size.bytes | Size of copy-on-write memory during the last RDB save operation | B |
rdb.last_save.duration.seconds | Duration of the last RDB save operation | s |
rdb.current_save.duration.seconds | NDuration of the on-going RDB save operation | s |
Metric name | Description | Unit |
---|---|---|
replication status | Status of the link with the master and if master is syncing | |
replication.slaves.connected.count | Number of connected replicas | |
replication.master.offset.count | The server's current replication offset | |
replication.master.last_interaction.seconds | Number of seconds since the last interaction with master | s |
replication.slave.offset.count | The replication offset of the replica instance | |
replication.slave.priority.count | The priority of the instance as a candidate for failover | |
replication.slave.readonly.count | Flag indicating if the replica is read-only |
Prerequisitesβ
To control your Redis database, the poller can execute INFO command (Eg: https://redis.io/commands/INFO)
Setupβ
- Online License
- Offline License
- Install the Centreon Plugin on every Poller:
yum install centreon-plugin-Applications-Databases-Redis
- On the Centreon Web interface in Configuration > Monitoring Connector Manager, install the Redis Database Pack
- Install the Centreon Plugin on every Poller:
yum install centreon-plugin-Applications-Databases-Redis
- On the Centreon Central server, install the Pack from the RPM:
yum install centreon-pack-applications-databases-redis
- On the Centreon Web interface in Configuration > Monitoring Connector Manager, install the Redis Database Pack
Host configurationβ
- Add a new Host and apply the App-DB-Redis-custom Host Template
Once the template applied, some Macros have to be configured.
- cli
- perlmod (default)
With that configuration, the Plugin uses redis-cli executable. tls is supported (redis-cli >= 6.x mandatory).
Mandatory | Name | Description |
---|---|---|
X | REDISCUSTOMMODE | Name of the backend: cli |
REDISPORT | Port used (Default: 6379) | |
REDISUSERNAME | Redis username (redis-cli >= 6.x mandatory) | |
REDISPASSWORD | Redis password | |
REDISSENTINEL | Sentinel server | |
REDISSENTINELORT | Sentinel port (Default: 26379) | |
REDISSERVICE | Service parameter (mandatory if REDISENTINEL macro used) | |
REDISEXTRAOPTIONS | Any extra option you may want to add to the command (eg. a --tls --insecure) |
With that configuration, the Plugin uses Perl Redis module (eg: https://metacpan.org/pod/Redis). tls is unsupported.
Mandatory | Name | Description |
---|---|---|
X | REDISCUSTOMMODE | Name of the backend: perlmod |
REDISPORT | Port used (Default: 6379) | |
REDISPASSWORD | Redis password | |
REDISSENTINEL | Sentinel server | |
REDISSENTINELORT | Sentinel port (Default: 26379) | |
REDISSERVICE | Service parameter (mandatory if REDISENTINEL macro used) | |
REDISEXTRAOPTIONS | Any extra option you may want to add to the command |
How to install redis-cli 6.x ?β
To use tls and/or ACL users, you need redis-cli >= 6.x.
- Centos 7
- Red Hat 9
yum install epel-release
yum install http://rpms.remirepo.net/enterprise/remi-release-7.rpm
yum --enablerepo=remi install redis
dnf install redis
How to test the Plugin and what are the main options for?β
Once the plugin installed, log into your Centreon Poller CLI using the centreon-engine user account and test the Plugin by running the following command:
/usr/lib/centreon/plugins/centreon_database_redis.pl \
--plugin=database::redis::plugin \
--custommode=perlmod \
--mode=clients \
--server='10.30.2.79' \
--port='6379' \
--verbose
Expected command output is shown below:
OK: Clients connected: 1, blocked: 0 | 'clients.connected.count'=1;;;0; 'clients.blocked.count'=0;;;0;
The command above monitors client connections (--mode=clients
).
It connects to the host 10.30.2.79 (--hostname='10.30.2.79'
) on the port 6379 (--port='6379'
).
All the options as well as all the available thresholds can be displayed by adding the --help
parameter to the command:
/usr/lib/centreon/plugins/centreon_database_redis.pl \
--plugin=database::redis::plugin \
--custommode=perlmod \
--mode=clients \
--help