Azure托管RabbitMQ磁盘空间阈值告警邮件通知设置方案咨询
方案1:通过Azure Monitor配置告警(更推荐,无需修改RabbitMQ配置)
- 进入Azure Portal,找到托管RabbitMQ的虚拟机资源,在左侧导航栏的「监控」分类下选择「告警」
- 点击「创建」→「告警规则」,在信号列表中选择
逻辑磁盘可用空间或磁盘使用率百分比指标,选择RabbitMQ日志、数据所在的磁盘分区 - 阈值可设置为比RabbitMQ默认阻塞阈值更高的预警值:比如RabbitMQ默认剩余500MB就会阻塞消息,你可以将告警阈值设为剩余1GB或磁盘使用率80%,提前收到预警
- 操作组配置阶段选择添加「电子邮件」类型的通知,填写接收告警的邮箱地址,保存后规则即可生效
如果找不到磁盘相关指标,请先确认虚拟机已安装Azure Monitor Agent,已开启逻辑磁盘性能指标的采集开关
方案2:通过RabbitMQ内置功能配置告警
- 先修改RabbitMQ配置文件
rabbitmq.conf,设置你需要的磁盘低水位预警阈值,示例:disk_free_limit.absolute = 1GB,保存配置后重启RabbitMQ服务生效 - 开启RabbitMQ事件交换器插件,执行命令:
rabbitmq-plugins enable rabbitmq_event_exchange - 进入RabbitMQ Management后台,创建专属队列绑定到内置的
amq.rabbitmq.event交换器,路由键匹配disk.alarm类事件 - 编写简单的消费脚本监听该队列,收到磁盘告警事件时触发邮件推送即可
补充优化建议
- 针对此前cron job意外丢失的问题,建议将日志清理脚本托管到Azure自定义脚本扩展或配置管理工具中,避免本地任务意外消失;也可以额外加一条cron存活检测规则,定期校验清理任务是否正常运行
内容的提问来源于stack exchange,提问作者Fissure
相关产品推荐
相关产品推荐

