prometheus监控redis需要用到redis_exporter。

redis_exporter 项目地址:https://github.com/oliver006/redis_exporter

1、安装部署

这里则部署在了Prometheus Server之上。

cd /usr/local/src
wget https://github.com/oliver006/redis_exporter/releases/download/v1.6.1/redis_exporter-v1.6.1.linux-amd64.tar.gz
tar -zxv -f redis_exporter-v1.6.1.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
mv redis_exporter-v1.6.1.linux-arm64/ redis_exporter

2、redis_exporter 用法

解压后只有一个二进制程序就叫 redis_exporter 通过 -h 可以获取到帮助信息,下面列出一些常用的选项:

-redis.addr:指明一个或多个 Redis 节点的地址,多个节点使用逗号分隔,默认为 redis://localhost:6379
-redis.password:验证 Redis 时使用的密码;
-redis.file:包含一个或多个redis 节点的文件路径,每行一个节点,此选项与 -redis.addr 互斥。
-web.listen-address:监听的地址和端口,默认为 0.0.0.0:9121

3,运行 redis_exporter 服务

创建 redis_exporter.service 启动脚本

vim /usr/lib/systemd/system/redis_exporter.service 

[Unit]
Description=redis_exporter
Documentation=https://github.com/oliver006/redis_exporter
After=network.target [Service]
Type=simple
User=prometheus
ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.254:6371
Restart=on-failure [Install]
WantedBy=multi-user.target

注意:关于redis的相关信息,则在ExecStart配置项当中进行定义!

1.若是需要修改默认的监听端口,则修改成:ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.254:6371 -web.listen-address 0.0.0.0:9122

2.若是redis集群有密码,则修改成:ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.254:6371 -redis.password -web.listen-address 0.0.0.0:9122

若是修改默认监听端口的话,则在prometheus.yml文件中也需要做相应的修改

之所以要在启动命令中配置一个:-redis.addr 192.168.0.254:6371 也就是集群中的随意一个地址,是因为只要能连接到一个集群的一个节点,自然就能查询其他节点的指标了。否则不配置这个的话,日志中则会报错:level=error msg="Couldn't connect to redis instance"

redis_exporter 使用 prometheus 用户运行,所以需要创建该用户

groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus # 若有用户,则直接执行这个
chown -R prometheus.prometheus /usr/local/redis_exporter

启动服务:

systemctl daemon-reload
systemctl start redis_exporter
systemctl status redis_exporter
systemctl enable redis_exporter
ss -tulnp | grep 9121

4、配置 prometheus.yml 添加监控目标

vim /usr/local/prometheus/prometheus.yml
- job_name: 'redis_cluster_targets'
static_configs:
- targets:
- redis://192.168.0.254:6371
- redis://192.168.0.254:6372
- redis://192.168.0.254:6373
- redis://192.168.0.254:6374
- redis://192.168.0.254:6375
- redis://192.168.0.254:6376
metrics_path: /scrape
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 192.168.0.254:9121
## config for scraping the exporter itself
- job_name: 'redis_cluster'
static_configs:
- targets:
- 192.168.0.254:9121

重启服务。

systemctl restart prometheus

效果图:

5,配置 Grafana 的模板

redis_exporter 在 Grafana 上为我们提供好了 Dashboard 模板:https://grafana.com/dashboards/763

下载后在 Grafana 中导入 json 模板就可以看到官方这样的示例截图啦:

