前提条件

redis集群:已搭建三主三从(三台主机)

prometheus、grafana已安装

三台主机ip: 192.168.0.39,192.168.0.164,192.168.0.68

第一种方法和第二种方法

第一种方法需要再安装 redis_exporter和prometheus,过程较麻烦,第二种方法就简单很多

使用方法一的话,prometheus搭配alertmanager可以实现告警功能,使用方法二还没找到咋配置告警功能

优先选择使用第二种方法

第一种方法

数据路径:redis集群-> redis_exporter -> prometheus -> grafana

安装redis_exporter(三台都要操作)

cd /usr/local/src
wget https://github.com/oliver006/redis_exporter/releases/download/v1.31.4/redis_exporter-v1.31.4.linux-amd64.tar.gz
tar -zxv -f redis_exporter-v1.31.4.linux-amd64.tar.gz -C /usr/local/
cd /usr/local/
mv redis_exporter-v1.31.4.linux-amd64/ redis_exporter groupadd prometheus
useradd -g prometheus -m -d /var/lib/prometheus -s /sbin/nologin prometheus
chown -R prometheus.prometheus /usr/local/redis_exporter

系统system启动(三台都要操作,以此类推后面节点ip和端口根据实际情况修改)

# 一台主机2个节点

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

[Unit]
Description=redis_exporter6379
After=network.target [Service]
Type=simple
User=prometheus
ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.68:6379 -redis.password 123456 -web.listen-address 192.168.0.68:59121
Restart=on-failure [Install]
WantedBy=multi-user.target vim /usr/lib/systemd/system/redis_exporter6380.service [Unit]
Description=redis_exporter6380
After=network.target [Service]
Type=simple
User=prometheus
ExecStart=/usr/local/redis_exporter/redis_exporter -redis.addr 192.168.0.68:6380 -redis.password 123456 -web.listen-address 192.168.0.68:59122
Restart=on-failure [Install]
WantedBy=multi-user.target
systemctl daemon-reload

systemctl start redis_exporter6379
systemctl start redis_exporter6380 systemctl status redis_exporter6379
systemctl status redis_exporter6380 systemctl enable redis_exporter6379
systemctl enable redis_exporter6380 ss -tulnp | grep 5912

修改Prometheus配置

  - job_name: 'redis-cluster'
scrape_interval: 5s
static_configs:
- targets:
- redis://192.168.0.39:6379
- redis://192.168.0.39:6380
- redis://192.168.0.164:6379
- redis://192.168.0.164:6380
- redis://192.168.0.68:6379
- redis://192.168.0.68:6380
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.39:59121 - job_name: 'redis_exporter'
scrape_interval: 5s
static_configs:
- targets:
- 192.168.0.39:59121
- 192.168.0.39:59122
- 192.168.0.164:59121
- 192.168.0.164:59122
- 192.168.0.68:59121
- 192.168.0.68:59122

重新启动Prometheus服务后再访问,查看是否正常

在grafana中添加Prometheus数据源

在Grafana 中导入redis集群使用的dashboard

ID: 14615 面板效果

ID:14661 面板效果





第二种方法

数据路径:redis集群-> redis data source -> grafana

使用 Grafana 的 Redis Data Source 插件监控 Redis

这里使用的数据源不是Prometheus,而是redis集群,需要安装redis数据源插件,否则grafana里找不到redis数据源

官网地址:https://grafana.com/grafana/plugins/redis-datasource/

grafana-cli plugins install redis-datasource

重启Grafana :systemctl restart grafana-server,添加redis数据源

选择redis集模式,添加6个redis集群节点,设置redis集群访问密码。

添加使用数据源本身提供的dashboard,使用其他dashboard不显示数据

效果



