明白了,阿杰,你想在 Zabbix 中监控 Redis。下面我给你整理一份完整指南,包括 准备工作、Redis 配置、Zabbix 配置和模板应用,适合生产环境部署。
🖥️ Zabbix 监控 Redis 完整指南
一、前置条件
- Redis
- 已安装 Redis 服务
- 可以访问
redis-cli
并执行命令 - 建议 Redis 版本 ≥ 5.x
- Zabbix
- 已部署 Zabbix Server
- Zabbix Agent(安装在 Redis 服务器上)
- 网络
- Zabbix Server 可以访问 Redis 服务器端口(默认 6379)
- Redis 允许本地或远程访问(配置
bind
和requirepass
)
二、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 的方法
- 使用内置模板
Zabbix 官方提供Template DB Redis
,可以直接使用。 - 自定义脚本监控
- 在 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
- 使用 Zabbix Redis 模板(官方或社区版)
- 优点:
- 支持多项指标:连接数、内存使用、命中率、慢查询、key 数量
- 支持触发器报警
- 优点:
四、添加 Redis 主机到 Zabbix
- Zabbix 前端 → Configuration → Hosts → Create Host
- Hostname:
redis-server
- Groups:
Database
或Redis
- Agent Interface: Redis 服务器 IP
- Hostname:
- 链接模板
- Templates → 添加
Template DB Redis
或自定义模板
- Templates → 添加
- 验证监控
- 等待 1-2 分钟
- 前端 Monitoring → Latest Data 查看指标是否正常
五、常用 Redis 监控指标
指标 | 描述 |
---|---|
connected_clients | 当前连接数 |
used_memory | 内存使用 |
used_memory_peak | 内存峰值 |
instantaneous_ops_per_sec | 每秒操作数 |
keyspace_hits | key 命中数 |
keyspace_misses | key 未命中数 |
total_commands_processed | 总命令处理数 |
slowlog_len | 慢查询数量 |
aof_current_size | AOF 文件大小 |
rdb_last_bgsave_status | RDB 最近保存状态 |
六、可视化和告警
- 可视化
- Zabbix Dashboard → 创建 Graph / Simple Graph
- 可以显示:
- 内存使用趋势
- 连接数变化
- Key 命中率
- 告警触发器
- 示例:
Trigger: Redis used memory > 80% Expression: {redis-server:redis.used_memory.last()}>800000000 Severity: High
- 支持邮件、钉钉、微信告警
- 示例:
七、注意事项
- 安全
- Redis 生产环境建议开启密码和防火墙
- 避免直接暴露 6379 端口
- 性能
- 频繁执行
info
命令会增加 Redis CPU 消耗 - Zabbix 默认采集间隔 60s,可根据需求调整
- 频繁执行
- 集群模式
- Redis Cluster 可以分别监控每个节点
- 或使用 Redis Sentinel 模式监控主从状态
发表回复