指标 | 说明 | 告警等级 | 监控值 | 描述 |
---|---|---|---|---|
redis_alive | 实例是否存活 | P0 | redis-cli -c -p ${port} ping | grep -c PONG | 如果指定时间返回PONG表示存活,否则redis不能响应请求,可能阻塞或死亡。当返回值不为1时,redis挂了,告警 |
connected_clients | 客户端连接个数 | >9000 P1 >7000 P2 >5000 P3 | redis-cli -c -p 6380 info | grep -w "connected_clients" | awk -F":" '{print $2}' | 如果连接数过高,影响redis吞吐量。>5000 时告警,目前redis maxclients 为10000 codis server 为20000 |
rejected_connections | 拒绝的连接个数 | P0 | redis-cli -c -p 6380 info | grep -w rejected_connections | redis连接个数达到maxclients限制,拒绝新连接的个数。告警 |
total_connections_received | 新创建连接个数 | P2 | redis-cli -c -p 6380 info | grep -w total_connections_received | 如果新创建连接数过多,过度地创建和销毁连接对性能有影响,说明短连接严重或连接池使用有问题,可以截取一定时间内的值做报警 |
blocked_clients | 被阻塞的连接个数 | P0 | redis-cli -c -p 6380 info | grep -w blocked_clients | 如果监控数据大于0 |
used_memory_rss | redis进程使用内存大小,包含内存碎片 | P2 | redis-cli -c -p 6380 info | grep -w used_memory_rss | 如果rss过大导致内部碎片大,内存资源浪费,和fork的耗时和cow内存都会增大,将该值与maxmemory 对比如果达到了80%则报警。 |
mem_fragmentation_ratio | 碎片率 | P0 | redis-cli -c -p 6380 info | grep -w mem_fragmentation_ratio | (used_memory_rss/used_memory),碎片率过大,导致内存资源浪费。小于1,表示redis已使用swap分区,则告警 |
instantaneous_ops_per_sec | redis内部较实时的每秒执行的命令数 | P0,P1 11W, 9W | redis-cli -c -p 6380 info | grep -w instantaneous_ops_per_sec | awk -F':' '{print $2}' | 单个节点每秒执行的命令数,>=11W 为P0, >=9W 为P1 |
latest_fork_usec | 最近一次fork阻塞的微秒数 | P0,P1 1000000,800000 | redis-cli -c -p 6380 info | grep -w latest_fork_usec | 最近一次Fork操作阻塞redis进程的耗时数,单位微秒。超过1s为P0,0.8s为P1 |
keyspace_hit_ratio | 请求键的命中率 | P0 | redis-cli -c -p 6380 info | grep -w keyspace_hits / (redis-cli -c -p 6380 info | grep -w keyspace_hits + redis-cli -c -p 6380 info | grep -w keyspace_misses) | keyspace_hits/(keyspace_hits+keyspace_misses)计算所得,命中率低于50%告警 |
redis cluster告警指标
指标 | 说明 | 告警等级 | 监控值 | 描述 |
---|---|---|---|---|
cluster_enabled | 是否开启集群模式 | P0 | redis-cli -c -p 6379 info | grep -w cluster_enabled | 监控是否启用集群模式。不等于1则告警 |
clusster_state | 集群健康状态 | P0 | redis-cli -c -p 6379 cluster info | grep -w cluster_state | cluster_state不为OK则告警 |
cluster_slots_assigned | 集群数据槽slots分配情况 | P0 | redis-cli -c -p 6379 cluster info | grep -w cluster_slots_ok | 集群正常运行时,默认16384个slots,不等于16384则告警 |
cluster_slots_fail | 检测下线的数据槽slots个数 | P0 | redis-cli -c -p 6379 cluster info | grep -w -w cluster_slots_fail | 集群正常运行时,应该为0. 如果大于0说明集群有slot存在故障 |
cluster_known_nodes | 集群的节点数 | P0 | redis-cli -c -p 6379 cluster info | grep -w cluster_known_nodes | 集群中redis节点的个数,少于原本的节点数告警 |