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 [root@bfd-ango-01 zabbix_agentd.d]# redis-cli -h 47.105.115.143 -p 7000 -c ping PONG
客户端连接个数
连接个数 (connected_clients):客户端连接个数,如果连接数过高,影响redis吞吐量。>5000 时告警
redis-cli -h 47.105.115.143 -p 7000 -c info |grep -w "connected_clients" | awk -F":" '{print $2}' 5
Redis |
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 的监控,这里不再添加。