Redis 学习(Zabbix 监控Redis)


  前面redis的配置文件盒常用命令、redis info信息都解释完了,接下来就是监控我们的redis了,我使用的是zabbix监控软件,所有在这里我在这里详细介绍下怎么设置zabbix来监控reids,主要分为配置zabbix插件、插件脚本、创建模板监控项、创建图形几个方面。


Redis 学习(配置文件和常用命令注释):

http://54snow.blog.51cto.com/2690157/1537449

Redis 学习(Redis Info详细注释):

http://54snow.blog.51cto.com/2690157/1537464


==========================================================================================

一、配置zabbix插件

       个人觉得zabbix很方便也很强大的原因就是能够随心所欲的自定义插件,我们想要监控一个当zabbix本身没有模板的东西时,完全可以自己写一个插件(其实就可以说是一个脚本)来监控需要监控的东西。下面就是我配置的监控redis的插件(上面一个插件配置是监控mysql的,也是自己定义的插件监控,需要查看zabbix监控mysql的信息请移步http://54snow.blog.51cto.com/2690157/1425807)

zabbix_agentd.conf中添加插件

vim/usr/local/zabbix_agentd/etc/zabbix_agentd.conf

wKioL1Pkfw_Tq8P4AACTEni5EY0388.jpg

Redis.status 是监控redis是否能够连接的,通过grep -c获取PONG个数,01

Redis.Info 就是需要监控的其他事项了,脚本信息稍候查看,(这里跟了 $1 $2个参数,如果zabbix监控项只给传递一个参数时,就当$2是不存在的)

 

添加完插件后重启zabbix_agentd

killallzabbix_agentd

/usr/local/zabbix_agentd/sbin/zabbix_agentdstart

ps axuf | grepzabbix_agentd

 

 

二、插件脚本

       插件脚本也就是一个shell脚本,通过shell脚本把所需要的数据提取出来并转换成zabbix能够接受的数据,然后在传给zabbix;下面插件脚本中的这些参数名都为redis info中的信息,未做任何改动,如果不明白这些参数所代表的意思可以参考我的另一篇文章(Redis Info信息详细说明:)

       这个插件脚本我不做详细的介绍,我相信大家都能够看懂是什么意思;只说明一点,这里通过Shell变量$#来确定参数个数,然后在确定该怎么操作。

提示:插件脚本已经在后面附件中给出,可以自己下载。

wKiom1PkehzAuTc3AAGmf6wRjJI785.jpg

wKiom1PkelHD7rVRAAEOXYstkWM816.jpg

这一部分插件脚本是为了统计redis数据库中由多少key和过期key以及被删除的key,他需要统计那个数据库($1),因此就需要传递两个参数

wKioL1Pke2vxHLoAAACuPm9QWZ8931.jpg



三、创建zabbix模板监控项

    提示:模板在后面附件中已经给出,如果不想自己添加的下载下来导入即可

       1.首先先创建模板

       组态-->模板-->创建模板

wKioL1Pke7-SGNjvAACQs4KeS7I058.jpg

2.添加应用集

    组态-->模板-->RedisMonitor-->创建应用集

wKiom1PkezrS1mxMAADPZMe1IqM730.jpg

3.创建监控项(这里总共19个监控项,我以其中几个不同的举例说明)

       添加监控项其中最重要的地方就是键值和数据类型这两个地方,redis提出出来的数据大多数都是数字,十进制的,所有这种数据类型是大多数监控项的配置

wKioL1PkfFTTMJnHAAETCauAzJE974.jpg

CPU数据取出来基本都是带有小数点的,所有不能用数字无正负类型,改为浮点类型

wKiom1PkezvQHKSZAAEq4RvToS0954.jpg

uptime这个监控项,从redis中取出来的数据是以秒为单位的时间,这里需要将单位填写uptime

wKioL1PkfFXihZLJAAEVkHNr6aU402.jpg

versionredis中取出来是类似2.8.11 这种类型的数据,所以这里数据类型就需要使用字元

wKiom1PkezyzP9WgAADykQLQDFA897.jpg

以上就是redis监控项中不同的数据类型的监控,其他监控项基本都是如此的,按照例子进行创建你想要得监控项就可以了

 


四、创建图形

       创建图形这个就简单的多咯,直接把你想要放在一张图上的监控项添加在一起就可以了,我这里就给出我的图形

wKiom1Pke93yaNxoAADG-PN-YWw083.jpg

wKioL1PkfPfx62M4AAEHib2nMAs219.jpg

wKiom1Pke-HjbHb5AAD1SEHew6c569.jpg

wKioL1PkfPqS9x0pAAD_chmeUnE410.jpg

wKiom1Pke-LhxDxjAAEE-MpjtLg276.jpg


创建触发器

       组态-->模板-->触发器-->创建触发器

       这里我就为Redis.Status创建了一个触发器,判断redis是否能够连接;因为无论redis是作为缓存服务器来缓存一些实时数据还是做数据库使用,如果redis无法连接的时候肯定会影响到现有的业务,所有我将严重性定位灾难,你们也可以根据自己的情况定义

wKioL1PkfPuxYa2yAACxPnukSVY504.jpg


    到这里zabbix 监控Redis的整个过程就差不多完成了,剩下的就是将模板应用到redis主机了,这个我这里就不详细说明了。然后可以将这个模板导出了,供以后其他地方使用。