nagios监控redis
nagios是非常强大的监控工具,但是它本身没有监控redis的功能
但是网上有很多大神写了监控redis的插件,比较热门的使用perl写的check_redis.pl
但是由于我们监控mongodb的插件使用python写的,再去下载perl什么的很麻烦,反正就是个脚本嘛,在git上面找找看有没有大神用python写过。
皇天不负有心人,终于让我找到了一个
地址https://github.com/filiptepper/nagios-checks
里面有redis和AMQP(不知道什么东西)的监控脚本。
下载redis的脚本,其他丢弃。记得要pip install redis安装redis
因为脚本需要用到
下载好了放到/usr/local/nagios/libexec文件下
修改权限
chmod u+x check_redis.py
测试下能不能用./check_redis.py -v
发现可以用
开始配置
打开command.cfg在/usr/local/nagios/etc/objects里面
# define 'check_redis' command definition
define command [
command_name check_redis
command_line $USER1$/check_redis.py -s $ARG1$ -p $ARG2$ -P $ARG3$ --warn $ARG4$ --critical $ARG5$
}
打开被监控机的配置文件
加入
define service{
use generic-service
host_name vm_test
service_description check_redis
check_command check_redis!监控的ip地址!端口号默认6379!password!2048!4096
}
重启下nagios和nrpe
正确的结果
OK: Redis is using 7MB of RAM. Days Up: 0 Clients: 1 Version: 3.2.3
如果出现连接不上的情况,可能是redis.conf中绑定的是自己的ip127.0.0.1,修改成0.0.0.0之后就所有机器都可以连接了