明白了,阿杰,你想在 Zabbix 中监控 Redis。下面我给你整理一份完整指南,包括 准备工作、Redis 配置、Zabbix 配置和模板应用,适合生产环境部署。


🖥️ Zabbix 监控 Redis 完整指南


一、前置条件

  1. Redis
    • 已安装 Redis 服务
    • 可以访问 redis-cli 并执行命令
    • 建议 Redis 版本 ≥ 5.x
  2. Zabbix
    • 已部署 Zabbix Server
    • Zabbix Agent(安装在 Redis 服务器上)
  3. 网络
    • Zabbix Server 可以访问 Redis 服务器端口(默认 6379)
    • Redis 允许本地或远程访问(配置 bindrequirepass

二、Redis 配置

1️⃣ 启用 INFO 命令访问

  • Redis 默认启用 INFO 命令,可以获取状态信息
  • 如果 Redis 设置了密码: requirepass yourpassword
  • 如果是远程监控,需要确保防火墙允许访问端口 6379

2️⃣ 可选:开启 slowlog(慢查询监控)

slowlog-log-slower-than 10000
slowlog-max-len 128


三、Zabbix 监控方式

1️⃣ 通过 Zabbix Agent(推荐)

  • 安装 Zabbix Agent(Ubuntu 示例):
sudo apt install zabbix-agent

  • 配置 zabbix_agentd.conf
Server=ZABBIX_SERVER_IP
ServerActive=ZABBIX_SERVER_IP
Hostname=redis-server
Include=/etc/zabbix/zabbix_agentd.d/*.conf

  • 重启 Agent:
sudo systemctl restart zabbix-agent


2️⃣ Zabbix 监控 Redis 的方法

  1. 使用内置模板
    Zabbix 官方提供 Template DB Redis,可以直接使用。
  2. 自定义脚本监控
    • 在 Zabbix Agent 上创建用户参数:
    UserParameter=redis.ping,redis-cli -a yourpassword ping UserParameter=redis.info,redis-cli -a yourpassword info UserParameter=redis.connected_clients,redis-cli -a yourpassword info | grep connected_clients | cut -d: -f2 UserParameter=redis.used_memory,redis-cli -a yourpassword info | grep used_memory: | cut -d: -f2
    • 重启 Zabbix Agent
  3. 使用 Zabbix Redis 模板(官方或社区版)
    • 优点:
      • 支持多项指标:连接数、内存使用、命中率、慢查询、key 数量
      • 支持触发器报警

四、添加 Redis 主机到 Zabbix

  1. Zabbix 前端 → Configuration → Hosts → Create Host
    • Hostname: redis-server
    • Groups: DatabaseRedis
    • Agent Interface: Redis 服务器 IP
  2. 链接模板
    • Templates → 添加 Template DB Redis 或自定义模板
  3. 验证监控
    • 等待 1-2 分钟
    • 前端 Monitoring → Latest Data 查看指标是否正常

五、常用 Redis 监控指标

指标描述
connected_clients当前连接数
used_memory内存使用
used_memory_peak内存峰值
instantaneous_ops_per_sec每秒操作数
keyspace_hitskey 命中数
keyspace_misseskey 未命中数
total_commands_processed总命令处理数
slowlog_len慢查询数量
aof_current_sizeAOF 文件大小
rdb_last_bgsave_statusRDB 最近保存状态

六、可视化和告警

  1. 可视化
    • Zabbix Dashboard → 创建 Graph / Simple Graph
    • 可以显示:
      • 内存使用趋势
      • 连接数变化
      • Key 命中率
  2. 告警触发器
    • 示例: Trigger: Redis used memory > 80% Expression: {redis-server:redis.used_memory.last()}>800000000 Severity: High
    • 支持邮件、钉钉、微信告警

七、注意事项

  1. 安全
    • Redis 生产环境建议开启密码和防火墙
    • 避免直接暴露 6379 端口
  2. 性能
    • 频繁执行 info 命令会增加 Redis CPU 消耗
    • Zabbix 默认采集间隔 60s,可根据需求调整
  3. 集群模式
    • Redis Cluster 可以分别监控每个节点
    • 或使用 Redis Sentinel 模式监控主从状态