Azure 服务总线主题/队列监控,以使大小更接近它';s极限
我们在生产中有很多Azure服务总线主题/队列。任何给定的主题都有一个最大大小,并且由于与负载无关的各种原因,它可能达到该限制。附加到主题等的未使用订阅 由于我们有未使用的订阅,当一个主题达到其大小限制时,我们不止一次中断。 我们正在寻找基本的监控Azure 服务总线主题/队列监控,以使大小更接近它';s极限,azure,azureservicebus,azure-servicebus-topics,azure-monitoring,Azure,Azureservicebus,Azure Servicebus Topics,Azure Monitoring,我们在生产中有很多Azure服务总线主题/队列。任何给定的主题都有一个最大大小,并且由于与负载无关的各种原因,它可能达到该限制。附加到主题等的未使用订阅 由于我们有未使用的订阅,当一个主题达到其大小限制时,我们不止一次中断。 我们正在寻找基本的监控 如果主题大小>最大大小的X%,我们将收到一封电子邮件/ 通知 生产命名空间中的任何主题都应自动添加到 监测。dev可能忘记添加监控 将新主题添加到命名空间时 而2。拥有很好,但只有一个。也可以 Azure service bus当前在预览中有“指标”
将新主题添加到命名空间时
正在销售上述功能,但我的要求非常基本。是的,可以获取有关Azure Service Bus队列空间使用情况的详细信息。 下面是一个示例控制台应用程序(C#+.NET Framework 4.7+WindowsAzure.ServiceBus 4.1.10),用于计算给定队列中的可用空间。对主题使用主题描述
private static async Task GetFreeSpace(string connectionString, string queueName)
{
if (string.IsNullOrWhiteSpace(connectionString))
{
throw new ArgumentException("Service bus connection string cannot be null, empty or whitespace.");
}
if (string.IsNullOrWhiteSpace(queueName))
{
throw new ArgumentException("Service bus queue name cannot be null, empty or whitespace.");
}
NamespaceManager nm = NamespaceManager.CreateFromConnectionString(connectionString);
QueueDescription queueDescription = await nm.GetQueueAsync(queueName);
double spaceUsedInMB = 0;
double freeSpaceInMB = 0;
double percentageFreeSpace = 100;
if (queueDescription.SizeInBytes > 0)
{
spaceUsedInMB = (queueDescription.SizeInBytes / 1024.0 / 1024.0);
freeSpaceInMB = queueDescription.MaxSizeInMegabytes - spaceUsedInMB;
percentageFreeSpace = 100 * freeSpaceInMB / queueDescription.MaxSizeInMegabytes;
}
Console.WriteLine($"Max Size (MB) = {queueDescription.MaxSizeInMegabytes:0.00000}");
Console.WriteLine($"Used Space (MB) = {spaceUsedInMB:0.00000}");
Console.WriteLine($"Free Space (MB) = {freeSpaceInMB:0.00000}");
Console.WriteLine($"Free Space (%) = {percentageFreeSpace:0.00000}");
}
以下是packages.config文件内容:
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="WindowsAzure.ServiceBus" version="4.1.10" targetFramework="net47" />
</packages>
只要符合您的要求,就可以使用计时器自动执行此操作。有关详细信息,请访问
此外,根据文档,还可以使用PowerShell获取这些详细信息。队列/主题的大小现在在中提供。由于处于预览阶段,这些值可能不会立即反映出来。但是可以使用监控这些指标,这也处于预览阶段。您也可以查看CloudMonix,它可以做您想做的事情。如果你不想买,你需要建立自己的