Redis 官方推薦可視化工具,功能強大!


 

 

原文鏈接:https://mp.weixin.qq.com/s/xNhhSnEZvEmzas9J-Wejwg

前言

 

RedisLabs在2019年11月發布了全新的Redis GUI工具RedisInsight。主要提供以下主要功能:

 

  • Inspect your Redis data

  • monitor health

  • perform runtime server configuration with a browser-based management interface for your Redis deployment.

 

大部分Redis可視化工具都提供第3項的功能:監控網頁展示、通過網頁交互的方式與Redis交互等這些內容。RedisInsight不僅提供以上功能,而且在1、2兩個方面都做的很出色。你可以通過它,直接獲取每個key在Redis存儲類型 、所占字節數、編碼方式等詳細信息,方便調試開發,預估容量。同時它還支持內存分析,方便優化內存。支持對客戶端分析,方便查找熱key、熱命令。隨着Redis4.0 RedisModule功能的廣泛使用,各種開源的SO也形成了一個新的生態圈。

 

RedisInsight支持以下三種廣泛使用的SO數據顯示與搜索:圖數據庫RedisGraph、時序數據庫RedisTimeSeries、全文檢索Redisearch

 

RedisInsight簡介

RedisInsight是Redis官方出品的可視化管理工具,可用於設計、開發、優化你的Redis應用。支持深色和淺色兩種主題,界面非常炫酷!可支持String、Hash、Set、List、JSON等多種數據類型的管理,同時支持遠程使用CLI功能,功能非常強大!

下面是RedisInsight的一張使用效果圖,顏值不錯!

 

 

 

安裝

首先我們將使用Docker來安裝Redis,注意下載Redis的完全體版本RedisMod,它是內置了所有模塊的增強版Redis!

  • 使用如下命令下載RedisMod的鏡像;
docker pull redislabs/redismod:preview

在容器中運行RedisMod服務。

docker run -p 6379:6379 --name redismod \
-v /mydata/redismod/data:/data \
-d redislabs/redismod:preview

使用

Redis服務安裝完畢,接下來我們就使用RedisInsight來管理下它試試!

基本使用

下面詳細介紹一下RedisInsight。

 

下載地址:https://redis.com/redis-enterprise/redis-insight/

 

 

 

 下載完成后直接安裝即可,安裝完成后在主界面選擇添加Redis數據庫

 

 

 選擇手動添加數據庫,輸入Redis服務連接信息即可;

 

 

 打開連接后即可管理Redis,右上角會顯示已經安裝的Redis增強模塊;

 

 

 接下來我們就可以通過RedisInsight在Redis中添加鍵值對數據了,比如添加String類型鍵值對;

 

 

 添加Hash類型,編輯的時候可以單個屬性編輯,還是挺方便的;

 

 

 添加List類型,編輯的時候可以直接Push元素進去;

 

 

 添加JSON類型,安裝RedisJSON模塊后可支持;

 

 

 對原生JSON類型,不僅支持高亮預覽,還能支持新增、編輯和刪除單個屬性,夠方便!

 

 

 另外RedisInsight還支持深色和淺色兩種主題切換,在設置中即可更改。

 

 

 

CLI

  • 如果RedisInsight的圖形化界面功能滿足不了你的話,還可以試試它的CLI功能,點擊左下角CLI標簽即可打開;

 

 貼心的Redis官方怕你記不住命令,還添加了Command Helper這個查找命令文檔的功能,比如我們可以搜索下hget這個命令的用法。

 

 

Profiler

通過Profiler功能,我們可以查看Redis的命令執行日志,比如我們使用RedisInsight添加一個叫testKey的鍵值對,Profiler將顯示如下日志。

 

 

可視化監控

RedisInsight的Redis監控功能比較簡單,個人比較喜歡使用Grafana來監控Redis,Grafana的具體使用可以參考Grafana使用教程 。https://mp.weixin.qq.com/s/F392WVfVlqBNlUQVtQUn8A

 

 

安裝Grafana

  • 首先下載Grafana的Docker鏡像;
docker pull grafana/grafana

下載完成后運行Grafana;

docker run -p 3000:3000 --name grafana \
-d grafana/grafana

接下來下載Prometheus的Docker鏡像;

docker pull prom/prometheus

/mydata/prometheus/目錄下創建Prometheus的配置文件prometheus.yml

global:
  scrape_interval: 5s

運行Prometheus,把宿主機中的配置文件prometheus.yml掛載到容器中去;

docker run -p 9090:9090 --name prometheus \
-v /mydata/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
-d prom/prometheus

進入grafana容器並安裝redis-datasource插件,安裝完成后需要重啟grafana服務。

docker exec -it grafana /bin/bash
grafana-cli plugins install redis-datasource

使用

  • 連接到redismod需要使用到它的容器IP地址,使用如下命令查看redismod容器的IP地址;

 

 在Grafana中配置好Redis數據源,使用admin:admin賬戶登錄,訪問地址;http://192.168.3.105:3000/

 

 配置Redis地址信息,注意使用redismod的容器IP地址;

 

 打開Dashboard選擇Redis;

 

 接下來就可以看到一個非常完善的Redis監控儀表盤了,基本能滿足Redis的監控需求。

 

 

 

