Redis-cluster监控部署方案

redis-cluster监控部署方案

概述

生产中为了避免单点故障,生产环境中redis升级为扩展模式,需要对redis进行监控,一旦有中断出现故障便触发报警。Redis有自带的redis-cli客户端,通过群集信息命令能查询到生成的运行情况,我们可以写一个shell脚本,通过zabbix来调用这个脚本实现监控。

一、集群信息命令的使用

命令格式:

redis-cli -h [主机名] -p [端口] -a [密码]集群信息

1、 查询可执行运行状态,1为正常,0为故障

redis-cli -h xxx.xxx.xxx.xxx -a 'password' -p 7001 cluster info | grep "cluster_state"

2、 redis赋予已分配的槽

redis-cli -h xxx.xxx.xxx.xxx -a 'password' -p 7001 cluster info | grep -w "cluster_slots_assigned" | awk -F':' '{print $2}'

3、 redis分配槽的状态是ok的数量

redis-cli -h xxx.xxx.xxx.xxx -a 'password' -p 7001 cluster info | grep -w "cluster_slots_ok" | awk -F':' '{print $2}'

4、 redis可行可能失效的槽数

redis-cli -h xxx.xxx.xxx.xxx -a 'password' -p 7001 cluster info | grep -w "cluster_slots_pfail" | awk -F':' '{print $2}'

5、 redis能够已经失效的槽数

6、redis赋予中所有子系统个数

7、redis赋予中主报价个数

8、redis部署中的currentEpoch值

(累积中的currentEpoch总是一致的,currentEpoch变为,代表路由器的配置或操作越新,积累中最大的那个node epoch

当发生的状态发生改变时,某些代表为了执行一些动作需要寻求其他例程的同意时,就会增加currentEpoch的值)

9,redis容量中二进制总线接收的消息数量

10,redis容量中二进制总线发送的消息数量

11,redis端口存活监控

二、创建监控脚本

监控redis幸存的脚本

监控redis-cluster部署的脚本

授予脚本调试权限

脚本测试

创建redis分布式监控配置文件

结合 zabbix

zabbix上创建redis监控模板

  • 创建redis-cluster模板名称

  • 创建监控项

例如:(根据自身情况决定)

名称:redis能够运行状态监测

类型:zabbix客户端 键值:Redis.Cluster [cluster_state]

信息类型:数字(无正负)

更新间隔:30s

  • 创造主轴

例如:(根据自身情况决定)

名称:redis发挥状态失败

严重性:一般严重

表达式:{Redis-cluster Service:Redis.Cluster [cluster_state] .count(#3,1,"ne")}> 2

Last updated