监控Redis集群--废弃,使用新教程的更多相关文章

  1. Prometheus 监控 Redis 集群的正确姿势

    Prometheus 监控Redis的正确姿势(redis集群) Prometheus 监控 Redis cluster,其实套路都是一样的,使用 exporter. exporter 负责采集指标, ...

  2. redis集群的搭建详细教程

    1 Redis-cluster架构图             redis-cluster投票:容错  (至少要三个才可以,才能超过半数) 架构细节: (1)所有的redis节点彼此互联(PING-PO ...

  3. 监控Redis集群,有两种方法

    前提条件 redis集群:已搭建三主三从(三台主机) prometheus.grafana已安装 三台主机ip: 192.168.0.39,192.168.0.164,192.168.0.68 第一种 ...

  4. Redis-Sentinel(Redis集群监控管理)

    Redis的高可用方案的实现:主从切换以及虚拟IP或客户端 从Redis 2.8开始加入对Sentinel机制从而实现了服务器端的主从切换,但目前尚未发现实现虚拟IP或客户端切换方案 Redis-Se ...

  5. redis集群的远程管理与监控

    一.redis集群的重要性 目前大部分的互联网平台,都会用到Redis内存数据库,以提高响应速度,提升用户使用体验. 为了实现Redis的高可用,通常都会布署Redis集群,使用Redis-Senti ...

  6. redis 集群热备自动切换sentinel配置实战

    ---恢复内容开始--- Redis SentinelSentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中一.Sentinel作用:1): ...

  7. Redis集群部署

    1.1.1redis简介 Redis 是一个开源的使用 ANSI C 语言编写.支持网络.可基于内存亦可持久化的日志 型. Key-Value数据库 1.1.2redis常见使用场景 1.会话缓存(S ...

  8. Redis集群_3.redis主从自动切换Sentinel(转)

    Redis SentinelSentinel(哨兵)是用于监控redis集群中Master状态的工具,其已经被集成在redis2.4+的版本中 一.Sentinel作用:1):Master状态检测 2 ...

  9. 用Docker构建分布式Redis集群

    [编者的话]本文介绍了如何使用Docker搭建Redis集群,很多读者都在问Docker能带来哪些实质性的好处,我想本文就是一个很好的例子.不使用Docker你也可以搭建Redis集群,那使用Dock ...

随机推荐

  1. 第十五天python3 文件IO(一)

    一.文件打开 open(path,flag[,encoding][,errors]) 参数说明: path:要打开文件的路径 flag:打开方式( r:以只读的方式打开文件,文件的描述符放在文件开头 ...

  2. 【HMS core】【FAQ】HMS Toolkit典型问题合集1

    ​  1.[开发工具][HMS Toolkit][问题描述] HMS Toolkit 插件导致Android Studio崩溃无法使用 [解决方案] 1)        检查Android Studi ...

  3. 技术分享 | 在GreatDB分布式部署模式中使用Chaos Mesh做混沌测试

    GreatSQL社区原创内容未经授权不得随意使用,转载请联系小编并注明来源. 1. 需求背景与万里安全数据库软件GreatDB分布式部署模式介绍 1.1 需求背景 混沌测试是检测分布式系统不确定性.建 ...

  4. CSP-J2021 题解

    分糖果 题意 选择L~R中的某个数 , 使得x mod k的结果最大. 思路 分两种情况考虑: 若 L 和 R 对 K 取模后在同一区间,则必然在 x=R 位置取到最大值: 否则 L~R 必然跨越多个 ...

  5. 设置Windows Server 2022、Win10、Win11自动登录的简单方法-OK

    这里介绍自己从使用 Windows Server 2003 到 Windows Server 2022 一直都在使用的自动登录系统的方法,屡试不爽.网上讨论的方法太繁琐,所以共享出来,供大家参考.该方 ...

  6. DolphinScheduler - 1.3 系列核心表结构剖析

    Apache DolphinScheduler 是一个分布式去中心化,易扩展的可视化 DAG 工作流任务调度系统.致力于解决数据处理流程中错综复杂的依赖关系,使调度系统在数据处理流程中开箱即用. 近日 ...

  7. 前端必备的 HTTP 知识

    HTTP 起源 HTTP 是由蒂姆·伯纳斯-李(TimBerners-Lee)于1989年在欧洲核子研究组织(CERN)所发起 其中最著名的是 1999 年 6 月公布的 RFC 2616,定义了 H ...

  8. transform: scale() 实现鼠标悬浮在元素之上出现和消失

    前言 transform属性允许你旋转,缩放,倾斜或平移给定元素.其中scale(x, y)就是实现元素缩放的属性值. scale(x, y)的 x 乘以原本元素的 x:y 乘以原本的元素 y,就可以 ...

  9. Learn Dijkstra For The Last Time

    博客链接:https://www.codein.icu/learn-dijkstra/ Introduction Dijkstra 算法是用于求解非负权图单源最短路的经典算法. 市面上的大部分教程都仅 ...

  10. 03_Django-GET请求和POST请求-设计模式及模板层

    03_Django-GET请求和POST请求-设计模式及模板层 视频:https://www.bilibili.com/video/BV1vK4y1o7jH 博客:https://blog.csdn. ...