Docker 部署 Redis 监控系统实战:Redis Exporter 与 Prometheus 完整配置指南

Docker 部署 Redis 监控系统实战:Redis Exporter 与 Prometheus 完整配置指南

文章目录

  • [Docker 部署 Redis 监控系统实战:Redis Exporter 与 Prometheus 完整配置指南](#Docker 部署 Redis 监控系统实战:Redis Exporter 与 Prometheus 完整配置指南)
      • [一 缓存简述](#一 缓存简述)
      • [二 redis exporter 部署](#二 redis exporter 部署)
      • [三 环境变量配置](#三 环境变量配置)
      • [四 修改文件权限](#四 修改文件权限)
      • [五 验证 exporter 是否成功](#五 验证 exporter 是否成功)
      • [六 配置 prometheus](#六 配置 prometheus)

本文详细介绍了如何通过 Docker 快速部署 Redis Exporter 并结合 Prometheus 实现 Redis 单节点的性能监控。首先,文章简述了 Redis 缓存的节点架构,随后提供了通过 Docker Compose 部署 Redis Exporter 的完整步骤,包括环境变量配置及密码文件的权限设置。配置完成后,Prometheus 将通过 Redis Exporter 抓取 Redis 相关的监控数据,文章还涵盖了 Prometheus 的配置文件示例及其标签调整方法。最终,用户可以通过访问 Redis Exporter 提供的监控接口,实时获取 Redis 的性能指标。适合开发者快速上手 Redis 监控部署。

预备课

Docker 安装与配置:从入门到部署

Docker 部署 Prometheus+Grafana 监控系统快速指南

一 缓存简述

IP 描述
192.168.0.4 Redis单节点

二 redis exporter 部署

docker compose 启动 docker-compose.redis04.yml 文件。

yml 复制代码
version: '3'
services:
  redis_exporter:
    image: quay.io/oliver006/redis_exporter:v1.55.0-alpine
    container_name: redis_exporter
    hostname: redis_exporter_04
    restart: always
    environment:
      - REDIS_PASSWORD_FILE=/pwd/pwd-file.json
      - REDIS_ADDR=redis://192.168.0.4:6379
    volumes:
      - ./pwd/pwd-file.json:/pwd/pwd-file.json
    ports:
      - "9121:9121"

三 环境变量配置

样例 sample-pwd-file.json(是否有密码)

json 复制代码
{
  "redis://redis6:6379": "",
  "redis://pwd-redis5:6380": "redis-password"
}

pwd-file.json

json 复制代码
{
  "redis://192.168.0.4:6379": "123456"
}

四 修改文件权限

shell 复制代码
$ sudo chmod 777 pwd/ 

五 验证 exporter 是否成功

访问 URL : http://192.168.0.4:9121/metrics

六 配置 prometheus

prometheus.yml 的配置,参考 redis_exporter

lua 复制代码
global:
  scrape_interval:     15s # 全局默认抓取间隔,所有任务的默认抓取周期为15秒
  external_labels:
    monitor: single-monitor # 外部标签,用于标识此 Prometheus 实例的监控来源
scrape_configs:
  - job_name: 'redis_exporter' # 定义任务名称为 redis_exporter,用于采集 Redis 相关的监控数据
    static_configs:
      - targets: # 监控目标列表
        - 192.168.0.4:9121 # Redis Exporter 服务所在的 IP 和端口
    relabel_configs: # 重新标签配置,用于动态修改或添加标签
      - source_labels: [ "__address__" ] # 使用默认的地址标签(包含IP和端口)
        regex: "(.*):(.*)" # 使用正则表达式从地址中提取 IP 和端口
        target_label: "instance" # 将提取的 IP 设置为新的标签 instance
        replacement: $1 # 用提取的 IP 地址替换 instance 标签的值,去掉端口
相关推荐
源图客8 小时前
【AI向量数据库】Weaviate介绍与部署
运维·docker·容器
轻刀快马9 小时前
跨越软硬件的共鸣(二):从 Cache 写策略看 Redis 与 DB 的一致性博弈
java·开发语言·redis·计算机组成原理
一勺菠萝丶9 小时前
宝塔 Docker 安装 Ubuntu 及启动失败解决流程
ubuntu·docker·eureka
码云骑士11 小时前
28-Docker部署Django(下)-docker-compose编排与静态文件处理
docker·容器·django
lazy H12 小时前
Spring Boot 项目如何连接 Redis?新手入门配置和常见错误总结
ide·spring boot·redis·后端·学习·intellij-idea
至乐活着12 小时前
Docker Compose多服务编排实战:从零搭建Node.js+MySQL+Redis全栈应用
docker·微服务·devops·容器编排·compose
木雷坞12 小时前
Firecrawl Docker Compose 自托管排查:镜像、Redis、队列和 Playwright
redis·docker·容器·firecrawl
whyfail13 小时前
Colima:把 Docker Desktop 从 Mac 上“瘦身”的那把刀
macos·docker·容器
柏舟飞流13 小时前
Spring Boot 进阶实战:整合 MyBatis、Redis、JWT,搭一个更像真实项目的后端服务
spring boot·redis·mybatis
南部余额14 小时前
Canal解决MySQL与Redis数据一致性问题
数据库·redis·mysql·canal·数据·数据同步