ZBLOG

如何检查redis 哨兵模式的状态

检查Redis哨兵模式状态可以通过以下几种方式:

1. 连接哨兵节点查询信息

# 连接哨兵节点(默认端口26379)
redis-cli -p 26379

# 查看哨兵基本信息
info sentinel

# 查看监控的主节点信息
sentinel masters

# 查看特定主节点的详细信息
sentinel master <master-name>

# 查看主节点的从节点信息
sentinel slaves <master-name>

# 查看其他哨兵节点信息
sentinel sentinels <master-name>

2. 关键命令详解

# 查看所有监控的主节点
127.0.0.1:26379> SENTINEL MASTERS

# 检查特定主节点的状态
127.0.0.1:26379> SENTINEL MASTER mymaster

# 查看从节点列表
127.0.0.1:26379> SENTINEL SLAVES mymaster

# 获取当前主节点地址
127.0.0.1:26379> SENTINEL GET-MASTER-ADDR-BY-NAME mymaster

# 检查哨兵节点数量
127.0.0.1:26379> SENTINEL CKQUORUM mymaster

3. 系统层面检查

# 检查哨兵进程状态
ps aux | grep redis-sentinel

# 检查端口监听(哨兵默认端口26379)
netstat -tulpn | grep 26379
# 或者使用ss命令
ss -tulpn | grep 26379

# 查看哨兵日志
tail -f /var/log/redis/sentinel.log

4. Python脚本自动检查示例

import redis

def check_sentinel_status(host='localhost', port=26379, master_name='mymaster'):
    try:
        sentinel = redis.Redis(host=host, port=port)
        
        # 检查主节点信息
        master_info = sentinel.sentinel_master(master_name)
        print(f"Master Info: {master_info}")
        
        # 检查从节点信息  
        slaves_info = sentinel.sentinel_slaves(master_name)
        print(f"Slaves Count: {len(slaves_info)}")
        
        # 获取当前主节点地址
        master_addr = sentinel.sentinel_get_master_addr_by_name(master_name)
        print(f"Current Master: {master_addr}")
        
        # 检查哨兵信息
        sentinels_info = sentinel.sentinel_sentinels(master_name)
        print(f"Sentinels Count: {len(sentinels_info)}")
        
    except Exception as e:
        print(f"Error: {e}")

check_sentinal_status()

5.重要状态指标**

  • 主节点状态flags字段显示masters_down/o_down
  • 从节点数量:确保所有从节点正常连接
  • 哨兵数量:至少3个哨兵以确保高可用
  • 故障转移状态:查看failover-state字段

通过这些方法可以全面了解Redis哨兵集群的健康状态。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://golang.0voice.com/?id=24408

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?