监控体系怎么搭
最小可用监控要覆盖八类信号:内存水位、连接数、每秒请求量、命中率、慢查询计数、持久化状态、复制状态、淘汰数量。采集方式通常是导出器读取实例信息接口,再交给时序数据库与看板。告警要少而准:先覆盖不可用类,再补性能类,避免噪声淹没真问题。
基本信息
| 采集方式 | 导出器定时读取实例信息接口,或自建脚本采集关键字段 |
|---|---|
| 采集频率 | 15 到 60 秒一次,避免高频全量采集本身成为负载 |
| 延迟测量 | 客户端延迟探测可同时反映网络与执行耗时 |
| 告警分层 | 不可用类优先,性能类其次 |
| 看板划分 | 按实例、按业务维度拆分,便于定位影响面 |
核心指标与告警建议
- 内存水位:接近上限或淘汰数量突增时告警
- 连接数:接近上限或被拒绝连接数增长时告警
- 每秒请求量:突变(骤降或骤增)都值得关注
- 命中率:持续下降说明缓存失效或数据分布变化
- 持久化状态:最近一次快照或追加日志失败即告警
- 复制状态:链路断开或延迟超标时告警
- 延迟探测:客户端视角的往返延迟持续偏高时告警
采集要点
采集要点
# 一次性抓取关键字段做巡检
redis-cli INFO | grep -E "used_memory_human|connected_clients|instantaneous_ops_per_sec|keyspace_hits|keyspace_misses|evicted_keys"
# 复制与持久化健康
redis-cli INFO replication | grep -E "role|master_link_status|master_last_io_seconds_ago"
redis-cli INFO persistence | grep -E "rdb_last_bgsave_status|aof_last_write_status"
# 客户端视角延迟
redis-cli --latency
redis-cli --latency-history -i 5指标逐项读法
| 指标 | 含义 | 异常信号 |
|---|---|---|
| 内存水位 | 已用内存与上限的比值 | 持续贴近上限说明淘汰即将发生 |
| 连接数 | 当前客户端连接总数 | 持续增长或贴近上限需查泄漏 |
| 每秒请求量 | 瞬时命令处理速率 | 骤降常见于上游故障或实例卡住 |
| 命中率 | 命中与总访问的比值 | 下降说明缓存被冲掉或键设计有问题 |
| 淘汰数量 | 因内存不足被淘汰的键数 | 增长说明容量不足 |
| 持久化状态 | 最近一次落盘结果 | 失败要按故障处理,写入会被拒绝 |
先保证四类不可用告警到位:进程存活、连接打满、复制断开、持久化失败,这四类直接决定数据安全。
采集频率过高(例如每秒全量抓取信息接口):采集本身会占用可观 CPU,成为新的性能问题。