Linux安装Redis监控工具RedisInsight

RedisInsight:监控Redis

使用基于浏览器的管理界面检查Redis数据、监控健康状况并执行运行时服务器配置,以进行Redis部署。

探索你的Redis数据并与之交互减少Redis内存使用实时监控命令管理你的Redis集群
使用基于Web的CLI,扫描和查看你的Redis键并执行CRUD操作。分析和优化Redis使用的内存。通过跟踪热键和顶级命令来分析应用程序使用Redis的方式。可视化地执行、分析、管理和监控你的Redis集群。

1.简介

RedisInsight提供以下功能:

  • 易于使用基于浏览器的界面来搜索键、查看和编辑数据
  • 唯一支持Redis集群的GUI工具
  • 支持基于SSL/TLS的连接
  • 运行内存分析

2.安装RedisInsight

2.1下载RedisInsight

下载RedisInsight Download,选择Linux版本。

下载RedisInsight
这个地方有人说下载不了,redis-enterprise下载,点击这个链接或上面的链接就可以看到Download按钮的,往下翻页或点击就可以看到填写信息的框,输入后就可以下载了
填写信息后就可以下载

# 创建目录存放文件
[solang@solang ~]$ mkdir /usr/local/redisinsight-1.4.0

[solang@solang ~]$ cp redisinsight-linux64-1.4.0 /usr/local/redisinsight-1.4.0/

[solang@solang ~]$ cd /usr/local/redisinsight-1.4.0/

# 赋予执行权限
[solang@solang redisinsight-1.4.0]$ chmod +x redisinsight-linux64-1.4.0

2.2配置RedisInsight

可以设置以下环境变量来配置RedisInsight

  • REDISINSIGHT_PORT——默认情况下,RedisInsight监听端口8001。要将RedisInsight绑定到其它端口,请设置REDISINSIGHT_PORT环境变量。

  • REDISINSIGHT_HOST——默认情况下,RedisInsight绑定到IP地址0.0.0.0。要使RedisInsight绑定到其它主机,请设置REDISINSIGHT_HOST环境变量。

  • REDISINSIGHT_HOME_DIR——默认情况下,RedisInsight将应用程序数据(例如本地数据库、日志文件和快照文件)存储在机器主目录中的~/.redisinsightDocker容器的/db目录中。要更改此目录,请设置REDISINSIGHT_HOME_DIR环境变量。

  • LOG_DIR——默认情况下,RedisInsight将日志文件存储在你的主目录(REDISINSIGHT_HOME_DIR)中。要让RedisInsight将日志文件存储在其它目录中,请设置LOG_DIR环境变量。

修改REDISINSIGHT_HOSTREDISINSIGHT_HOME_DIR,若8001端口和其它应用端口冲突可自行修改。

[solang@solang redisinsight-1.4.0]$ export REDISINSIGHT_HOST=192.168.86.100
[solang@solang redisinsight-1.4.0]$ export REDISINSIGHT_HOME_DIR=/usr/local/redisinsight-1.4.0/.redisinsight

REDISINSIGHT_HOME_DIR也可不修改,默认会放在~/.redisinsight目录。

注: 这样配置只会在当前Shell终端生效,可在~/.bash_profile中指定路径。

[solang@solang ~]$ vi .bash_profile

export REDISINSIGHT_HOST=192.168.86.100
export REDISINSIGHT_HOME_DIR=/usr/local/redisinsight-1.4.0/.redisinsight

[solang@solang ~]$ source .bash_profile

2.3运行RedisInsight

# 后台运行
[solang@solang redisinsight-1.4.0]$ nohup redisinsight-linux64-1.4.0 &

# 前台运行
[solang@solang redisinsight-1.4.0]$ ./redisinsight-linux64-1.4.0

[solang@solang ~]$ ps -ef | grep redis

solang  14964      1  0 May09 ?        00:05:11 redis-server 127.0.0.1:6379
solang  17699  17675  2 09:46 pts/2    00:00:19 redisinsight-linux64-1.4.0
solang  17703  17699  0 09:47 pts/2    00:00:07 redisinsight-linux64-1.4.0
solang  17744   5594  0 10:01 pts/1    00:00:00 grep --color=auto redis

