Databases

check_redis.pl

Description:

This is Redis Server Check plugin. It gets stats variables and allows to set thresholds on their value or their rate of change. It can measure response time, hitrate, memory utilization, check replication sync and much more.You can also query specific key and set thresholds on its value or max/min/avg if its a range. All data is returned as performance variables for graphing and pnp4nagios template is included here.

Current Version

0.73

Last Release Date

2013-03-30

Compatible With

  • Nagios 2.x
  • Nagios 3.x
  • Nagios XI
  • Nagios Fusion

License

GPL


Project Files
Project Notes
Make sure to install Redis perl library from CPAN first. Next for help and to see what parameters this plugin accepts do: ./check_redis.pl --help This plugin checks Redis NoSQL database status varialbes, measures its response time and if specified allows to set thresholds on one or more key data. You can set thresholds for data in stats varialbles and some of them are also conveniently available as long options with special threshold syntax. Plugin also calculates statistics such as Hitrate (calculated as rate of change of hits/misses) and memory use and can check replication delay. All variables can be returned as performance data for graphing and pnp4nagios template should be available with this plugin on the site you downloaded it from. Header of the plugin contains extended documentation on how to use it. Example of Nagios Config Definitions: define command { command_name check_redis_new command_line $USER1$/check_redis.pl -H $HOSTADDRESS$ -p $ARG1$ -T $ARG2$ -R -A -M $_HOSTSYSTEM_MEMORY$ -m $ARG3$ -a $ARG4$ -w $ARG5$ -c $ARG6$ -f -P "$SERVICEPERFDATA$" } # Arguments and thresholds are: # $ARG1 : Port # $ARG2 : response time thresholds # $ARG3 : memory utilization thresholds # $ARG4 : additional variables to be checked # $ARG5 : warning thresholds for those variables # $ARG6 : critical thresholds for those variables define service { use prod-service hostgroups redishosts service_description Redis check_command check_redis_new!6379!"1,2"!"80,90"!blocked_clients,connected_clients!50,~!100,~ } define host { use prod-server host_name redis.mynetwork address redis.mynetwork alias Redis Stat Server hostgroups linux,redishosts _SYSTEM_MEMORY '8G' } Example of command-line use: /usr/lib/nagios/plugins/check_redis.pl -H localhost -a 'connected_clients,blocked_clients' -w ~,~ -c ~,~ -m -M 4G -A -R -T -f -v In above the -v option means "verbose" and with it plugin will output some debugging information about what it is doing. The option is not intended to be used when plugin is called from nagios itself. Example of using query and varialbe-based long options with debug enabled as well (-v): ./check_redis.pl -H localhost -p 6379 -D 1 --query LRANGE:AVG:0:,MyColumn1:Q1,ABSENT:WARNING,WARN:300,CRIT:500,DISPLAY:YES,PERF:NO --query GET,MyKey:K1,ABSENT:CRITICAL "--connected_clients=WARN:<2,CRIT:>100,ZERO:OK,ABSENT:WARNING,DISPLAY:YES,PERF:YES"
Reviews (3) Add a Review
Great work
by Napsty, April 30, 2014

Excellent work, very nice plugin, good documentation (within the plugin). It's a nice "feature" that I can run the same command to check for the replication on both master and slave and that it automatically detects the slave: On MASTER: ./check_redis.pl -H localhost -r -f OK: REDIS 2.6.16 on localhost:6379 has 1 databases (db0) with 9116 keys, up 87 days 13 hours On SLAVE: ./check_redis.pl -H localhost -r -f OK: REDIS 2.6.16 on localhost:6379 has 1 databases (db0) with 9126 keys, up 87 days 6 hours - replication_delay is 0 | replication_delay=0



just perfect!
by -yom-, July 31, 2013

it does everything you need. had troubles with cpan when compiling perl-Redis but managed to make it work. This check works perfect with NRPE. Tip when you need to use "", put them with simple quotes in your nrpe_command.cfg and not in $ARGx$ for example : command[check_redis]=/usr/lib64/nagios/plugins/check_redis.pl -H localhost -p $ARG1$ -M $ARG2$ -m $ARG3$,$ARG4$ -R '



Comprehensive Redis monitoring solution
by darfnader, July 31, 2012

Everything you need is right here. It is exceptionally flexible and put together. I particularly like the flexibility of how you can shape the perfdata output. Be sure to go to https://github.com/willixix/WL-NagiosPlugins to get the latest code, his other plugins, and supporting graphing tools.



Project Stats
Rating
5 (5)
Favorites
3
Views
118,739