当前位置: 首页 > 知识库问答 >
问题:

后端 - rabbitmq 的监控队列的记录可以持久化吗?

微生自怡
2023-09-21

需求:监控可以在 rabbtimq 重启之后,监控记录还在

图片.png

现状:rabbtimq 重启之后,之前的记录就不在了,就是记录不是持久化的

共有2个答案

夏侯野
2023-09-21

你可以搜索一下RabbitMQ的Metrics,然后使用Prometheus与Grafana对RabbitMQ的Metrics进行持久化管理与查询。

马凡
2023-09-21

RabbitMQ的监控队列的记录默认情况下是不可以持久化的。在RabbitMQ重启之后,之前的监控记录通常会丢失,因为它们并未被持久化存储。

要实现监控记录的持久化,你可以考虑以下两种方法:

  1. 使用消息持久化:在RabbitMQ中,消息的持久化可以将消息保存在磁盘上,以便在RabbitMQ重启后重新加载。你可以将监控队列中的消息持久化,以便在重启后仍然可以获取之前的记录。请注意,这种方法可能会导致监控队列的存储空间逐渐增加,因为消息会被永久保存。
  2. 使用外部存储:你可以使用外部存储(如数据库)来保存监控记录。当RabbitMQ重启后,你可以从外部存储中读取之前的记录,并将其放入监控队列中。这种方法的实施相对复杂,但可以实现更灵活的记录管理和持久化。

根据你的需求,你可以选择适合你的方法来持久化RabbitMQ的监控队列记录。

 类似资料:
  • 我对Spring和RabbitMQ有以下配置: 为了防止这种情况,我想创建持久队列(因为这些队列的持久度设置为false,自动删除设置为true)。如果不是,我想在这些队列上设置一些过期时间(例如,1小时或其他时间)。从RabbitMQ文档来看,我们似乎可以在头中传递这些值,但是,这只适用于版本3.6.0以后的版本,因为我们有3.5.4,它不是一个选项。 有没有其他方法可以配置它?(另一种方法是为

  • rabbitmq 的队列是否可以实现消费速率的流控? 就是设置消费速率的意思 比如不管这个队列有多少个消费者,限制这个队列,每分钟只能分发给(所有)消费者(加起来) 100 个任务 如果不能在 rabbitmq server 端实现流控,而是要在消费者端流控的话,那么消费者就要引入 redis 等组件,变得复杂且丑陋。这是我不希望的 或者说哪个主流的消息队列支持流控?kafka?rocketMQ?

  • 英文原文:http://emberjs.com/guides/models/persisting-records/ Ember Data中的记录都基于实例来进行持久化。调用DS.Model实例的save()会触发一个网络请求,来进行记录的持久化。 下面是几个示例: 1 2 3 4 5 6 var post = store.createRecord('post', { title: 'Rail

  • 我正在翻阅Rabbitmq官方站点给出的AMQP的文档。上面说 但是,当Message broker崩溃时,我对以下情况感到困惑:- 消息由生产者传递到消息交换,但不路由到标记为持久的队列。 消息由生产者传递给消息交换,消息交换又路由到标记为持久的队列,但消息在队列中,使用者不使用。 消息由生产者传递到消息交换,消息交换继而路由到标记为持久的队列,但消息在队列中并由使用者使用,但使用者未向队列发送

  • 在数据采集一节中我们介绍了常见的监控数据源。open-falcon作为一个监控框架,可以去采集任何系统的监控指标数据,只要将监控数据组织为open-falcon规范的格式就OK了。 RMQ的数据采集可以通过脚本rabbitmq-monitor来做。 工作原理 rabbitmq-monitor是一个cron,每分钟跑一次脚本rabbitmq-monitor.py,其中配置了RMQ的用户名&密码等,脚

  • 本文向大家介绍RabbitMQ 持久化有什么缺点?相关面试题,主要包含被问及RabbitMQ 持久化有什么缺点?时的应答技巧和注意事项,需要的朋友参考一下 持久化的缺地就是降低了服务器的吞吐量,因为使用的是磁盘而非内存存储,从而降低了吞吐量。可尽量使用 ssd 硬盘来缓解吞吐量的问题。