redis-exporter grafana面板配置

news2024/9/20 16:56:16

一、前言

     关于使用tensuns自带的grafana监控模板,监控redis-exporter接口会有一些数据丢失的问题,需要自行修改一下grafana模板的json

二、修改模板

redis grafana模板id:17507

主要是针对cpu使用率和内存使用率做一个说明,因为我在使用该模板时cpu使用率和内存使用率数据缺失

cpu是因为redis_exporter的数据收集中并没有redis_cpu_util这个数据项,所以显示就自然没有数据可以在prometheus查询该项会发现为空,需要使用node_exporter收集的cpu数据来展示

内存使用率会显示一个无穷大的数据,因为内存使用率是使用redis_exporter收集的redis_memory_used_bytes和redis_memory_max_bytes来计算的,我显示无穷大的原因是在配置redis时并没有给redis配置maxmemory最大内存限制,而redis_memory_max_bytes就是取得maxmemory的数据,所以需要给redis配置maxmemory

以下是我修改以后的json文件

修改cpu%项

      "editorMode": "code",
      "exemplar": false,
      "expr": "redis_cpu_util * on (iid) group_right redis_up{account=~\"$account\",group=~\"$group\"} or label_replace(( 1- avg(rate(node_cpu_seconds_total{mode=\"idle\"}[2m])) by (instance))*100,\"nodehost\",\"$1\",\"instance\",\"(.*):.*\") * on (nodehost) group_left(vendor,account,group,name,region,instance) label_replace(redis_up{account=~\"$account\",group=~\"$group\"},\"nodehost\",\"$1\",\"instance\",\"(.*):.*\")",    #更改该项获取数据的配置,改成获取node_exporter监控的cpu参数
      "format": "table",
      "hide": false,
      "instant": true,
      "interval": "",
      "legendFormat": "__auto",
      "refId": "B"
    },

修改CPU使用率项

 

