在继续之前,您应该知道您可以立即使用WombatOAM 3.0.0进行45天免费试用来测试WombatOAM。
介绍
任何RabbitMQ安装中最重要和关键的元素是队列。 队列保留特定消息,这些消息是针对各个行业(例如电信,金融系统,汽车等)的不同用例的。 队列及其对AMQP的坚持本质上是“ 为什么 ” RabbitMQ存在。 它们不仅保留消息直到消耗,而且在内部,它们还是一些最复杂的机制的实现,以确保消息通过结构有效传播,同时满足诸如高可用性,消息持久性,规范的内存利用,等等。
因此,队列是通用的,是任何RabbitMQ安装的主要重点。 这就是为什么所有RabbitMQ用户和支持工程师经常发现自己必须定期对队列进行检查,并确保已对其主机Rabbit节点进行了精确配置,以确保有效的消息排队操作。 RabbitMQ用户和支持工程师往往会提出以下典型问题:
…队列“ A”中有多少条消息?
…队列“ K”中有多少消息正在等待确认?
…有多少消费客户订阅了队列“ R”?
…队列“ D”使用了多少内存?
…“ F”队列中有多少条消息被保留在磁盘上?
……队列“ E”还活着吗?
在RabbitMQ中,队列的实现是多个方面的组合,例如控制其操作的行为规范(例如,内部,称为后备队列行为),瞬态/持久消息存储组件,最重要的是,队列过程决定了排队逻辑中涉及的所有逻辑和机制。 通过这些属性,存在许多属性,这些属性指示了队列的当前状态。 这些队列属性中的一些如下所示:
袋熊
从WombatOAM 2.7.0开始,WombatOAM-RabbitMQ插件现在附带了一个附加代理,即RabbitMQ Queues代理。 经过精心设计和开发的RabbitMQ Queues代理可以监视和获取特定于Queue的度量,并以用户友好的方式向RabbitMQ用户呈现。 支持两种操作模式:
动态操作:WombatOAM动态加载受监视节点上存在的,名称与用户定义的正则表达式匹配的队列,以进行监视。 静态操作:按照WombatOAM RabbitMQ中的定义配置和监视特定队列
组态
该代理操作和显示指标的方式仅取决于其配置方式。
1.动态运行
可以通过定义匹配规范来配置监视队列的动态模式,从该匹配规范中按照以下说明匹配队列名称,并定义每个匹配队列中特定的所需属性/度量。 例如,要监视所有队列的memory使用情况,可以在wombat.config文件中定义以下配置:
{set, wo_plugins, plugins, rabbitmq_queues, dynamic_queues, [{match_spec, ".*"}, {metric, memory}] }. 这将捕获受监视节点上的所有队列,并从队列中显示memory指标。
2.静态操作
在静态操作模式下,用户在wombat.config明确指定要监视的队列和相应的属性/度量。 一个完整的静态配置条目将由“ 队列名称” ,“ 虚拟主机 ”和要测量的属性组成 。 例如,要监视来自SERVICES.QUEUE的messages数, consumers和memory使用量,以及仅EVENTS.QUEUE来自EVENTS.QUEUE的messages数,用户可以从wombat.config文件中指定以下配置:
{set, wo_plugins, plugins, rabbitmq_queues, static_queues, [{<<"SERVICES.QUEUE">>, <<"/">>, messages}, {<<"SERVICES.QUEUE">>, <<"/">>, memory}, {<<"SERVICES.QUEUE">>, <<"/">>, consumers}, {<<"EVENTS.QUEUE">>, <<"/">>, messages}]}. 如果您需要关键指标的连续可见性(例如消息计数和内存使用量)的指标,那么配置静态队列就非常重要。
下面举例说明了静态模式:
让“事物”更进一步!
结合我们对监视队列的讨论以及本系列针对RabbitMQ操作执行高级警报操作的 第1部分的讨论,想象通过定义特定于队列指标的警报可以实现多少个警报情况?
WombatOAM不仅为我们提供了我们可以处理的大量警报案例,而且还提供了有用的指标。 想象一下以下警报将多么有用:
“触发警报后,该警报将向您的团队发送电子邮件通知,指示您最关键的SERVICE.QUEUE中的消息数量刚刚达到500 000条消息,没有消耗消息的限制?”
要么:
“警报被配置为在使用客户的数量下降到某个最小允许数量以下时发出电子邮件通知,表明存在影响客户端问题的关键服务”
甚至更有趣:
“当队列中的单个内存使用量超过某个上限值时,将发出警报和电子邮件通知,如果超出该上限,则表明群集中出现了一个或多个问题。”
定义此类警报可以像在wombat.config配置以下内容一样简单,如下所示。
结论
因此,考虑到这些功能,想象一下可以针对WombatOAM进行监视的队列特定指标总数吗? 该数目可以是巨大的,并且仅受您正在运行的队列总数以及为监视配置/设置的属性数限制。 所有这一切都取决于您的配置。 准确地说,一个总共16个属性是每队列配置的上WombatOAM,总共16×N个队列的特定指标意思是可达到的 (哇!)。 试想一下,在RabbitMQ安装中,约50个或更多队列的队列计数? 可达到的度量标准功能的数量变得疯狂! 大约是50 x 16 =惊人的800个指标!!!
WombatOAM还提供了根据需要对队列进行排序的功能,因为可用队列度量标准的数量可能非常大。 获取指标的速率也是可配置的。 如果您希望减少收集度量标准的频率(当您有大量队列并配置了队列度量标准时,建议这样做),这可以通过简单地更新配置来实现。
Erlang Solutions提供世界领先的RabbitMQ咨询,支持和调整解决方案。 了解更多>
最初在 www.erlang-solutions.com上 发布 。
From: https://hackernoon.com/advanced-rabbitmq-support-part-ii-deeper-insight-into-queues-d8d7eab5d2e4