prometheus监控redis数据库

1.部署redis数据库

一、环境准备与源码安装

  1. 下载 Redis 源码(以 7.0.11 为例)
wget https://download.redis.io/releases/redis-7.0.11.tar.gz
  1. 解压并进入目录
tar zxvf redis-7.0.11.tar.gz
cd redis-7.0.11
  1. 编译安装(AlmaLinux 需先安装 gccmake 等依赖)
# 安装依赖(若未安装)
dnf install -y gcc make
# 编译并安装
make && make install
  1. 复制配置文件到系统目录
cp redis.conf /etc/

二、配置与启动 Redis

  1. 修改配置,让 Redis 后台运行
sed -i 's#daemonize no#daemonize yes#g' /etc/redis.conf
  1. 启动 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 服务(推荐生产环境)

  1. 创建服务文件
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
  1. 重载 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 数据源

  1. 登录后点击左侧齿轮图标 → Data sourcesAdd data source
  2. 选择 Prometheus
  3. URL 处填写:http://127.0.0.1:9090(若 Grafana 和 Prometheus 不在同一服务器,填 Prometheus 服务器 IP);
  4. 点击 Save & test,出现 Data source is working 即为成功。

步骤 3:导入 Redis 监控面板

  1. 点击左侧 +Import
  2. Import via grafana.com 输入面板 ID:11835Load
  3. 选择刚添加的 Prometheus 数据源 → Import
  4. 即可看到完整的 Redis 监控大盘(包含内存、连接、命中率、碎片率等指标)。

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注