You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于多个Service Bus队列消息总数配置Azure VMSS自动缩放规则

基于多区域Service Bus队列消息总数配置VMSS自动缩放规则

要实现基于多个跨区域Service Bus队列消息总数的VMSS自动缩放,需先汇总多队列指标,再关联到VMSS的自动缩放规则,具体步骤如下:

一、准备多队列指标采集

  • 确保所有目标Service Bus命名空间(含跨区域的)已开启指标诊断设置,将QueueMessagesCount(队列消息总数)指标发送到同一个Log Analytics工作区。
  • 记录每个队列的资源ID:可在Azure门户的Service Bus队列「属性」中获取,格式为/subscriptions/{订阅ID}/resourceGroups/{资源组}/providers/Microsoft.ServiceBus/namespaces/{命名空间}/queues/{队列名}。

二、创建汇总型自定义指标

由于VMSS自动缩放默认仅支持单指标触发,需先将多队列消息数汇总为一个统一指标:

  1. 进入Azure Monitor → 日志页面,编写并验证Kusto查询,确保能正确计算所有目标队列的消息总数:
    AzureMetrics
    | where ResourceProvider == "MICROSOFT.SERVICEBUS"
    | where MetricName == "QueueMessagesCount"
    | where ResourceId in ("{队列1资源ID}", "{队列2资源ID}", "{队列3资源ID}") // 替换为你的队列ID列表
    | summarize TotalMessages = sum(Maximum) by bin(TimeGenerated, 1m) // 按1分钟粒度汇总总数
    
  2. 点击查询页顶部的「创建」→「指标规则」,完成自定义指标配置:
    • 命名指标(如TotalCrossRegionQueueMessages),设置时间粒度(建议1-5分钟),聚合方式选择Sum。
    • 完成创建后,该汇总指标会同步到Azure Monitor指标库。

三、配置VMSS自动缩放规则

  1. 打开目标VMSS的自动缩放页面,选择「自定义自动缩放」模式。
  2. 在「规则」标签页点击「添加规则」:
    • 指标来源选择「其他资源」,找到承载自定义指标的Log Analytics工作区。
    • 指标命名空间选择LogAnalytics,指标名称选择刚才创建的TotalCrossRegionQueueMessages。
    • 设置缩放阈值:例如当总数>1500时,每次增加2个实例;当总数<300时,每次减少1个实例。
    • 配置实例数限制:设置最大/最小实例数,避免超出资源配额或缩容至0。
  3. 保存自动缩放配置,规则会按设定的粒度自动触发缩放。

四、跨场景注意事项

  • 跨区域延迟适配:跨区域队列的指标采集存在延迟,建议将自动缩放的冷却时间设置为5-10分钟,避免频繁缩放。
  • 权限校验:确保VMSS的自动缩放服务主体拥有Log Analytics工作区的读取权限,以及自定义指标的访问权限。
  • 监控验证:配置完成后,可在Azure Monitor的指标 explorer 中查看汇总指标的变化,验证缩放规则是否正常触发。

内容的提问来源于stack exchange,提问作者Sachin Joseph

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 07:47:18