Redis 官方可视化工具

RedisInsight 是一个直观高效的 Redis GUI 管理工具,它可以对 Redis 的内存、连接数、命中率以及正常运行时间进行监控,并且可以在界面上使用 CLI 和连接的 Redis 进行交互(RedisInsight 内置对 Redis 模块支持)

RedisInsight 提供的功能:

  • 唯一支持 Redis Cluster 的 GUI 工具;
  • 可以基于 Browser 的界面来进行搜索键、查看和编辑数据;
  • 支持基于 SSL/TLS 的连接,同时还可以在界面上进行内存分析;

RedisInsight 安装

下载 RedisInsight 软件包

https://redis.com/redis-enterprise/redis-insight/#insight-form

1
2
3
4
5
[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

配置 RedisInsight 的环境变量

1
2
3
[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)

启动 RedisInsight 服务

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

Kubernetes 安装

创建 RedisInsight 的 yaml 文件

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
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: {}

启动 RedisInsight

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

参考