1. Redis监控
1.1. 功能截图
1.2. 知识点
说明Redis监控支持Redis的三种模式:单机、集群、主从(哨兵),同时支持密码。
1.3. 功能详述
1.3.1. 新增Redis监控
功能页面左上角是新增按钮,新增分为三种类型。
- 单机
群组类型:单机选择为单机
群组编号:该字段唯一标识一个redis群组,如single等
群组名称:该字段一般与实例组名称保持一致
群组描述:对redis群组的说明。
单机密码:redis实例密码
服务器IP:实例所在主机的IP。
节点端口:实例所占端口。
- 集群
群组类型:集群
群组编号:该字段唯一标识一个redis群组,如rediscluster等
群组名称:该字段一般与实例组名称保持一致
群组描述:对redis群组的说明。
集群密码:redis登录密码
服务器IP:集群中任意一个节点实例所在的IP地址。
节点端口:集群任意节点所对应的端口。
输入完以上字段,点击下一步即可显示通过节点显示所有集群已连接上的节点,如下图:
显示以上信息后,可选择是否监控某些节点,点击提交即可添加整个集群,点击返回即返回集群列表。
- 主从
群组类型:群组类型表示该redis群组所属的集群模式,目前支持的有单机、集群、主从。
群组编号:该字段唯一标识一个redis群组,如rediscluster等
群组名称:该字段一般与实例组名称保持一致
群组描述:对redis群组的说明。
主从密码:主从登录密码
服务器IP:主从中哨兵实例所在的IP地址。
节点端口:主从中哨兵实例所对应的端口。
哨兵密码:主从中哨兵实例所设置的密码。
哨兵若有多个,可通过图中“+”来添加哨兵地址的输入,并可以移除多余的哨兵地址。
输入完以上字段,点击下一步即可显示通过节点显示所有哨兵已经监控到的所有节点,如下图:
显示以上信息后,可选择是否监控某些节点,点击提交即可添加整个主从,点击返回即返回集群列表。
1.3.2. 群组修改
通过redis->点击列表中修改redis群组按钮进入修改群组页面。
在redis群组修改页面可以修改群组名称、群组描述,以及每个节点的实例名称、节点端口、密码、是否监控。群组信息的修改可使群组的描述更加准确完整,而节点信息中节点端口的修改则会关系到节点是否可连接的上,请修改节点端口时务必保证端口正确,密码为保留字段,取消监控则会使该节点信息不被采集。群组修改不允许新增或删除节点,若节点扩展或其他需要改变节点数量时,请将整个集群删除重新添加,同时IP与端口不改变的节点信息会保留。
1.3.3. 群组删除
通过redis->点击列表中删除redis群组按钮删除群组,如下图:
1.3.4. Redis监控
- 节点状态
列表中的redis群组和节点都会有状态判断,状态分为正常、风险、异常三个等级,由低到高说明节点健康情况,正常表示节点心跳正常,各项指标检查都为正常,风险和异常会把异常指标显示在详情中。
节点状态通常由以下几个检查构成:
心跳检查:NTC是否能够连接到redis节点,并从节点获取到监控信息
持久化检查:是否开启AOF或者RDB持久化,若两种都未启动则会统计为异常
内存检查:redis使用内存占用系统内存的大小,占用70%以上认为风险,占用80%以上认为是异常
内存碎片率检查:根据redis计算的内存碎片率进行检查,小于1则说明正在使用swap内存,状态为异常,大于1.5则说明碎片率过大,内存占用浪费,状态为风险,1-1.5之内的内存碎片率状态为正常
连接数诊断检查:redis连接数达到配置最大连接数的90%认为异常,大于80%认为风险,小于80%认为是正常
最大输入缓冲区检查:redis连接最大输入缓冲区若大于10MB,这说明命令包含了bigkey或者redis命令处理发生阻塞,认为状态是异常,大于8MB认为是风险,其余情况认为是正常
最大回复列表对象:若当前最大回复列表对象数量超过1000,则认为异常,若设置了输出缓冲区,输出缓冲区已满后会将对象存于回复列表,数量多可能会占用较大内存
最大输出缓冲区检查:若当前连接最大输出缓冲区大于10MB,这说明命令包含了monitor或者其他返回数据量大的指令,大于10MB认为是异常,大于8MB认为是风险,小于8MB则认为是正常
阻塞客户端检查:当阻塞客户端大于0则说明连接占满,有客户端进行执行等待,所以大于0认为异常
慢查询检查:redis是否存在慢查询语句,redis自带慢查询的记录,并在配置中可以设置阈值,检查redis存在慢查询则认为是节点是异常。
- 单机监控
当选择监控节点为单机时,会直接进入该实例的监控界面,redis实例监控页面包括概要、图表两个部分。
概要中又3个部分,分别为节点的基本信息、节点实例的慢查询和节点诊断信息。
节点基本信息:关于redis节点的基本信息
节点实例的慢查询:慢查询的记录是redis自带的功能,这里耗时用ms来展示,不到1ms的会显示0ms,同时慢查询是滚动记录的,最新的慢查询记录会将旧数据进行覆盖。
节点诊断信息:节点诊断的内容我们在群组和节点状态的部分已经讲述过了,这边是对所有诊断项的展示,包含了正常诊断项数据。同时在表格头的位置还有几个按钮,延迟测试、获取连接客户端、操作结果和刷新,刷新就不赘述了,就是最新数据的获取。
节点诊断有一个功能是延迟测试,对redis节点进行1000次ping命令。平均耗时大于200us则会被认为是异常。延迟测试后,点击操作结果可以看到测试结果。
获取所有连接客户端可以展示当前所有redis节点连接,并且带有连接客户端的信息,具体信息可以点击帮助进行说明。
图表:在系统概览中我们提供了用户比较关心的redis分配内存、进程占用内存、redis服务占用系统cpu的时间总和、redis服务占用用户cpu的时间总和、当前redis每秒钟处理请求数、redis处理总请求数、redis网络入口kbps、redis网络出口kbqs等视图展示。
- 集群
当选择监控节点为集群时,会显示集群中节点的状态、主从情况、槽的分布等信息。
通过集群节点信息可以快速了解集群概况,每一个主节点下展示了所有该节点的从节点,还可以定位问题实例。状态栏同样汇集了Redis基本诊断项,根据诊断项来判断当前节点。在该页面还可以快捷的测试延迟和进行连接客户端的查看
该页面与单机监控相比多了集群槽的信息。
- 主从
选择监控节点为主从时,会显示当前主从节点、哨兵节点的关系等信息。
通过主从节点信息可以快速了解主从概况,每一个主节点下展示了所有该节点的从节点和哨兵节点并说明了每个节点的角色,同时无法连接的实例会在丢失节点信息中显示,方便定位问题实例。最后一列的监控按钮进入每个实例的监控信息,该页面与单机监控相同。