解决RabbitMQ管理页面异常/不正确的问题

文章讲述了作者在使用Docker安装的RabbitMQ时遇到的管理界面显示问题,通过排查发现是由于前端代码与旧版谷歌浏览器的toLowerCase()方法不兼容。解决办法包括更换浏览器或降级RabbitMQ版本以匹配浏览器需求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

正确的页面:有Channels、Exchanges等

在这里插入图片描述

异常/不正确的页面:

在这里插入图片描述

问题原因

我的RabbitMQ是用docker安装的,应该不会是安装的环境有问题。
而且MQ的服务确实是启动了,后端能正常使用,并且管理界面的登录页面也是能正常登录的,就是登录后的界面内容不对,所以怀疑一下是不是还要配置用户才行,然后跟着网上的教程一通乱搞也没解决。
各种排查之后都找不出问题,只能F12看一下请求和响应报文,看能不能通过报文看出什么端倪。然后登录之后发现控制台有一个报错信息。在这里插入图片描述到这基本就能猜出问题所在了,但还是需要验证一下猜想。
1、换一个浏览器访问管理界面,能正常访问。
2、用原来的浏览器打开一个正常的已经部署好的RabbitMQ管理页面,能正常访问。然后在前端源代码中搜索报错的方法toLowerCase(),搜索不到。
3、在网上搜索浏览器对该方法的支持,发现谷歌浏览器的老版本确实是不支持这个方法。
结论:自己安装的RabbitMQ版本是最新的,前端的源代码有所变化。使用的谷歌浏览器版本又很低,不支持toLowerCase()方法,导致前端代码报错不能正常渲染。

解决方法

换一个浏览器或者升级当前浏览器,更麻烦一点就是安装低版本的RabbitMQ,但是还需要知道RabbitMQ在哪一个版本开始使用该方法。

### RabbitMQ Management UI 显示消息计数的原因分析 当遇到 RabbitMQ 的 Web 管理界面显示队列中的消息数量时,这可能是由多种因素引起的。通常情况下,RabbitMQ管理插件能够正常统计并展示这些数据。 如果管理界面上的消息计数未能正确更新或根本显示,可能是因为: - 队列配置当,某些类型的队列(如临时队列)会始终报告其长度。 - 权限设置错误,导致用户无权查看完整的队列状态信息[^1]。 - 数据库持久化层出现问题,影响到统计数据的读取。 - RabbitMQ 服务器本身存在性能瓶颈或是资源足的情况。 - 浏览器缓存问题也可能干扰页面上的数据显示。 为了排查此类问题,建议按照以下方法操作来解决问题涉及具体步骤词汇: 检查日志文件以确认是否有任何异常记录;验证当前登录账户具备足够的权限访问所需监控的数据;尝试刷新浏览器缓存或者更换同设备重新连接至管理控制台;确保 RabbitMQ 实例有足够的计算资源可用,并考虑重启服务以便加载最新的更改配置。 对于开发人员而言,在应用程序层面也可以采取措施辅助诊断此现象。例如通过编程接口获取实时的消息数目作为补充手段。下面是一个简单的 Python 脚本片段用于查询指定队列的信息: ```python import pika connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() queue_name = 'test_queue' method_frame, header_frame, body = channel.basic_get(queue=queue_name) if method_frame.NAME == 'Basic.GetEmpty': print(f"No messages found in {queue_name}") else: print(f"Message count in {queue_name}: ", method_frame.message_count) channel.close() connection.close() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值