赞
踩
RedisInsight:监控Redis
使用基于浏览器的管理界面检查Redis数据、监控健康状况并执行运行时服务器配置,以进行Redis部署。
探索你的Redis数据并与之交互 | 减少Redis内存使用 | 实时监控命令 | 管理你的Redis集群 |
---|---|---|---|
使用基于Web的CLI,扫描和查看你的Redis键并执行CRUD操作。 | 分析和优化Redis使用的内存。 | 通过跟踪热键和顶级命令来分析应用程序使用Redis的方式。 | 可视化地执行、分析、管理和监控你的Redis集群。 |
RedisInsight
提供以下功能:
Redis
集群的GUI工具SSL/TLS
的连接下载RedisInsight Download,选择Linux版本。
这个地方有人说下载不了,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
可以设置以下环境变量来配置RedisInsight
:
REDISINSIGHT_PORT
——默认情况下,RedisInsight
监听端口8001。要将RedisInsight
绑定到其它端口,请设置REDISINSIGHT_PORT
环境变量。
REDISINSIGHT_HOST
——默认情况下,RedisInsight
绑定到IP地址0.0.0.0
。要使RedisInsight
绑定到其它主机,请设置REDISINSIGHT_HOST
环境变量。
REDISINSIGHT_HOME_DIR
——默认情况下,RedisInsight
将应用程序数据(例如本地数据库、日志文件和快照文件)存储在机器主目录中的~/.redisinsight
和Docker
容器的/db
目录中。要更改此目录,请设置REDISINSIGHT_HOME_DIR
环境变量。
LOG_DIR
——默认情况下,RedisInsight
将日志文件存储在你的主目录(REDISINSIGHT_HOME_DIR
)中。要让RedisInsight
将日志文件存储在其它目录中,请设置LOG_DIR
环境变量。
修改REDISINSIGHT_HOST
和REDISINSIGHT_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
# 后台运行
[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。
1.点击ADD REDIS DATABASE,选择Add Database
2.输入Redis的信息
Host:Redis的主机名,例如redis.acme.com
。如果你的Redis服务跑在本地机器,你可以输入127.0.0.1
或localhost
。
如果Redis服务没有设置用户名和密码可以不填。
3.点击ADD REDIS DATABASE后显示
4.鼠标点击新添加的redis实例
其它Redis集群、Redis哨兵和使用TLS认证方式的添加请参见官方Adding a Redis Database。
参见Automatically Discovering Databases
参见Adding Databases Programmatically
RedisInsight
的Overview
通过图形表示为你提供有关Redis实例的快速概览。它显示实例的总内存和键数。接收的连接数、已连接的客户端、网络输入和输出以及各种其它信息。
RedisInsight
的Cluster Management
为你提供了一个GUI来轻松管理你的Redis集群。集群管理提供了三种不同的视图,用于分析你的集群体系结构。
1.Master Layout——此视图仅包含有关Redis集群中存在的Master的信息。存在的信息是——插槽范围、主机、端口以及从redis INFO
命令收集的少量指标。
2.Master-Replica Layout——此视图包含主及其它们的副本。该视图包含有关主服务器和副本服务器的插槽范围、主机、端口等的信息。
3.Physical Layout——此视图为你提供服务器的表示形式,即根据它们所驻留的物理服务器对所有节点进行分组。
集群管理不仅可以为你提供集群的表示,而且还可以通过以下操作帮助你管理集群。
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"功能修复集群的警报。
RedisInsight
的CLI
允许你针对Redis服务器运行命令。你无需记住语法——集成的帮助将显示所有参数并在你键入时验证命令。
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即亚马逊的云服务器,类似阿里云服务器。
导航到Memory Analysis
>Overview
,然后单击"Analyze Now"按钮。你应该看到一个带有两个选项的对话框——Offline Analysis和Online Analysis。
如果你有要分析的RDB备份文件,请选择脱机分析方法。我们可以进行在线分析。
内存分析可能需要几分钟,并且在很大程度上取决于数据的大小。
内存分析完成后,你可以在"Memory Analysis"下查看有关内存消耗的各种统计信息。Overview概览页面为你提供了内存使用情况的高级分类。
内存概述通过图形表示为你提供Redis实例的概览。按数据类型的内存分解显示了基于数据类型的键的总体大小和计数分布。过期分析提供了键如何配置过期的概览。可能有一些永不过期的键。
"Keyspace Summary"按内存的递减顺序从一组键中标识出顶级键模式。这可以帮助你确定哪些键模式正在占用你的大部分内存,以及该模式的顶级键是什么。你可以添加自己的键模式,以识别它们的内存使用情况以及该键模式的顶级键。
RedisInsight
提供了有关如何保存内存的建议。这些建议是根据你的Redis实例专门制定的。这些建议是根据行业标准和我们自己的经验形成的。
Memory Analyzer使你可以搜索一个或多个键模式,并获得有关其与其它统计信息的相关信息。你可以使用我们的高级过滤器功能应用各种过滤和聚合。
这是对快照分析过程中发生的事情的简要描述:单击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
幕后工作的简要概述。我们一直在不断改进流程,并且在整个流程的确切机制方面来回反复讨论了很多次。不言而喻,该过程一直在演变,甚至在不久的将来看起来可能会大不相同。我们将尝试保持此页面进行所有重大更改的更新,因此请返回此处或关注我们的博客以保持更新。
RedisInsight
的Profiler
运行Redis MONITOR
命令,该命令分析发送到redis实例上的每个命令。它解析MONITOR
命令的输出并生成汇总视图。在概要分析期间,将监控发送到redis实例的所有命令。
Profiler提供有关已处理命令的数量、命令/秒和已连接客户端数量的信息。它还提供有关顶级前缀、顶级键和顶级命令的信息。
Start profiling——开始分析。
Stop Profiling——停止分析器,即监控命令。
停止分析处理后
注意: 运行Monitor命令对生产服务器的性能是危险的,因此,如果用户未在这两者之间停止分析器,则分析器运行的最长时间为5分钟。这是为了避免服务器过载。
RedisInsight
的Slowlog
是你的Redis实例的慢操作列表。这些可用于诊断性能问题。列表中的每个条目都显示命令、持续时间和时间戳。超过slowlog-log-slower-than
微秒的所有事务被记录,直到slowlog-max-len
的最大值为止,之后将丢弃较旧的条目。
Clear Slowlog——清除慢日志从你的Redis服务器清除所有慢日志条目。
RedisInsight
的Configuration
允许使用易于使用的配置编辑器来更新你的Redis实例的配置。所示的每个键都对应于Redis配置文件中的一个条目。无需重新启动服务器即可应用大多数配置设置。此外,它还提供了一个选项,将你的当前设置重写Rewrite
到redis.conf
文件中,以便即使服务器重新启动,也可以保留这些设置。
配置也分为以下类别——高级配置、安全性、Lua脚本等,以使配置编辑更容易。
RedisInsight
检测Java序列化对象,并将其与完全限定的类名一起转换为格式良好的JSON对象。
存储什么并不重要。无论是hibernate对象、用户会话还是普通的Java对象,RedisInsight
反向工程都会将其友好地展示给你。
只是为了好玩,我们尝试了没有格式化的对象的外观。全是垃圾。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。