redis6.2.6-prometheus监控

news2025/4/17 18:30:41

一、软件及系统信息

redis:redis-6.2.6

redis_exporter:redis_exporter-v1.50.0.linux-amd64.tar.gz

# cat /etc/anolis-release 
Anolis OS release 8.9

granfa; 7.5.3

二、下载地址

https://github.com/oliver006/redis_exporter/releases?page=3
https://github.com/oliver006/redis_exporter/releases/download/v1.50.0/redis_exporter-v1.50.0.linux-amd64.tar.gz

三、安装

# tar -zxf redis_exporter-v1.50.0.linux-amd64.tar.gz

# cat /usr/lib/systemd/system/redis_exporter.service
[Unit]
Description=node_exporter
Documentation=https://prometheus.io/
After=network.target
[Service]
Type=simple
User=monitor
ExecStart=/opt/softs/redis_exporter-v1.50.0.linux-amd64/redis_exporter \
--redis.addr=redis://192.168.8.147:6379 \
--redis.password=ge********z!e68 \
--web.listen-address=0.0.0.0:9121
Restart=on-failure
[Install]
WantedBy=multi-user.target


# useradd -r -s /usr/sbin/nologin monitor
-r:创建系统账户,通常用于运行服务。
-s /usr/sbin/nologin:指定用户的登录 Shell 为 /usr/sbin/nologin,这是一个特殊的 Shell,不允许交互式登录

# chown monitor:monitor /usr/lib/systemd/system/redis_exporter.service
# chown monitor:monitor /opt/softs/redis_exporter-v1.50.0.linux-amd64/redis_exporter
# chmod +x /usr/lib/systemd/system/redis_exporter.service
# systemctl daemon-reload
# systemctl start redis_exporter.service 


# firewall-cmd --zone=public --add-port=9121/tcp --permanent
# firewall-cmd --reload

四、prometheus配置

# vi /usr/local/prometheus/prometheus.yml
- job_name: 'redis'
    static_configs:
      - targets: ["192.168.8.146:9121"]
        labels:
          env: 'prod'
          group: 'redis-cluster'
          role: 'master'
      - targets: ["192.168.8.147:9121"]
        labels:
          env: 'prod'
          role: 'slave'
    metrics_path: /metrics



# /usr/local/prometheus/promtool check config /usr/local/prometheus/prometheus.yml
# curl -XPOST 127.0.0.1:9090/-/reload

五、测试

六、看板下载:

https://grafana.com/grafana/dashboards/

Grafana dashboards | Grafana Labs

搜索模板: redis_exporter for redis

七、告警配置

# cat redis-exporter-alert-rules.yml
- alert: RedisReplicationBroken 
  expr: redis_master_link_up{role="slave"} == 0 
  for: 2m  # 持续2分钟断开触发 
  labels:
    severity: critical 
    env: "{{ $labels.env  }}"
  annotations:
    summary: "Redis 主从复制中断 (实例: {{ $labels.instance  }})"
    description: "从节点 {{ $labels.instance  }} 超过2分钟未连接到主节点,请检查网络或主节点状态。"
	
	
	
- alert: RedisTooManyConnections 
  expr: redis_connected_clients > 1000  # 根据业务规模调整 
  for: 5m 
  labels:
    severity: warning 
  annotations:
    summary: "Redis 客户端连接数激增"
    description: "实例 {{ $labels.instance  }} 当前连接数 {{ $value }},可能遭受攻击或配置不合理。"
	
	
- alert: RedisBlockedClients 
  expr: redis_blocked_clients > 0  # 存在阻塞命令(如 BLPOP)
  for: 1m 
  labels:
    severity: warning 
  annotations:
    summary: "Redis 阻塞客户端存在"
    description: "实例 {{ $labels.instance  }} 有 {{ $value }} 个客户端被阻塞,检查慢查询或大键操作。"
	
- alert: RedisKeyspaceHitRateLow 
  expr: (rate(redis_keyspace_hits_total[5m]) / (rate(redis_keyspace_hits_total[5m]) + rate(redis_keyspace_misses_total[5m]))) < 0.5  # 命中率<50%
  for: 30m 
  labels:
    severity: warning 
  annotations:
    summary: "Redis 缓存命中率过低"
    description: "实例 {{ $labels.instance  }} 缓存命中率仅 {{ printf \"%.1f\" ($value*100) }}%,需优化缓存策略或扩容。"

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2336093.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

