Azure角色失败通知

时间:2014-08-20 11:43:14

标签: azure notifications infrastructure azure-cloud-services

我有一个Azure Cloud Service负载均衡超过2个角色,最近添加了一个自定义LoadBalancerProbe。

我遇到的问题是,在我的网站中,我有一个线程化的任务,抛出未处理的异常,其中5个未处理的异常导致该角色报告自己不健康。我已经通过处理这些未处理的异常来解决这个问题,但是,我们有一个庞大的团队,我担心这可能会因未来的发布而再次发生。

我想设置一个azure通知(最好是电子邮件),让我知道我的一个角色报告自己不健康。我在网上环顾四周但找不到任何帮助。有人曾经这样做过吗?这更像是一种预防措施,但我很想实现这一点。

提前感谢您提供的任何帮助

1 个答案:

答案 0 :(得分:2)

我知道,平台上没有关于此的警报,但你可以做一些编码/脚本来完成这项工作。您可以使用任何SDK,Microsoft Azure管理库或命令行工具来访问Azure Management API,但对于我的示例,我将使用PowerShell。我没有完全执行此操作的脚本,但主要部分是获取实例状态,例如:

$NonReadyInstances = (Get-AzureDeployment $serviceName -Slot Production -verbose:$false).RoleInstanceList | Where-Object { $_.InstanceStatus -ne "ReadyRole" }

这将获得所有未处于就绪状态的实例;但是,您可能希望在系统扩展等时筛选出其他几个有效的实例状态。您可以使用list of valid instances states来确定要通知哪些实例。例如,在你的情况下,我认为CyclingRole或RestartingRole是值得关注的。

检查$ NonReadyInstances变量中返回的项目数,如果大于零,则发送电子邮件。把它放在脚本中并定期运行。

如果您不熟悉Azure PowerShell Cmdlet,可以使用以下链接进行入门和设置。 - http://msdn.microsoft.com/en-us/library/jj156055.aspx

此外,如果您想在不使用自己的计算机运行它的情况下运行此自动化预览服务,请点击此链接 - http://azure.microsoft.com/en-us/services/automation/