RabbitMQ 管理插件会以选定的 5、30 或 300 秒间隔自动刷新页面。 我希望它每 1 秒刷新一次。可以吗?
回复为时已晚:P,但为了文档的目的,我正在回答这个问题。
您可以尝试使用管理插件进行快速破解。
步骤:
解压管理插件:
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.4/plugins
unzip rabbitmq_management-3.7.4.ez
cd rabbitmq_management-3.7.4
vim rabbitmq_management-3.7.4/priv/www/js/tmpl/layout.ejs
[...]
<option value="5000">Refresh every 5 seconds</option>
<option value="10000">Refresh every 10 seconds</option>
<option value="30000">Refresh every 30 seconds</option>
<option value="">Do not refresh</option>
[...]
使用适当的值进行编辑(在您的情况下为 1000 --> 每 1 秒刷新一次)
将旧插头移入:
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.4/plugins/
mv rabbitmq_management-3.7.4.ez /myhome/rabbitmq_management-3.7.4.ez
压缩插件目录
zip -r rabbitmq_management-3.7.4.ez rabbitmq_management-3.7.4
重启rabbitmq服务。
-拉胡尔 N.
我不认为5秒可以改变。我注意到 api - http://username:password@rabbitmq_server:15672/api/queues/%2f/your_queue_name 返回的消息计数也会每 5 秒更新一次,即使您继续向它发送请求也是如此。
我不知道为什么有人需要 1 秒分辨率,也许你应该使用 管理 HTTP API 而不是 Web 界面?
但是,从技术上来说这是可能的。您可以将某些选项值更改为 1000 并选择它,或者使用某些浏览器扩展(例如 userscript)为您的每次页面访问执行此操作。另一种方法是进入管理插件并使其在 select 中返回一个额外的选项。
对于那些想要更改管理 UI 刷新率的人,@Rahul Nair 的答案很好。
但我想提高通过 api 获取的详细统计信息的刷新率(
/api/overview
=> message_stats.ack
,以确保在集成测试中运行检查之前我的消息已被确认)。
我将此部分添加到文件中
/etc/rabbitmq/advanced.config
:
[
{rabbitmq_management_agent, [
{sample_retention_policies, [
{global,[{605,5},{3660,60},{29400,600},{86400,1800}]},
{basic,[{605,5},{3600,60}]},
{detailed,[{605,RMQ_DETAILED_STATS_REFRESH_INTERVAL}]}
]}
]}
].
您可以将
RMQ_DETAILED_STATS_REFRESH_INTERVAL
设置为 1(不幸的是,这是最小值)而不是默认值 5。