启动之后,浏览器访问http://192.168.86.100:8001/,勾选后点击CONFIRM。
进入RedisInsight

3.使用RedisInsight

3.1添加Redis

3.1.1添加单机Redis

1.点击ADD REDIS DATABASE,选择Add Database
添加Database

2.输入Redis的信息
输入redis信息
Host:Redis的主机名,例如redis.acme.com。如果你的Redis服务跑在本地机器,你可以输入127.0.0.1localhost
如果Redis服务没有设置用户名和密码可以不填。

3.点击ADD REDIS DATABASE后显示
添加Redis后展示

4.鼠标点击新添加的redis实例
鼠标点击新添加的redis

其它Redis集群、Redis哨兵和使用TLS认证方式的添加请参见官方Adding a Redis Database

3.2自动发现Redis

参见Automatically Discovering Databases

3.3以编程方式添加Redis

参见Adding Databases Programmatically

3.4性能指标

RedisInsightOverview通过图形表示为你提供有关Redis实例的快速概览。它显示实例的总内存和键数。接收的连接数、已连接的客户端、网络输入和输出以及各种其它信息。
概览

3.5集群管理

RedisInsightCluster Management为你提供了一个GUI来轻松管理你的Redis集群。集群管理提供了三种不同的视图,用于分析你的集群体系结构。

1.Master Layout——此视图仅包含有关Redis集群中存在的Master的信息。存在的信息是——插槽范围、主机、端口以及从redis INFO命令收集的少量指标。

2.Master-Replica Layout——此视图包含主及其它们的副本。该视图包含有关主服务器和副本服务器的插槽范围、主机、端口等的信息。

3.Physical Layout——此视图为你提供服务器的表示形式,即根据它们所驻留的物理服务器对所有节点进行分组。
cluster-management

集群管理不仅可以为你提供集群的表示,而且还可以通过以下操作帮助你管理集群。

1.Cluster Rebalance集群重新平衡——集群重新平衡可帮助你根据集群节点之间的插槽百分比迁移所有插槽。

2.Manual Resharding手动重新分片——手动重新分片要求具有插槽范围的源和目标节点。使用此功能,只需单击几下鼠标即可将指定的插槽范围从源节点迁移到目标节点。

3.Add Node to Cluster将节点添加到集群——集群管理允许你将一个新节点作为主节点添加到集群中。该节点应为空,并且应启用集群。

4.Manual Failover手动故障转移——使用此功能,你可以手动故障转移一个副本节点以成为主节点。

5.Delete Node in Cluster删除集群中的节点——使用此功能可以删除一个从属节点。我们不支持删除主节点,因为直接删除主节点可能会有问题。

6.Make a node Replica of Master创建主节点的节点副本——集群管理包含一项功能,可以使所选节点成为主节点的副本。如果该节点已经是副本,则无需执行任何操作。如果节点是主节点,则该节点应该为空,即——没有哈希槽和键。

7.Cluster Health Monitoring & Alerts集群健康监控和警报——集群管理不断为你的集群运行健康检查,并在集群出现任何问题时返回警报。如果主服务器和从服务器在同一台服务器上,它也会提供警报。可以使用"Fix Cluster"功能修复集群的警报。

3.6命令行

RedisInsightCLI允许你针对Redis服务器运行命令。你无需记住语法——集成的帮助将显示所有参数并在你键入时验证命令。
命令行工具

3.7内存分析

RedisInsight内存分析可帮助你分析Redis实例,并有助于减少内存使用量和提高应用程序性能。可以通过两种方式进行分析:

1.联机模式——在此模式下,RedisInsight从连接的Redis实例下载一个rdb文件,并对其进行分析以创建一个临时文件,其中包含分析所需的所有键和元数据。如果存在主从连接,则RedisInsight从从服务器而不是从主服务器下载转储dump,以避免影响主服务器的性能。

