在之前的一个项目中,我设法设置了一个警报规则,该规则会查看有害队列消息计数,并在队列中存在某些内容时(每天一次)使用 webhook 向 slack 发出警报。
我试图找到它在 Azure 中的位置,因为看起来事情已经发生了变化。如果这不是 azure 提供的功能,您能否提供有关实现类似功能的最佳途径的指导。
Thanks
我试图找到它在 Azure 中的位置,因为看起来事情已经发生了变化。如果这不是 azure 提供的功能,您能否提供有关实现类似功能的最佳途径的指导。
据我所知,目前azure没有提供发送警报规则来检查有害队列计数的功能。
您需要编写自己的逻辑来实现此要求。
我建议您可以考虑使用 webjob/azure 函数计时器触发器或队列触发器。
如果你想每5分钟检查一次毒物计数(例如),你可以选择定时器触发 https://github.com/Azure/azure-webjobs-sdk-extensions#timertrigger.
然后在定时器触发方法中,你可以使用近似消息数 https://learn.microsoft.com/en-us/dotnet/api/microsoft.windowsazure.storage.queue.cloudqueue.approximatemessagecount?view=azurestorage-8.1.3方法来获取队列消息的计数。
最后,您可以使用sendgrid将通知电子邮件发送到特殊帐户。
Codes:
//get the storage account from the connection string
CloudStorageAccount storageAccount = CloudStorageAccount.Parse(CloudConfigurationManager.GetSetting("StorageConnectionString"));
//instantiate the client
CloudQueueClient queueClient = storageAccount.CreateCloudQueueClient();
CloudQueue q = queueClient.GetQueueReference("queue-poison");
q.FetchAttributes();
var qCnt = q.ApproximateMessageCount;
如果您想获取新队列消息添加到有害队列中的时间。你可以选择队列触发 https://github.com/Azure/azure-webjobs-sdk/wiki/Queues。代码与定时器触发器相同,只是更改参数。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)