如何在idea中快速搭建一个Spring Boot项目?

文章目录 前言1、创建项目名称2、勾选需要的依赖3、在setting中检查maven4、编写数据源5、开启热启动&#xff08;热部署&#xff09;结语 前言 Spring Boot 凭借其便捷的开发特性&#xff0c;极大提升了开发效率&#xff0c;为 Java 开发工作带来诸多便利。许多大伙伴希望快速…

itext7 html2pdf 将html文本转为pdf

1、将html转为pdf需求分析 经常会看到爬虫有这样的需求&#xff0c;将某一个网站上的数据&#xff0c;获取到了以后&#xff0c;进行分析&#xff0c;然后将需要的数据进行存储&#xff0c;也有将html转为pdf进行存储&#xff0c;作为原始存档&#xff0c;当然这里看具体的需求…

docker compose搭建博客wordpress

一、前言 docker安装等入门知识见我之前的这篇文章 https://blog.csdn.net/m0_73118788/article/details/146986119?fromshareblogdetail&sharetypeblogdetail&sharerId146986119&sharereferPC&sharesourcem0_73118788&sharefromfrom_link 1.1 docker co…

代码随想录算法训练营Day30

力扣452.用最少数量的箭引爆气球【medium】 力扣435.无重叠区间【medium】 力扣763.划分字母区间【medium】 力扣56.合并区间【medium】 一、力扣452.用最少数量的箭引爆气球【medium】 题目链接&#xff1a;力扣452.用最少数量的箭引爆气球 视频链接&#xff1a;代码随想录 题…

无感改造,完美监控:Docker 多阶段构建 Go 应用无侵入观测

作者&#xff1a;牧思 背景 随着云原生的普及&#xff0c;Golang 编程语言变得越来越热门。相比 Java&#xff0c;Golang 凭借其轻量&#xff0c;易学习的特点得到了越来越多工程师的青睐&#xff0c;然而由于 Golang 应用需要被编译成二进制文件再进行运行&#xff0c;Golan…

006.Gitlab CICD流水线触发

文章目录 触发方式介绍触发方式类型 触发方式实践分支名触发MR触发tag触发手动人为触发定时任务触发指定文件变更触发结合分支及文件变更触发正则语法触发 触发方式介绍 触发方式类型 Gitlab CICD流水线的触发方式非常灵活&#xff0c;常见的有如下几类触发方式&#xff1a; …

512天,倔强生长:一位技术创作者的独白

亲爱的读者与同行者&#xff1a; 我是倔强的石头_&#xff0c;今天是我在CSDN成为创作者的第512天。当系统提示我写下这篇纪念日文章时&#xff0c;我恍惚间想起了2023年11月19日的那个夜晚——指尖敲下《开端——》的标题&#xff0c;忐忑又坚定地按下了“发布”键。那时的我…

【目标检测】【YOLO综述】YOLOv1到YOLOv10:最快速、最精准的实时目标检测系统

YOLOv1 to YOLOv10&#xff1a; The fastest and most accurate real-time object detection systems YOLOv1到YOLOv10&#xff1a;最快速、最精准的实时目标检测系统 论文链接 0.论文摘要 摘要——本文是对YOLO系列系统的全面综述。与以往文献调查不同&#xff0c;本综述文…

日常学习开发记录-slider组件

日常学习开发记录-slider组件 从零开始实现一个优雅的Slider滑块组件前言一、基础实现1. 组件结构设计2. 基础样式实现3. 基础交互实现 二、功能增强1. 添加拖动功能2. 支持范围选择3. 添加垂直模式 三、高级特性1. 键盘操作支持2. 禁用状态 五、使用示例六、总结 从零开始实现…

Windows 系统如何使用Redis 服务

前言 在学习过程中&#xff0c;我们长期接触到的是Mysql 关系型数据库&#xff0c;也是够我们平时练习项目用的&#xff0c;但是后面肯定会有大型数据的访问就要借助新的新的工具。 一、什么是Redis Redis&#xff08;Remote Dictionary Server&#xff09;是一个基于内存的 键…

