前提条件

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. 简单状压dp的思考 - 最大独立集问题和最大团问题 - 壹

    本文参考:CPH ,USACO Guide (大佬请越过,这是初学笔记,不要吐槽内容) 前置知识:位运算基础,动态规划基础 介绍 状态是元素的子集的动态规划算法,可以用位运算来高效的优化. 那么第一道 ...

  2. 如何学习Vim

    如果你是Linux用户,学习Vim会有很大的好处. 如果你是windows用户,个人建议还是使用vscode. 准备大约40min的学习时间,打开终端,输入下面命令开启自带教程 vimtutor 按操 ...

  3. VxWorks环境搭建与学习

    搭建环境所需的所有资源: https://pan.baidu.com/s/1sUF2I_DBHs-86IUJ4Ykn2Q 提取码: t7sj 实时系统vxWorks - Shell命令 https:/ ...

  4. ApiDay001 __02 Java_StringBuilder

    Java 核心API StringBuilder String 类型的连接性能不好,Java提供了StringBuilder解决字符串连接性能问题. 简单理解 StringBuilder性能好!(重点 ...

  5. ORM框架介绍——什么是ORM框架?

    1.什么是ORM?对象关系映射(Object Relational Mapping,简称ORM)模式是一种为了解决面向对象与关系数据库存在的互不匹配的现象的技术.ORM框架是连接数据库的桥梁,只要提供 ...

  6. 后端Python3+Flask结合Socket.io配合前端Vue2.0实现简单全双工在线客服系统

    原文转载自「刘悦的技术博客」https://v3u.cn/a_id_158 在之前的一篇文章中:为美多商城(Django2.0.4)添加基于websocket的实时通信,主动推送,聊天室及客服系统,详 ...

  7. Java学习 (九)基础篇 包机制&JavaDoc

    包机制 为了更好地组织类,Java提供了包机制,用于区别类名的命名空间 包语句的语法为: package pkg[.pkg2[.pkg3...]]; 一般利用公司域名倒置作为包名:com.feng.x ...

  8. Java开发学习(二十二)----Spring事务属性、事务传播行为

    一.事务配置 上面这些属性都可以在@Transactional注解的参数上进行设置. readOnly:true只读事务,false读写事务,增删改要设为false,查询设为true. timeout ...

  9. 6.8 NOI 模拟

    \(T1\ edge\) 考虑\(O(q\times n\times \log n)\)的暴力 暴力二分,直接树上差分 #define Eternal_Battle ZXK #include<b ...

  10. MES对接Simba实现展讯平台 IMEI 写号与耦合测试

    文章开始之前,必须对Simba工具点一个大大的赞,Simba为了适应市面上不同厂家开发的 MES 系统,特地开发了统一的接口,各个 MES 厂家只需要按照接口规范去做开发,然后将中间件加载到 Simb ...