2.脱机模式——在此模式下,RedisInsight分析你的Redis备份文件。这些文件可以存在于你的系统中,也可以存在于s3中。RedisInsight接受提供给它的rdb文件列表,并分析这些文件中所需的所有信息,而不是从你的redis实例下载它。为了分析存储在s3中的备份文件,RedisInsight应该对存储文件的s3存储桶具有ReadOnly权限。

s3路径需要使用路径语法,而不是虚拟主机语法:

https://s3.<region>.amazonaws.com/<bucket name>/<object key name>

例如:https://s3.us-east-1.amazonaws.com/my-bucket/mydb.rdb.tgz

注: s3即亚马逊的云服务器,类似阿里云服务器。

3.7.1在实例上运行内存分析

导航到Memory Analysis>Overview,然后单击"Analyze Now"按钮。你应该看到一个带有两个选项的对话框——Offline Analysis和Online Analysis。
内存分析概览-立即分析
如果你有要分析的RDB备份文件,请选择脱机分析方法。我们可以进行在线分析。
内存分析方式
RDB文件路径选择

确定开始内存分析
内存分析可能需要几分钟,并且在很大程度上取决于数据的大小。
内存分析缓冲
内存分析完成后,你可以在"Memory Analysis"下查看有关内存消耗的各种统计信息。Overview概览页面为你提供了内存使用情况的高级分类。

3.7.2内存概览

内存概述通过图形表示为你提供Redis实例的概览。按数据类型的内存分解显示了基于数据类型的键的总体大小和计数分布。过期分析提供了键如何配置过期的概览。可能有一些永不过期的键。
内存分析结果

3.7.3键空间摘要

"Keyspace Summary"按内存的递减顺序从一组键中标识出顶级键模式。这可以帮助你确定哪些键模式正在占用你的大部分内存,以及该模式的顶级键是什么。你可以添加自己的键模式,以识别它们的内存使用情况以及该键模式的顶级键。
键空间摘要

3.7.4建议

RedisInsight提供了有关如何保存内存的建议。这些建议是根据你的Redis实例专门制定的。这些建议是根据行业标准和我们自己的经验形成的。
建议

3.7.5内存分析

Memory Analyzer使你可以搜索一个或多个键模式,并获得有关其与其它统计信息的相关信息。你可以使用我们的高级过滤器功能应用各种过滤和聚合。
内存分析

3.7.6内存分析的工作原理

这是对快照分析过程中发生的事情的简要描述:单击analyze-memory按钮时,它会连接到redis实例并获取数据库的时间点快照。这可以通过两种方式实现:

1.使用SYNC命令。这是首选方法,并在可能的情况下使用。Redis有一个SYNC命令,从服务器用来与主服务器同步。我们的代理假装是一个从服务器,并将SYNC命令发送到实例,该实例使用其所有数据进行响应,就像它试图与一个从服务器同步一样。

2.使用DUMP命令。云提供商不支持SYNC命令,因此该方法无效。但是它们确实支持DUMP命令。此命令以Redis特定的格式序列化键的值并返回它。我们迭代扫描所有键,转储(dump)值,并将它们连接以生成RDB。此方法有两个注意事项,其中包括:序列化格式是不透明且非标准的,并且并非所有键都在同一时间被转储,意味着自第一个键转储以来,某些键的值可能已更改,因此这并不是一个精确的时间点快照。

在完成dump之后,按照上述两种方法之一,我们将对dump进行分析,计算内存统计信息和发现键模式。这里发生的事情类似于开源redis-rdb-tools所做的事情。此过程的结果是一个RSNAP文件(代表redis快照),该文件包含键名、内存统计信息以及有关dump的其它生成信息,但重要的是,不包含键本身的值。dump文件从未真正离开代理运行所在的系统。

RSNAP文件完全生成后,将其上传到我们的服务器,在服务器上进行进一步分析以生成建议。目前,我们有超过20个建议,可为你提供有关如何优化Redis数据库的简单建议。