监控Redis集群,有两种方法的更多相关文章

  1. 测试redis集群的两种方式:分片和哨兵

    import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; i ...

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

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

  3. 一种简单实现Redis集群Pipeline功能的方法及性能测试

    上一篇文章<redis pipeline批量处理提高性能>中我们讲到redis pipeline模式在批量数据处理上带来了很大的性能提升,我们先来回顾一下pipeline的原理,redis ...

  4. redis集群的三种方式

    Redis三种集群方式:主从复制,哨兵模式,Cluster集群. 主从复制 基本原理 当新建立一个从服务器时,从服务器将向主服务器发送SYNC命令,接收到SYNC命令后的主服务器会进行一次BGSAVE ...

  5. Redis中持久化的两种方法详解

    Redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里;另一种方法教只追加文件(append-only f ...

  6. Redis ==> 集群的三种模式

    一.主从同步/复制 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据. 但是由于数据是存储在一台服务器 ...

  7. apache与tomcat负载集群的3种方法

    花了两天时间学习apache与tomcat的集成方法,现在把学习成果记录下来. apache与tomcat负载集群集成方法有3种jk.jk_proxy.http_proxy 本次集成使用的软件版本: ...

  8. Redis集群的三种模式

    一.主从模式 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据. 但是由于数据是存储在一台服务器上的, ...

  9. 监控Redis集群--废弃,使用新教程

    prometheus监控redis需要用到redis_exporter. redis_exporter 项目地址:https://github.com/oliver006/redis_exporter ...

随机推荐

  1. 开源数据质量解决方案——Apache Griffin入门宝典

    提到格里芬-Griffin,大家想到更多的是篮球明星或者战队名,但在大数据领域Apache Griffin(以下简称Griffin)可是数据质量领域响当当的一哥.先说一句:Griffin是大数据质量监 ...

  2. Operating System_via牛客网

    题目 链接:https://ac.nowcoder.com/acm/contest/28537/F 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 131072K,其他语 ...

  3. 业务可视化-让你的流程图"Run"起来(3.分支选择&跨语言分布式运行节点)

    前言 首先,感谢大家对上一篇文章[业务可视化-让你的流程图"Run"起来(2.问题与改进)]的支持. 分享一下近期我对这个项目的一些改进. 1. 增加了分支选择工程,可以根据节点的 ...

  4. 第五天python3 内建函数总结

    id()  返回对象在内存中的地址 hash() 返回对象的hash值 type() 返回对象的类型 float() int() bin() hex() oct() bool() list() tup ...

  5. 20220727-Java中方法重写override

    目录 代码示例 注意事项 代码示例 public class OverrideExercise { public static void main(String[] args) { Person ja ...

  6. 20220722-Java中this关键字

    this关键字知识总结 学习资源:B站韩顺平老师Java入门教学 代码示例1 public class This01 { public static void main(String[] args) ...

  7. Python3.7+Tornado5.1.1+Celery3.1+Rabbitmq3.7.16实现异步队列任务

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_99 在之前的一篇文章中提到了用Django+Celery+Redis实现了异步任务队列,只不过消息中间件使用了redis,redi ...

  8. 一步一图带你深入剖析 JDK NIO ByteBuffer 在不同字节序下的设计与实现

    让我们来到微观世界重新认识 Netty 在前面 Netty 源码解析系列 <聊聊 Netty 那些事儿>中,笔者带领大家从宏观世界详细剖析了 Netty 的整个运转流程.从一个网络数据包在 ...

  9. [C#]使用 AltCover 获得代码覆盖率 - E2E Test 和 Unit Test

    背景 在 CI/CD 流程当中,测试是 CI 中很重要的部分.跟开发人员关系最大的就是单元测试,单元测试编写完成之后,我们可以使用 IDE 或者 dot cover 等工具获得单元测试对于业务代码的覆 ...

  10. [Android开发学iOS系列] 工具篇: Xcode使用和快捷键

    [Android开发学iOS系列] 工具篇: Xcode使用和快捷键 工欲善其事必先利其器. 编辑 Cmd + N: 新建文件 Option + Cmd + N: 新建文件夹 Cmd + / : 注释 ...