This is a Zabbix template + script useful to monitor Redis Server & Redis Sentinel instances:
Copy
zabbix-redis.pyto/usr/local/bin/.Add the
redis_server.discovery&redis_server.statsand / orredis_sentinel.discovery&redis_sentinel.statsuser parameters to Zabbix:UserParameter=redis_server.discovery[*],/usr/local/bin/zabbix-redis.py -i '$1' -t server discover $2 2> /dev/null UserParameter=redis_server.stats[*],/usr/local/bin/zabbix-redis.py -i '$1' -t server stats 2> /dev/null UserParameter=redis_sentinel.discovery[*],/usr/local/bin/zabbix-redis.py -i '$1' -t sentinel discover $2 2> /dev/null UserParameter=redis_sentinel.stats[*],/usr/local/bin/zabbix-redis.py -i '$1' -t sentinel stats 2> /dev/null
Import the templates. You may download the appropriate versions from the releases page or generate them using the Jinja2 skeletons:
$ pip install jinja2-cli $ PYTHONPATH=. jinja2 \ -D version={6.0,6.2,6.4,7.0,7.2,7.4} \ [-D name='Redis Server'] \ [-D description=''] \ [-D release='trunk'] \ --extension=extensions.zabbix.ZabbixExtension --strict -o template.xml template-app-redis-server.j2 $ PYTHONPATH=. jinja2 \ -D version={6.0,6.2,6.4,7.0,7.2,7.4} \ [-D name='Redis Sentinel'] \ [-D description=''] \ [-D release='trunk'] \ --extension=extensions.zabbix.ZabbixExtension --strict -o template.xml template-app-redis-sentinel.j2Link hosts to the templates. Beware depending on the used template you must set a value for the
{$REDIS_SERVER.LOCATIONS}or{$REDIS_SENTINEL.LOCATIONS}macro (comma-delimited list of Redis instances;port,host:portandunix:///path/to/socketformats are allowed). Additional macros and contexts are available for further customizations.