1 Redis存活监控
redis存活监控 (redis_alive):redis本地监控agent使用ping,如果指定时间返回PONG表示存活,否则redis不能响应请求,可能阻塞或死亡。当返回值不为1时,redis挂了,告警
[root@bfd-ango-01 zabbix_agentd.d]# redis-cli -h 47.105.115.143 -p 7000 -c ping | grep -c PONG
1
客户端连接个数
连接个数 (connected_clients):客户端连接个数,如果连接数过高,影响redis吞吐量。>5000 时告警
[root@bfd-ango-01 zabbix_agentd.d]# redis-cli -h 47.105.115.143 -p 7000 -c info |grep -w "connected_clients" | awk -F":" '{print $2}'
5
连接数使用率(connected_clients_pct)
连接数使用百分比,通过(connected_clients/maxclients)计算;如果达到1,redis开始拒绝新连接创建,告警
[root@wyl01 redis]# redis-cli -h 192.168.52.128 -p 7000 info | grep -w rejected_connections
rejected_connections:0
新创建连接个数 (total_connections_received): 如果新创建连接过多,过度地创建和销毁连接对性能有影响,说明短连接严重或连接池使用有问题,告警
[root@wyl01 redis]# redis-cli -h 192.168.52.128 -p 7000 info | grep -w total_connections_received
total_connections_received:12
list阻塞调用被阻塞的连接个数 (blocked_clients): 如果监控数据大于0,告警
[root@wyl01 redis]# redis-cli -h 192.168.52.128 -p 7000 info | grep -w blocked_clients
blocked_clients:0
redis分配的内存大小 (used_memory): redis真实使用内存,不包含内存碎片
[root@wyl01 redis]# redis-cli -h 192.168.52.128 -p 7000 info | grep -w used_memory
used_memory:1507792
redis.cluster.status[cluster_known_nodes] | 集群的节点数 (cluster_known_nodes):集群中redis节点的个数 |
redis.cluster.status[cluster_slots_fail] | 检测下线的数据槽slots个数 (cluster_slots_fail):集群正常运行时,应该为0. 如果大于0说明集群有slot存在故障 |
redis.cluster.status[cluster_slots_ok] | 集群数据槽slots分配情况 (cluster_slots_assigned):集群正常运行时,默认16384个slots |
redis.status.clusterOK | 集群健康状态 (clusster_state):cluster_state不为OK则告警 |
redis.status.ping | PONG表示存活,否则redis不能响应请求,可能阻塞或死亡。当返回值不为1时,redis挂了,告警 |
redis.status.server | redis-server服务个数 |
redis.status[cluster_enabled] | 通过info的cluster_enabled监控是否启用集群模式。不等于1则告警 |
redis.status[connected_clients] | 客户端连接个数,如果连接数过高,影响redis吞吐量。 |
redis.status[keyspace_hits] | 请求键被命中次数 (keyspace_hits): redis请求键被命中的次数 |
redis.status[keyspace_misses] | 请求键未被命中次数 (keyspace_misses): redis请求键未被命中的次数 |
redis.status[rejected_connections] | 拒绝的连接个数(rejected_connections): redis连接个数达到maxclients限制,拒绝新连接的个数。告警 |
redis.status[total_commands_processed] | redis处理的命令数 (total_commands_processed): 监控采集周期内的平均qps |
redis.status[total_connections_received] | 如果新创建连接过多,过度地创建和销毁连接对性能有影响,说明短连接严重或连接池使用有问题,告警。 |
redis.status[used_memory] | redis分配的内存大小 (used_memory): redis真实使用内存,不包含内存碎片 |
[root@bfd-ango-01 zabbix_agentd.d]# cat redis_status.conf
UserParameter=redis.status.server,ps -ef |grep redis-server|grep -v grep|wc -l
UserParameter=redis.status.clusterOK,/opt/redis/bin/redis-cli -c -p 7000 cluster info|grep -c cluster_state:ok
UserParameter=redis.status.ping,/opt/redis/bin/redis-cli -c -p 7000 ping | grep -c PONG
UserParameter=redis.status[*],/usr/bin/sh /etc/zabbix/shell/redis_status.sh $1
UserParameter=redis.cluster.status[*],/usr/bin/sh /etc/zabbix/shell/redis_cluster_status.sh $1
[root@bfd-ango-01 shell]# cat redis_status.sh
redisCli=/opt/redis/bin/redis-cli
host=47.105.115.143
port=7000
${redisCli} -h ${host} -p ${port} -c info |grep -w $1|awk -F ':' '{print $2}'
[root@bfd-ango-01 shell]# cat redis_cluster_status.sh
redisCli=/opt/redis/bin/redis-cli
host=47.105.115.143 port=7000
${redisCli} -h ${host} -p ${port} -c cluster info |grep -w $1|awk -F ':' '{print $2}'
zabbix 的监控,这里不再添加。