因此,这是RedisInsight幕后工作的简要概述。我们一直在不断改进流程,并且在整个流程的确切机制方面来回反复讨论了很多次。不言而喻,该过程一直在演变,甚至在不久的将来看起来可能会大不相同。我们将尝试保持此页面进行所有重大更改的更新,因此请返回此处或关注我们的博客以保持更新。

3.8分析器

RedisInsightProfiler运行Redis MONITOR命令,该命令分析发送到redis实例上的每个命令。它解析MONITOR命令的输出并生成汇总视图。在概要分析期间,将监控发送到redis实例的所有命令。

Profiler提供有关已处理命令的数量、命令/秒和已连接客户端数量的信息。它还提供有关顶级前缀、顶级键和顶级命令的信息。

Start profiling——开始分析。

Stop Profiling——停止分析器,即监控命令。

Start Profiler
确认
处理过程
停止分析处理后
分析结果

注意: 运行Monitor命令对生产服务器的性能是危险的,因此,如果用户未在这两者之间停止分析器,则分析器运行的最长时间为5分钟。这是为了避免服务器过载。

3.9慢日志

RedisInsightSlowlog是你的Redis实例的慢操作列表。这些可用于诊断性能问题。列表中的每个条目都显示命令、持续时间和时间戳。超过slowlog-log-slower-than微秒的所有事务被记录,直到slowlog-max-len的最大值为止,之后将丢弃较旧的条目。

Clear Slowlog——清除慢日志从你的Redis服务器清除所有慢日志条目。
Slowlog

3.10配置

RedisInsightConfiguration允许使用易于使用的配置编辑器来更新你的Redis实例的配置。所示的每个键都对应于Redis配置文件中的一个条目。无需重新启动服务器即可应用大多数配置设置。此外,它还提供了一个选项,将你的当前设置重写Rewriteredis.conf文件中,以便即使服务器重新启动,也可以保留这些设置。
Redis配置信息
配置也分为以下类别——高级配置、安全性、Lua脚本等,以使配置编辑更容易。
configuration_popup

3.11在Redis中查看Java序列化对象

RedisInsight检测Java序列化对象,并将其与完全限定的类名一起转换为格式良好的JSON对象。
序列化后的HASH对象
存储什么并不重要。无论是hibernate对象、用户会话还是普通的Java对象,RedisInsight反向工程都会将其友好地展示给你。

只是为了好玩,我们尝试了没有格式化的对象的外观。全是垃圾。😃
未序列化对象展示

一图胜千言,RedisInsight进行Redis的增删改查非常的方便。
Redis增删改查

3.12RedisInsight故障排除

RedisInsight的行为与预期不符时,请使用以下步骤查看问题所在。

有关其它配置选项,例如更改默认端口,请转到:2.2配置RedisInsight

3.12.1日志

要获取有关RedisInsight中错误的详细信息,你可以在以下位置查看扩展名为.log的日志文件:

  • Docker:在容器内的/db/目录中。
  • Mac:在 /Users/<your-username>/.redisinsight 目录中.
  • Windows:在 C:\Users\<your-username>\.redisinsight 目录中.
  • Linux:在 /home/<your-username>/.redisinsight 目录中.

注意——你可以在不受官方支持的操作系统上安装RedisInsight,但其行为可能与预期不符。

我们很高兴在redisinsight@redislabs.com收到你的反馈。

当然,由于我们指定了REDISINSIGHT_HOME_DIR=/usr/local/redisinsight-1.4.0/.redisinsight,所以日志在/usr/local/redisinsight-1.4.0/.redisinsight目录下查看。

4.升级RedisInsight

RedisInsight的GUI工具有新版本也会提示升级。
RedisInsight提示升级
升级也很简单,下载RedisInsight最新版后,将其放到和旧版本的同级目录下。关闭旧进程,赋予新版本执行权限后启动新版本即可完成升级,只要配置的路径不变,启动后旧版本配置的数据还会存在。

本文参考:
RedisInsight
RedisInsight Documentation
Configuring RedisInsight

  • 11
    点赞
  • 28
    收藏
    觉得还不错? 一键收藏
  • 19
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值