redis-exporter grafana面板配置

发布时间:2024年01月19日

一、前言

? ? ?关于使用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模板时的一些问题

文章来源:https://blog.csdn.net/ApexPredator/article/details/135669760
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。