"targets": [
    {
      "datasource": {
        "type": "prometheus",
        "uid": "b270c2e2-cc3e-426b-a9ef-80a48217de5f"
      },
      "exemplar": true,
      "expr": "(1 - avg(rate(node_cpu_seconds_total{instance=~\"$node_host:.+\",mode=\"idle\"}[2m])) by (instance))*100",      #修改该项为从node_exporter获取cpu监控数据
      "interval": "2m",
      "legendFormat": "CPU使用率",
      "refId": "A"
    }

还需要增加一个关于node_host的取值,redis_exporter的grafana模板原本的json是没有node_host

 

        {
        "current": {
          "selected": false,
          "text": "10.1.60.19:6379",
          "value": "10.1.60.19:6379"
        },
        "datasource": {
          "type": "prometheus",
          "uid": "b270c2e2-cc3e-426b-a9ef-80a48217de5f"
        },
        "definition": "label_values(redis_up{vendor=~\"$vendor\",account=~\"$account\",group=~\"$group\",name=~\"$name\"}, instance)",
        "hide": 0,
        "includeAll": false,
        "multi": false,
        "name": "instance",
        "options": [],
        "query": {
          "query": "label_values(redis_up{vendor=~\"$vendor\",account=~\"$account\",group=~\"$group\",name=~\"$name\"}, instance)",
          "refId": "StandardVariableQuery"
        },
        "refresh": 2,
        "regex": "",
        "skipUrlSync": false,
        "sort": 1,
        "tagValuesQuery": "",
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      },                #在此处插入以下内容
      {
        "allFormat": "glob",
        "current": {
          "selected": false,
          "text": "10.1.60.19",
          "value": "10.1.60.19"
        },
        "datasource": {
          "type": "prometheus",
          "uid": "b270c2e2-cc3e-426b-a9ef-80a48217de5f"
        },
        "definition": "label_values(redis_up{vendor=~\"$vendor\",account=~\"$account\",group=~\"$group\",name=~\"$name\"}, instance)",
        "hide": 2,
        "includeAll": false,
        "label": "NodeHost",
        "multi": false,
        "multiFormat": "regex values",
        "name": "node_host",        #取node_host值
        "options": [],
        "query": {
          "query": "label_values(redis_up{vendor=~\"$vendor\",account=~\"$account\",group=~\"$group\",name=~\"$name\"}, instance)",
          "refId": "StandardVariableQuery"
        },
        "refresh": 2,
        "refresh_on_load": false,
        "regex": "/(.*):.*/",
        "skipUrlSync": false,
        "sort": 5,
        "type": "query",
        "useTags": false
      },                  #到此处截止
      {
        "current": {
          "isNone": true,
          "selected": false,
          "text": "None",
          "value": ""
        },
        "datasource": {
          "type": "prometheus",
          "uid": "b270c2e2-cc3e-426b-a9ef-80a48217de5f"
        },
        "definition": "label_values(redis_up{vendor=~\"$vendor\",account=~\"$account\",group=~\"$group\",name=~\"$name\"}, iid)",
        "hide": 2,
        "includeAll": false,
        "multi": false,
        "name": "iid",
        "options": [],
        "query": {
          "query": "label_values(redis_up{vendor=~\"$vendor\",account=~\"$account\",group=~\"$group\",name=~\"$name\"}, iid)",
          "refId": "StandardVariableQuery"
        },
        "refresh": 2,
        "regex": "",
        "skipUrlSync": false,
        "sort": 1,
        "tagValuesQuery": "",
        "tagsQuery": "",
        "type": "query",
        "useTags": false
      }

配置完成后可以查看获取数据的语句是否能正确执行

 

 以上就是使用redis grafana模板时的一些问题

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

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

相关文章

mac 中vscode设置root启动

1. 找到你的vscode app,点击鼠标右键------->选项----->在访达中显示 2. 终端中输入以下命令,不要点回车,不要点回车,输入一个空格 sudo chflags uchg 3. 然后将你的程序拖到终端,会自动…

智能光栅光片显微成像技术的LabVIEW解决方案

智能光栅光片显微成像技术的LabVIEW解决方案 在生物医学研究中,高效的成像技术对于捕捉细胞内罕见和复杂事件至关重要。智能光栅光片显微技术(smartLLSM)的出现,代表了LabVIEW软件在高端成像领域的革命性应用,这项技术…

Mac M1 Parallels CentOS7.9 Deploy Typecho

一、创建名称空间 kubectl create ns prod二、创建PV & PVC vim local-pv1.yamlapiVersion: v1 kind: PersistentVolume metadata:name: local-pv-1 spec:capacity:storage: 1GiaccessModes:- ReadWriteOncepersistentVolumeReclaimPolicy: RetainstorageClassName: loca…

Selenium WebDriver与RC的差异

什么是Selenium WebDriver? Selenium WebDriver 是用于测试Web应用程序的API的开源集合。Selenium WebDriver工具,它还允许执行跨浏览器测试。 WebDriver还能够使用编程语言在创建测试脚本时使用。现在可以使用条件运算就像If-Then-Else或Switch-Case。…

Centos 7 单机部署 consul

一、下载安装 参考官网文档 Install | Consul | HashiCorp Developer 进入Centos 执行下面命令 sudo yum install -y yum-utils sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo sudo yum -y install consul 这种方法安装完成…

linux下vsc的自动切换输入法解决方案

前言 个人使用的是Linux开发加上vsc编辑器,这两个东西一加中国开发者大致上就消失不见了,眼馋idea那个Smartinput很久了,赶上放假了,有空搞搞,如果后期有心情会做的通用点 安装 商店搜索SmartInputLinux安装 使用…

STM32标准库开发—MPU6050详细介绍

MPU6050简介 3轴IMU即只有3轴陀螺仪的IMU,其因为只有一个3轴陀螺仪,所以只能感知载体roll(滚转)、pitch(俯仰)、yawl(偏航)共3个自由度的姿态信息。 6轴IMU在3轴IMU的基础上加装了3轴…

Unity之射线检测

不知道大家有没有玩过红色警戒 —— 一款即时战略游戏,和罪恶都市一样小编小学的时候就开始玩了,这款游戏控制单位角色移动是通过鼠标的点击来实现。 同样的操作方法还有英雄联盟等很多游戏,那本篇文章小编就通过简单小实例来讲解这种操作在U…

[ComfyUI进阶教程] lcm+Lora+Controlnet工作流工作流

这是一个使用了LCMlora加载器CN(depthtile)的工作流。 工作流特性: LCM lora加载器,加快生成图片的时间。 配置了3个lora加载器,用来进行人物和风格设定。 提示词编辑器,预制了默认的动态提示词。 使用了…

linux第一个小程序 --- 进度条【简洁】

行缓冲区的概念 结果:先输入hello world然后休眠三秒后结束 当去掉’\n“ 后,结果就变成了先休眠三秒,然后打印hello world后结束。 该现象就证明了缓冲区的存在。 当缓冲区中遇到’‘\n’或者缓冲区被写满后才会被打印出来,在第…

【设计模式】腾讯二面:自动贩卖机/音频播放器使用了什么设计模式?

状态模式是什么? 状态模式,也被称作状态对象模式,是一种行为设计模式。 当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。 它让对象在其内部状态改变时改变自己的行为。外部调用者无需了…

(蓝桥杯每日一题)love

问题描述 马上就要到七夕情人节了,小蓝在这天想要心爱得男神表白,于是她写下了一个长度为n仅由小写字母组成的字符串。 她想要使这个字符串有 1314个 love 子序列但是马虎的小蓝却忘记了当前已经有多少个子序列为 love。 请你帮小蓝计算出当前字符串有多…

Rustdesk 中VP8 / VP9 / AV1 是什么?

环境: Rustdesk1.1.9 VP8 / VP9 / AV1 问题描述: VP8 / VP9 / AV1 是什么? 解决方案: 1.VP8、VP9和AV1是视频编解码器,用于压缩和解压缩视频数据。它们是由Google和Alliance for Open Media(AOM&#…

spring springfox-swagger2 2.7.0配置

springboot版本 <parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.0.0.RELEASE</version><relativePath/> <!-- lookup parent from repository -->…

解决国内Linux服务器无法使用Github的方法

解决思路&#xff1a;修改Host https://www.ipaddress.com/ 利用上面的网站查询github.com和raw.githubusercontent.com的DNS解析的IP地址 最后&#xff0c;修改服务器的/etc/hosts 添加如下两行&#xff1a; 140.82.112.3 github.com 185.199.108.133 raw.githubuserconte…

Python 中多线程与多处理之间的区别

一、说明 在本文中&#xff0c;我们将学习 Python 中多线程和多处理的内容、原因和方式。在我们深入研究代码之前&#xff0c;让我们了解这些术语的含义。 二、基本术语和概念 程序是一个可执行文件&#xff0c;它由一组执行某些任务的指令组成&#xff0c;通常存储在计算机的…

数据恢复轻松搞定:如何处理.adver的数据勒索

引言&#xff1a; 勒索病毒日益猖獗&#xff0c;.adver 勒索病毒作为新兴威胁之一&#xff0c;给用户的数据安全带来了不小的挑战。本文将深入介绍.adver勒索病毒的特点、被加密数据的恢复方法&#xff0c;以及全面的预防措施&#xff0c;帮助您更好地了解并应对这一数字威胁。…

【每日一题】按分隔符拆分字符串

文章目录 Tag题目来源解题思路方法一&#xff1a;遍历方法二&#xff1a;getline 写在最后 Tag 【遍历】【getline】【字符串】【2024-01-20】 题目来源 2788. 按分隔符拆分字符串 解题思路 方法一&#xff1a;遍历 思路 分隔符在字符串开始和结束位置时不需要处理。 分隔…

16k+ start 一个开源的的监控系统部署教程

安装条件 Linux或macOS系统 4GB内存 开放 33014、33174、3183端口 1.安装 1、下载源码 首先使用 git 克隆源码到本地 git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/ 方式1&#xff1a;运行 install.sh 脚本一键安装 ./install.s…

HAL库配置RS485通信

在配置好串口的基础上完成RS485的配置 一、使能RS485的发送和接收模式引脚 __HAL_RCC_GPIOG_CLK_ENABLE();//高电平是发送模式&#xff0c;低电平是接收模式&#xff0c;默认是接收模式HAL_GPIO_WritePin(PG4_RS485_DIR1_Port, PG4_RS485_DIR1_Pin, GPIO_PIN_RESET);GPIO_Init…