我正在Azure VM上运行python脚本。如果虚拟机出现故障,我想发送电子邮件通知,以便我知道脚本未运行。我找不到Logic Apps的方法。看看脚本是否不再发送信息会更容易?
答案 0 :(得分:0)
我不知道您的python脚本在做什么,但是一种选择是使用Application Insights。这篇文章显示了如何监视在Azure App Service中运行的Python App,但您也可以在Azure VM上使用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的属性。
逻辑应用程序流程如下图所示:
我初始化变量以检查状态,输入值为@{body('HTTP')['properties']['instanceView']['statuses'][1]['displayStatus']}
,并在条件下判断状态值是否等于VM deallocated
。如果VM正在运行,则值为VM running
。如果值为VM deallocated
,则将发送电子邮件以报告状态。