prometheus监控redis数据库
1.部署redis数据库
一、环境准备与源码安装
- 下载 Redis 源码(以 7.0.11 为例)
wget https://download.redis.io/releases/redis-7.0.11.tar.gz
- 解压并进入目录
tar zxvf redis-7.0.11.tar.gz
cd redis-7.0.11
- 编译安装(AlmaLinux 需先安装
gcc、make等依赖)
# 安装依赖(若未安装)
dnf install -y gcc make
# 编译并安装
make && make install
- 复制配置文件到系统目录
cp redis.conf /etc/
二、配置与启动 Redis
- 修改配置,让 Redis 后台运行
sed -i 's#daemonize no#daemonize yes#g' /etc/redis.conf
- 启动 Redis 服务bash运行
redis-server /etc/redis.conf
三、验证启动
# 查看 Redis 进程
ps -ef | grep redis
# 连接 Redis 测试
redis-cli

2.监控redis需要关注的⼏个重要的指标
- 延迟
- 延迟数据对使⽤ Redis 的应⽤程序⾄关重要,所以要重点监控。
- 流量
- Redis 每秒处理多少请求,每秒接收多少字节、返回多少字节,在 Redis ⾥都内置了相关指标,通过redis-cli 连上 Redis,执⾏ info all 命令可以看到很多指标。
- 错误
- 客⼾端操作 Redis 返回了错误⽐较常⻅,要关注,另外需要关注客⼾端的最⼤连接数量。
- 饱和度
- Redis 重度使⽤内存,内存的使⽤率、碎⽚率,以及因为内存不够⽤⽽清理的 Key 数量,都是需要重点关注的。可以通过 info memory 命令查看这⼏个关键指标。
# 开启⾃动内存碎⽚整理(总开关)
activedefrag yes
# 当碎⽚达到 100mb 时,开启内存碎⽚整理
active-defrag-ignore-bytes 100mb
# 当碎⽚超过 10% 时,开启内存碎⽚整理
active-defrag-threshold-lower 10
# 内存碎⽚超过 100%,则尽最⼤努⼒整理
active-defrag-threshold-upper 100
# 内存⾃动整理占⽤资源最⼩百分⽐
active-defrag-cycle-min 25
# 内存⾃动整理占⽤资源最⼤百分⽐
active-defrag-cycle-max 75
3、获取并部署redis_exporter
# 下载指定版本的 redis_exporter
wget https://github.com/oliver006/redis_exporter/releases/download/v1.50.0/redis_exporter-v1.50.0.linux-amd64.tar.gz
# 解压到 /usr/local 目录
tar zxvf redis_exporter-v1.50.0.linux-amd64.tar.gz -C /usr/local
# 进入目录并重命名
cd /usr/local
mv redis_exporter-v1.50.0.linux-amd64 redis_exporter
4、启动redis_exporter
方式 1:直接后台启动(临时测试)
# 无密码 Redis 启动
nohup /usr/local/redis_exporter/redis_exporter \
-redis.addr 127.0.0.1:6379 \
-web.listen-address :9121 &
# 若 Redis 有密码,需添加 -redis.password 参数
# nohup /usr/local/redis_exporter/redis_exporter \
# -redis.addr 127.0.0.1:6379 \
# -redis.password your_redis_password \
# -web.listen-address :9121 &
方式 2:配置 systemd 服务(推荐生产环境)
- 创建服务文件
vim /usr/lib/systemd/system/redis_exporter.service
写入以下内容:
[Unit]
Description=Redis Exporter
After=network.target
[Service]
User=root
ExecStart=/usr/local/redis_exporter/redis_exporter \
-redis.addr 127.0.0.1:6379 \
-web.listen-address :9121
# 若有密码,添加 -redis.password your_redis_password 到 ExecStart 行
Restart=on-failure
[Install]
WantedBy=multi-user.target
- 重载 systemd 并启动服务
# 重载配置
systemctl daemon-reload
# 启动服务
systemctl start redis_exporter
# 设置开机自启
systemctl enable redis_exporter
# 查看服务状态
systemctl status redis_exporter

三、验证启动
# 查看进程
ps -ef | grep redis_exporter
# 访问 metrics 接口(返回 Prometheus 格式指标)
curl http://127.0.0.1:9121/metrics
✅ 执行 curl http://127.0.0.1:9121/metrics 若返回大量 redis_* 开头的指标,说明部署成功。

四、Redis 内存碎片整理配置(可选)
编辑 /etc/redis.conf,添加 / 修改以下配置:
# 开启自动内存碎片整理(总开关)
activedefrag yes
# 当碎片达到 100mb 时,开启内存碎片整理
active-defrag-ignore-bytes 100mb
# 当碎片超过 10% 时,开启内存碎片整理
active-defrag-threshold-lower 10
# 内存碎片超过 100%,则尽最大努力整理
active-defrag-threshold-upper 100
# 内存自动整理占用资源最小百分比
active-defrag-cycle-min 25
# 内存自动整理占用资源最大百分比
active-defrag-cycle-max 75
重启 Redis 生效:
pkill redis-server
redis-server /etc/redis.conf
一键安装并配置 Grafana(AlmaLinux 9 适配)
步骤 1:安装依赖 + 添加 Grafana 源
# 安装必要依赖
dnf install -y wget nano
# 添加 Grafana 官方 YUM 源
cat > /etc/yum.repos.d/grafana.repo << 'EOF'
[grafana]
name=grafana baseurl=https://rpm.grafana.com repo_gpgcheck=1 enabled=1 gpgcheck=1 gpgkey=https://rpm.grafana.com/gpg.key sslverify=1 sslcacert=/etc/pki/tls/certs/ca-bundle.crt EOF
步骤 2:安装 Grafana 社区版(免费)
# 安装 Grafana
dnf install -y grafana
# 启动并设置开机自启
systemctl start grafana-server
systemctl enable grafana-server
# 验证服务状态(出现 active (running) 即为成功)
systemctl status grafana-server

步骤 3:配置 Grafana 允许外部访问 + 放行端口
# 修改 Grafana 监听地址为 0.0.0.0(默认已配置,确认一下)
sed -i 's/^;http_addr =/http_addr = 0.0.0.0/' /etc/grafana/grafana.ini
# 重启 Grafana 生效
systemctl restart grafana-server
# 放行防火墙 3000 端口(临时+永久)
firewall-cmd --add-port=3000/tcp --permanent
firewall-cmd --reload
# 验证 3000 端口监听(有输出则正常)
ss -tnlp | grep 3000

✅ 验证访问 + 导入 Redis 监控面板
步骤 1:访问 Grafana 页面
在本地浏览器输入:
http://服务器ip:3000

- 默认账号:
admin - 默认密码:
admin - 首次登录会提示修改密码,可先跳过(或设置新密码)。

步骤 2:添加 Prometheus 数据源
- 登录后点击左侧齿轮图标 →
Data sources→Add data source; - 选择
Prometheus; - 在
URL处填写:http://127.0.0.1:9090(若 Grafana 和 Prometheus 不在同一服务器,填 Prometheus 服务器 IP); - 点击
Save & test,出现Data source is working即为成功。
步骤 3:导入 Redis 监控面板
- 点击左侧
+→Import; - 在
Import via grafana.com输入面板 ID:11835→Load; - 选择刚添加的 Prometheus 数据源 →
Import; - 即可看到完整的 Redis 监控大盘(包含内存、连接、命中率、碎片率等指标)。
