检查Azure虚拟机是否关闭

时间:2019-03-19 16:17:43

标签: azure virtual-machine azure-logic-apps

我正在Azure VM上运行python脚本。如果虚拟机出现故障,我想发送电子邮件通知,以便我知道脚本未运行。我找不到Logic Apps的方法。看看脚本是否不再发送信息会更容易?

2 个答案:

答案 0 :(得分:0)

我不知道您的python脚本在做什么,但是一种选择是使用Application Insights。这篇文章显示了如何监视在Azure App Service中运行的Python App,但您也可以在Azure VM上使用App Insights。

https://blogs.msdn.microsoft.com/najib/2018/05/11/monitoring-python-applications-with-azure-app-insights/

答案 1 :(得分:0)

您可以在Logic Apps中使用HTTP请求来调用Virtual Machines - Get方法以获取VM状态。 URI将如下所示:

GET https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}?$expand=instanceView&api-version=2018-06-01

有关详细信息,您可以参考此site。 URI中必须有$ expand = instanceView参数,因为statuses是instanceView的属性。

逻辑应用程序流程如下图所示:

enter image description here

enter image description here

我初始化变量以检查状态,输入值为@{body('HTTP')['properties']['instanceView']['statuses'][1]['displayStatus']},并在条件下判断状态值是否等于VM deallocated。如果VM正在运行,则值为VM running。如果值为VM deallocated,则将发送电子邮件以报告状态。

enter image description here