【unity游戏开发入门到精通——UGUI】CanvasScaler画布缩放器组件

注意&#xff1a;考虑到UGUI的内容比较多&#xff0c;我将UGUI的内容分开&#xff0c;并全部整合放在【unity游戏开发——UGUI】专栏里&#xff0c;感兴趣的小伙伴可以前往逐一查看学习。 文章目录 一、CanvasScaler画布缩放器组件是什么二、CanvasScaler的三种适配模式1、Cons…

Hugging Face 模型:AI 模型的“拥抱”与开源革命!!!

&#x1f310; Hugging Face 模型&#xff1a;AI 模型的“拥抱”与开源革命 用表情符号、图表和代码&#xff0c;探索开源模型生态的底层逻辑与应用场景&#xff01; &#x1f31f; 名字由来&#xff1a;为什么叫 Hugging Face&#xff1f; “Hugging”&#xff1a;象征 开放…

关于 人工智能(AI)发展简史 的详细梳理,按时间阶段划分,涵盖关键里程碑、技术突破、重要人物及挑战

以下是关于 人工智能&#xff08;AI&#xff09;发展简史 的详细梳理&#xff0c;按时间阶段划分&#xff0c;涵盖关键里程碑、技术突破、重要人物及挑战&#xff1a; 字数&#xff1a;约2500字 逻辑结构&#xff1a;时间线清晰&#xff0c;分阶段描述技术突破、关键事件与挑战…

微服务即时通信系统---(四)框架学习

目录 ElasticSearch 介绍 安装 安装kibana ES客户端安装 头文件包含和编译时链接库 ES核心概念 索引(Index) 类型(Type) 字段(Field) 映射(mapping) 文档(document) ES对比MySQL Kibana访问ES测试 创建索引库 新增数据 查看并搜索数据 删除索引 ES…

Android查看依赖树的方法,简单有效

一、使用命令打印 在工具栏“Terminal”中输入以下命令&#xff0c;即可打印依赖树信息 gradlew xxxx:dependencies (“xxxx”为module名称)二、工具栏双击打印 右侧“Gradle”工具栏打开按下图顺序依次查找到“dependencies”&#xff0c;双击后依赖树就会在控制台中打印出…

GitHub配置密钥

1.生成SSH密钥 1&#xff09;检查 SSH 密钥是否存在 首先&#xff0c;确认是否已经在本地系统中生成了 SSH 密钥对。可以通过以下命令检查&#xff1a; ls -al ~/.ssh 在命令输出中&#xff0c;应该能看到类似 id_rsa 和 id_rsa.pub 这样一对文件。如果这些文件不存在&#…

【2-10】E1与T1

前言 之前我们简单介绍了人类从电话线思维到如今的数据报分组交换思维过渡时期的各种技术产物&#xff0c;今天我们重点介绍 E1/T1技术。 文章目录 前言1. 产生背景2. T13. E14. SONET4.1 OC-14.2 OC-3 及其它 5. SDH5.1. STM-1 6. SONET VS SDH后记修改记录 1. 产生背景 E1/…

【设计模式】适配器模式:让不兼容的接口和谐共处

引言 在软件开发中&#xff0c;我们经常会遇到这样的情况&#xff1a;两个已经存在的接口无法直接协同工作&#xff0c;但我们又希望它们能够无缝对接。这时&#xff0c;适配器模式就派上用场了。适配器模式&#xff08;Adapter Pattern&#xff09;是一种结构型设计模式&…

Pandas进行数据预处理(标准化数据)③

数据标准化处理代码解析 数据标准化处理代码解析课前预习1. 离差标准化&#xff08;Min - Max Scaling&#xff09;结果2. 标准差标准化&#xff08;Standard Scaling&#xff09;结果3. 小数定标标准化&#xff08;Decimal Scaling&#xff09;结果 代码整体概述代码详细解析1…

基于uniapp 实现画板签字

直接上效果图 代码 <template><view class"container"><!-- 签名画布 --><view class"canvas-container"><canvas canvas-id"signCanvas" class"sign-canvas"touchstart"handleTouchStart"touc…