如何通过Azure门户或AZ CLI检测Service Bus是否在用及获取Namespace?
检测Azure Service Bus是否在使用(门户+AZ CLI)
一、关于<your-namespace>的说明
<your-namespace>指的是你的Service Bus命名空间名称,获取方式:
- 门户端:直接进入Service Bus资源,页面顶部显示的名称就是命名空间名;
- CLI端:执行以下命令,输出的
name字段即为命名空间名称:
az servicebus namespace list --resource-group <你的资源组名> --query "[].name" --output table
二、你原方法的局限性
仅检查命名空间下是否存在队列/主题,无法判断Service Bus是否在使用——因为队列/主题可能创建后从未被访问过,必须结合使用指标(消息流量、连接数等)才能准确判断。
三、AZ CLI检测方法
1. 获取命名空间基础信息
先确认目标命名空间:
az servicebus namespace list --resource-group <你的资源组名> --output table
2. 查看命名空间级使用指标
通过监控指标判断整体使用情况,比如查看过去7天的流入消息量:
az monitor metrics list \ --resource "/subscriptions/<你的订阅ID>/resourceGroups/<你的资源组名>/providers/Microsoft.ServiceBus/namespaces/<你的命名空间名>" \ --metric "IncomingMessages" \ --start-time $(date -d "-7 days" +%Y-%m-%dT00:00:00Z) \ --end-time $(date +%Y-%m-%dT00:00:00Z) \ --output table
常用指标说明:
IncomingMessages:流入消息数,大于0表示有消息发送OutgoingMessages:流出消息数,大于0表示有消息接收ActiveConnections:活跃连接数,大于0表示有客户端连接
3. 查看单个队列/主题的使用指标
如果需要精准判断某个队列/主题是否被使用:
# 查看指定队列的流入消息 az monitor metrics list \ --resource "/subscriptions/<你的订阅ID>/resourceGroups/<你的资源组名>/providers/Microsoft.ServiceBus/namespaces/<你的命名空间名>/queues/<队列名>" \ --metric "IncomingMessages" \ --start-time $(date -d "-7 days" +%Y-%m-%dT00:00:00Z) \ --end-time $(date +%Y-%m-%dT00:00:00Z) \ --output table # 查看指定主题的流入消息 az monitor metrics list \ --resource "/subscriptions/<你的订阅ID>/resourceGroups/<你的资源组名>/providers/Microsoft.ServiceBus/namespaces/<你的命名空间名>/topics/<主题名>" \ --metric "IncomingMessages" \ --start-time $(date -d "-7 days" +%Y-%m-%dT00:00:00Z) \ --end-time $(date +%Y-%m-%dT00:00:00Z) \ --output table
四、Azure门户检测方法
- 登录Azure门户,找到目标Service Bus命名空间;
- 在左侧菜单的「监控」分类下,选择「指标」;
- 在指标页面:
- 选择要查看的指标(比如
Incoming Messages、Active Connections); - 设置时间范围(推荐选过去7天或30天);
- 如果指标曲线有数值波动,说明Service Bus正在被使用;若持续为0,则大概率未被使用;
- 选择要查看的指标(比如
- 如需查看单个队列/主题的使用情况,进入对应队列/主题的「指标」页面,重复上述步骤;
- 另外,可查看「活动日志」,筛选「写入」「读取」类操作,确认近期是否有相关访问记录。
内容的提问来源于stack exchange,提问作者Kirsty
相关产品推荐
相关产品推荐

