在Zabbix中为RabbitMQ队列创建自定义触发器
针对RabbitMQ队列无消费者的Zabbix触发器实现方案
前提准备
- 确保Zabbix已通过官方RabbitMQ模板(或自定义监控项)采集到
rabbitmq_queue_consumers指标,该指标会返回每个队列的消费者数量。
最优批量实现:用低级别发现(LLD)自动生成触发器
这是适配200+队列的最简单、可扩展方案,无需手动创建单个触发器:
1. 确认LLD规则配置
如果使用官方RabbitMQ模板,默认已包含队列LLD规则(键值通常为rabbitmq_queues_discovery),会自动发现所有RabbitMQ队列。若为自定义监控,需先配置LLD规则自动拉取队列列表。
2. 添加模板级触发器原型
在RabbitMQ监控模板中创建触发器原型,LLD发现新队列后会自动生成对应触发器:
- 触发器名称:
{HOST.NAME}: 队列 {#QUEUE_NAME} 无消费者 - 表达式:
{Template RabbitMQ:rabbitmq_queue_consumers[{#QUEUE_NAME}].last()}=0 - 严重性:按需设置(如警告级别)
3. 可选:队列组过滤
若只需监控特定前缀/组的队列,可在LLD规则的过滤器中添加条件:
- 键:
{#QUEUE_NAME} - 运算符:匹配正则表达式
- 值:
^biz_.*(替换为实际队列组的正则匹配规则)
验证与扩展
- 配置完成后,等待Zabbix自动发现队列并生成触发器,可在「配置-触发器」中查看自动创建的条目
- 后续新增队列时,LLD会自动识别并生成对应触发器,无需手动干预
内容的提问来源于stack exchange,提问作者Al3zant
相关产品推荐
相关产品推荐

