当前位置: 首页 > news >正文

Grafana监控 Redis Cluster

Grafana监控 Redis Cluster

主要是使用grafana来实现监控,grafana可以对接多种数据源,在官网中可以找到Redis数据源,需要安装redis data source插件。当然也可以利用Prometheus来做数据源,下面分别记录一下这两种数据源的安装配置过程。

环境:

redis cluster: localhost:9001 - localhost:9006
grafana: localhost:3000
prometheus: localhost:9090
redis_exporter: localhost:9121

Redis data source

grafana的redis 数据源,官方安装手册Redis

安装可以使用grafana-cli,也可以离线下载,解压到/var/lib/grafana/plugins文件夹内。

grafana-cli plugins install redis-datasource

重启grafana之后,添加数据源,搜索Redis

之后选择Redis的模式,我这里选择集群

之后导入自带的看板

Redis效果如下


Redis streaming效果如下

后续也可以用redis数据源自建看板,监控指定业务数据。

Prometheus + redis exporter

Prometheus支持很多三方的exporter来采集数据,Prometheus Redis Metrics Exporter就是一个比较流行的用来采集redis的工具。

可以使用比较方便的docker镜像启动,如何使用介绍的都比较全面。这里只需要启动一个redis exporter即可,如果要监控多个集群,且redis密码不同才需要部署多个exporter。

docker pull oliver006/redis_exporterdocker run -d --name redis_exporter -p 9121:9121 oliver006/redis_exporter --redis.addr	=redis://localhost:6001,redis://localhost:6002,redis://localhost:6003 --redis.password=123456

启动后可以打开 http://localhost:9121/metrics 可以看到数据。

也可以指定redis地址http://localhost:9121/scrape?target=redis%3A%2F%2Flocalhost%3A6003来查看其他机器上的redis情况

之后,需要编辑prometheus.yml 来配置采集地址。

# redis集群监控
- job_name: 'redis_cluster'static_configs:- targets:- redis://localhost:6001- redis://localhost:6002- redis://localhost:6003- redis://localhost:6004- redis://localhost:6005- redis://localhost:6006metrics_path: /scraperelabel_configs:- source_labels: [__address__]target_label: __param_target- source_labels: [__param_target]target_label: instance- target_label: __address__replacement: localhost:9121

注意:好多帖子还配置了redis_exporter监控,这个不用配,打开是第一个redis的节点,上面已经包含了。好多帖子也启动了多个exporter,每个节点一个,也没必要。

  # exporter监控 可以不用配,其实它的数据是上面其中一个    - job_name: 'redis_exporter'scrape_interval: 5sstatic_configs:- targets:- localhost:9121

这样配置好之后,就会从这样的地址去获取数据了 http://localhost:9121/scrape?target=redis%3A%2F%2Flocalhost%3A6003

之后重新加载Prometheus,可以重启也可以用热加载。

curl -X POST http://localhost:9090/-/reload

然后看一下Prometheus Targets中是否已经正常启动。

最后就是到Grafana Dashboards搜索Redis,选配合适的看板。

redis_exporter作者使用763-redis-dashboard-for-prometheus-redis-exporter-1-x

注意:Memory Usage这个图表,一直是N/A。是因为redis_memory_max_bytes 获取的值为0
导致 redis_memory_used_bytes / redis_memory_max_bytes 结果不正常。

可以手动将redis_memory_max_bytes改为服务器内存大小。

sum(100 * (redis_memory_used_bytes{instance=~"$instance"}  / redis_memory_max_bytes{instance=~"$instance"}))# 假如服务器内存为 1GB  
sum(100 * (redis_memory_used_bytes{instance=~"$instance"}  / 1073741824))
http://www.lryc.cn/news/127963.html

相关文章:

  • k8s 认证和权限控制
  • 性能优化的重要性
  • Leetcode No.53 Maximum Subarray
  • 手机出现 不读卡 / 无信号时应该怎么办?
  • Linux 内核模块运行机制(10/11)
  • MySQL数据库-字符串函数详解
  • 半导体退火那些事(3)
  • 1281. 整数的各位积和之差
  • 如何使用Vue和C++实现OJ《从零开始打造 Online Judge》
  • 在Spring Boot和Vue中实现请求过滤器以验证请求头中的Token
  • ThreeJS——在3D地球上标记中国地图板块
  • 第2章 性能测量
  • 未来,运营的重要性大于产品?
  • paddle ocr框架识别数字问题和解决方案
  • 构建高性能的MongoDB数据迁移工具:Java的开发实践
  • 2023年国赛数学建模思路 - 案例:最短时间生产计划安排
  • 1572. 矩阵对角线元素的和
  • 在vue中使用swiper轮播图(搭配watch和$nextTick())
  • Java书签 #使用MyBatis接入多数据源
  • 神经网络基础-神经网络补充概念-23-神经网络的梯度下降法
  • 鸿蒙3.1 设备管理DeviceManager
  • Git 目录详解
  • 基于springboot+vue的武汉旅游网(前后端分离)
  • 步入React正殿 - React组件设计模式
  • Java 单例模式简单介绍
  • 根据源码,模拟实现 RabbitMQ - 从需求分析到实现核心类(1)
  • 企业服务器数据库遭到malox勒索病毒攻击后如何解决,勒索病毒解密
  • udp与can通信的选择与比较
  • HoudiniVex笔记_P24_ForceBasics力基础
  • 半导体退火那些事(1)