监控Redis集群,有两种方法
前提条件
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集群,有两种方法的更多相关文章
- 测试redis集群的两种方式:分片和哨兵
import java.util.ArrayList; import java.util.HashSet; import java.util.List; import java.util.Set; i ...
- Prometheus 监控 Redis 集群的正确姿势
Prometheus 监控Redis的正确姿势(redis集群) Prometheus 监控 Redis cluster,其实套路都是一样的,使用 exporter. exporter 负责采集指标, ...
- 一种简单实现Redis集群Pipeline功能的方法及性能测试
上一篇文章<redis pipeline批量处理提高性能>中我们讲到redis pipeline模式在批量数据处理上带来了很大的性能提升,我们先来回顾一下pipeline的原理,redis ...
- redis集群的三种方式
Redis三种集群方式:主从复制,哨兵模式,Cluster集群. 主从复制 基本原理 当新建立一个从服务器时,从服务器将向主服务器发送SYNC命令,接收到SYNC命令后的主服务器会进行一次BGSAVE ...
- Redis中持久化的两种方法详解
Redis提供了两种不同的持久化方法来将数据存储到硬盘里面.一种方法叫快照(snapshotting),它可以将存在于某一时刻的所有数据都写入硬盘里;另一种方法教只追加文件(append-only f ...
- Redis ==> 集群的三种模式
一.主从同步/复制 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会丢失(或少量丢失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据. 但是由于数据是存储在一台服务器 ...
- apache与tomcat负载集群的3种方法
花了两天时间学习apache与tomcat的集成方法,现在把学习成果记录下来. apache与tomcat负载集群集成方法有3种jk.jk_proxy.http_proxy 本次集成使用的软件版本: ...
- Redis集群的三种模式
一.主从模式 通过持久化功能,Redis保证了即使在服务器重启的情况下也不会损失(或少量损失)数据,因为持久化会把内存中数据保存到硬盘上,重启会从硬盘上加载数据. 但是由于数据是存储在一台服务器上的, ...
- 监控Redis集群--废弃,使用新教程
prometheus监控redis需要用到redis_exporter. redis_exporter 项目地址:https://github.com/oliver006/redis_exporter ...
随机推荐
- yum-config-manager: command not found
yum-config-manager: command not found ,这个是因为系统默认没有安装这个命令,这个命令在yum-utils 包里,可以通过命令yum -y install yum- ...
- 大事件回顾 | Eolink 5月重要动态速览!
在春天和夏天中间悄然而至的 5 月刚刚过去,及时求变,在呼啸而过的时代中保持竞争力的 Eolink 最近又有哪些大动作呢?下面我们梳理了5月以来 Eolink 的重要动态,给大家提供阅览. 01 ** ...
- Cube Stacking 来源:洛谷
题目 题目oj(洛谷) Farmer John and Betsy are playing a game with N (1 <= N <= 30,000)identical cubes ...
- Keep In Line_via牛客网
题目 链接:https://ac.nowcoder.com/acm/contest/28537/H 来源:牛客网 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 262144K,其他语 ...
- vscode无法调试python2.7版本
概述 好久没有用python2.7版本了,最近有个老的脚本要优化,但是发现vscode无法对脚本调试,特此记录下解决方法. 本地安装有python2和python3,开发过程中,vscode可以随时调 ...
- React报错之Cannot find name
正文从这开始~ .tsx扩展名 为了在React TypeScript中解决Cannot find name报错,我们需要在使用JSX文件时使用.tsx扩展名,在你的tsconfig.json文件中把 ...
- 精心总结十三条建议,帮你创建更合适的MySQL索引
上篇文章讲到使用MySQL的Explain命令可以分析SQL性能瓶颈,优化SQL查询,以及查看是否用到了索引. 我们都知道创建索引可以提高查询效率,但是具体该怎么创建索引? 哪些字段适合创建索引? 哪 ...
- 万答#13,MySQL自增键用完后,插入数据会发生什么情况
欢迎来到 GreatSQL社区分享的MySQL技术文章,如有疑问或想学习的内容,可以在下方评论区留言,看到后会进行解答 MySQL自增键用完了,插入数据会发生什么情况 1.实验场景 GreatSQL ...
- 出票系统:根据淡旺季的月份和年龄,打印票价[课后练习] 出票系统:根据淡旺季的月份和年龄,打印票价[课后练习] 4 10旺季: 4 10旺季: 成人(18-60) : 60 成人(18-60):60 儿童(<18) :半价 儿童(<18):半价 老人(>60) :1/3 老人(>60):1/3 淡季: 淡季: 成人: 40 成人:40 其他: 20 其他:20
用if适合新手练习 package LianXiTi;import java.util.Scanner;public class first2 {// 出票系统:根据淡旺季的月份和年龄,打印票价[课后 ...
- JCEF 初体验,window系统构建jar包
前言 本文记录如何通过jcef源代码去构建自己所需要的jar包,此文章构建的为windows64位jcef 的 jar 包,若需要构建 32 位的 jar 包,则需要按照文章将相关准备软件设置为 32 ...