首页 > 数据库 >开发Prometheus的redis bigkey exporter,完善k8s下redis容器的性能监控

开发Prometheus的redis bigkey exporter,完善k8s下redis容器的性能监控

时间:2024-06-19 15:00:41浏览次数:14  
标签:exporter key redis bigkey Prometheus 监控

    好久没来博客园写技术总结了,回顾这些年的职业路径,从自动化测试到python后端到golang后端直到现在的devops,确实积累了很多心得,可惜都没时间来写写这些心得(主要是懒)。自从转为devops后确实有比较多的时间了(主要是加班少: ) ),看来以后还是要多写写技术总结 :)。

     废话不多说,直接进入今天的主题。前段时间公司要求需要对k8s下的redis容器进行bigkey的监控,监控的指标需要接入到Prometheus,以grafana可视化。分析了具体需求后,网上看了一下,没看到有相关的exporter有支持redis的bigkey指标,最后决定用redis的内置工具进行定制开发,具体的实现可参考我的github:https://github.com/zhenghan008/redisKeyMetrics。目前实现的功能可以支持bigkey,hotkey和memkey的监控。接入Prometheus的监控后,在grafana的展示大概如下图所示, 其中24 小时内redis bigkey 的变化率的promql可以使用,均值统计也是差不多的表达式。结合redis的其它exporter的key监控指标,算是可以比较完善的监控整个redis的性能。

sum by(key_group) (label_replace(rate(redis_key_metrics[24h]) * 100, "key_group", "$1", "key_name", "([^:]*)[:]*.*"))

 

标签:exporter,key,redis,bigkey,Prometheus,监控
From: https://www.cnblogs.com/tester-zhenghan/p/18256241

相关文章

  • Redis(缓存)
    Redis(缓存)1、Redis是什么?Redis(RemoteDictionaryServer)是一种开源(BSD许可)的内存数据结构存储系统。它可以用作数据库、缓存和消息代理。以下是Redis的一些关键特性:数据结构丰富:支持字符串(strings)、哈希(hashes)、列表(lists)、集合(sets)、有序集合(sortedsets)、位图(bitmaps)、H......
  • [转帖]Redis中删除过期Key的三种策略
    Redis对于过期键有三种清除策略被动删除:当读/写一个已经过期的key时,会触发惰性删除策略,直接删除掉这个过期key主动删除:由于惰性删除策略无法保证冷数据被及时删掉,所以Redis会定期主动随机淘汰一批已过期的key当前已用内存超过maxmemory限定时,触发主动清理策......
  • Redis 缓存
    文章目录安装redis启动redis简单使用redis安装Redis-Desktop-Manager配置pom文件配置application.properties配置Redis缓存管理器配置service层运行项目安装redis下载地址:https://github.com/tporadowski/redis/releases教程:https://blog.csdn.net/m0_62617719/article......
  • redis——P2:对P1的思考
    到P1结束,redis都已经是一个不错的服务了,具体体现在缓存应用程序需要的数据,甚至在内存爆满的条件下还可以提供服务,似乎目的已经达成。但是实际上可能会遇到一些极端的情况,比如宕机。如果redis宕机了怎么办?目前所有的数据都存储在内存当中,宕机意为着失去所有缓存的数据。前面说过我......
  • redis——P3:持久化
    虽然缓存功能已经实现,但是作为对外提供服务的软件开发者,不能只关注是否提供了正确的服务,稳定和快速恢复等等指标是同样非常非常重要的。考虑这样一个问题,redis确实因为不可抗力宕机了(假设我喜欢黑框框打开,然后手贱按了^C),于是瞬间redis里所有缓存全没了?这对于一个追求高性能、高可......
  • redis——基础服务
    首先为什么要做一个redis出来?数据库不够用了吗?考虑到原本的应用程序是客户端访问服务端,服务端访问业务数据需要去数据库去拿,而数据库是个持久化的应用程序,是需要磁盘IO的,这就导致了速度会慢,并且如果存在大量的访问,会导致数据库崩溃。除去导致崩溃这样严重且极端的情况,这点性能虽然......
  • 认识Redis
    认识RedisRedis是目前最受欢迎的NoSQL数据库之一;db-engines排名上,所有数据库类型排名第六,键值对数据库排名第一。Redis是用C语言编写的开源、支持多种数据结构、支持网络、基于内存、可选持久性的键值对内存型数据库,具备以下特征:基于内存运行、效率高单线程运行支持分布式......
  • 【面试八股总结】Redis数据结构及底层实现
    一、五种基本数据结构        Redis提供了丰富的数据类型,常见的有五种数据类型:String(字符串),Hash(哈希),List(列表),Set(集合)、Zset(有序集合)结构类型结构可存储值结构读写能力使用命令底层数据结构String字符串、整数或浮点数对字符串或字符串的一部分进行操作,对整数或浮点......
  • 采用java语言+Redis+RabbitMQ开发的 门诊his系统源码 一站式的门诊his系统 门诊业务流
    采用java语言+Redis+RabbitMQ开发的门诊his系统源码一站式的门诊his系统门诊业务流程医院信息系统(HIS系统)门诊业务是医院信息化建设的重要组成部分之一,它涵盖了医院门诊部门涉及的各项业务。HIS系统门诊业务的实施,可以实现医院门诊业务的信息化管理和数据化处理,提高医疗服......
  • 探索Redis的运行情况和数据——一次有趣的Redis旅程【GPT生成】
    探索Redis的运行情况和数据——一次有趣的Redis旅程前言Redis,一个高性能的键值对数据库,广泛应用于缓存、会话管理和实时数据处理。如果你正在使用Redis,你可能会好奇如何检查它的运行情况,以及它究竟存储了哪些数据。在这篇博客中,我将带你一起使用Xshell连接到服务器,探索Redis的奥......