2概述

 

展示redis實例總體常見監控指標:

 

 

 

 瀏覽

 

1. Browser

 

實時展示各個db中的key:單獨key的value、長度、所占字節數。支持在頁面對key進行操作。

 

 

 

 

2. CLI

 

支持在頁面直接執行Redis Command。

 

 

 

3. Stream

 

展示5.0支持的新數據結構Stream。

 

 

 

4

開源生態擴展

 

比如讓Redis作為KV存儲引擎,來開發其他類型數據庫

 

1. RedisTimeSeries

 

解決了處理時序數據的需求,可以通過RedisInsight查詢數據。

 

 

2. Redisearch

 

實現的全文檢索功能服務,RedisInsight支持數據展示與查詢。

 

 

3. RedisGraph

 

是一種高性能內存圖數據庫,可以通過RedisInsight展示詳細數據信息。

 

 

5

分析

 

1. Memory Analysis

 

1)Overview

 

各種數據類型所占內存、各種數據類型數量以及未釋放內存。

 

 

2)Keyspace Summary

 

對正則匹配類型Key分析類型,所占內存,熱key。

 

 

3)Recommendations

 

對數據分析,提出合理建議:比如hash的配置浪費空間,建議合理配置。

 

 

4)Memory Analyzer

 

詳細展示單個key的詳細數據。

 

 

2. Profilter

 

在某時間斷對所有客戶端操作進行分析,找出熱key和執行最頻繁的命令。

 

 3. slowlog展示

 

 批量操作

 

提供各種批量操作:

 

  • 對REDIS各種操作

  • 將Redis導出為各種常用存儲

  • 從RDB中恢復數據

 

 配置顯示

 

1. 詳細展示當前實例的配置

 

 

2. 展示連接客戶端的詳細數據

 

 

 

當然,上面只是其中部分功能展示,還有更多強大的功能,等着大家去發現。總之,這是一款非常推薦的redis可視化工具。

Linux下的安裝與使用:參考: https://mp.weixin.qq.com/s/9oe8-X45LJfdH0IX3bxEaw

 1)下載 RedisInsight 軟件包:

https://redis.com/redis-enterprise/redis-insight/#insight-form
[root@Redis ~]# ls
anaconda-ks.cfg  redisinsight-linux64-1.11.0
[root@Redis ~]# mkdir /usr/local/redisinsight
[root@Redis ~]# mv redisinsight-linux64-1.11.0 /usr/local/redisinsight/redisinsight-1.11.0
[root@Redis ~]# chmod +x /usr/local/redisinsight/redisinsight-1.11.0

 

 2)配置 RedisInsight 的環境變量

[root@Redis ~]# echo "export REDISINSIGHT_HOST=192.168.1.1" >> ~/.bash_profile
[root@Redis ~]# echo "export REDISINSIGHT_HOST_DIR=/usr/local/redisinsight/.redisinsight" >> ~/.bash_profile
[root@Redis ~]# source ~/.bash_profile

注解:

  • REDISINSIGHT_PORT:配置 RedisInsight 的監聽端口(default:8001
  • REDISINSIGHT_HOST:配置 RedisInsight 的 IP 地址(default:0.0.0.0
  • LOG_DIR:配置 RedisInsight 的日志存放路徑(default:REDISINSIGHT_HOST_DIR
  • REDISINSIGHT_HOST_DIR:配置 RedisInsight 的數據存放路徑(default:~/.redisinsight

3)啟動 RedisInsight 服務

[root@Redis ~]# nohup /usr/local/redisinsight/redisinsight-linux64-1.4.0 &  // 后台運行
[root@Redis ~]# ps aux | grep redis            // 查看進程是否存在

 

 

2.Kubernetes 安裝

1)創建 RedisInsight 的 yaml 文件:

[root@Redis ~]# vim redisinsight.yaml
apiVersion: v1
kind: Service
metadata:
  name: redisinsight-service
spec:
  type: NodePort
  ports:
  - port: 80
    targetPort: 8001
    nodePort: 31888
  selector:
    app: redisinsight
---
apiVersion: apps/v1
kind: Deployment
metadata:
  name: redisinsight
  labels:
    app: redisinsight
spec:
  replicas: 1
  selector:
    matachLabels:
      app: redisinsight
  template:
    metadata:
      labels:
        app: redisinsight
    spec:
      containers:
      - name: redisinsight
        image: redislabs/redisinsight:1.7.0
        imagePullPolicy: IfNotPresent
        volumeMounts:
        - name: db
          mountPath: /db
        ports:
        - containerPort: 8001
          protocol: TCP
      volumes:
      - name: db
        emptyDir: {}

2)啟動 RedisInsight

[root@Redis ~]# kubectl apply -f redisinsight.yaml

 

 

總結

RedisInsight不愧是官方出品的可視化工具,感覺是目前用起來體驗最好的Redis工具了!特別是對Redis新特性的支持,其他工具是無法比擬的!不過對Redis的監控功能確實有點簡單,還是得用專業的監控工具Grafana來監控Redis!

參考資料

感覺Redis的官方文檔做的特別良心,強烈建議大家看下!

 

 

 官方文檔:https://developer.redis.com/explore/redisinsightv2

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM