X 小时的 Azure 虚拟机 运行 警报?

Alert for Azure Virtual Machine running for X hours?

我将 Azure VM 用于个人目的,主要是像使用笔记本电脑查看电子邮件等一样使用它。但是,我有好几次忘记在使用完 VM 后停止 VM,因此拥有了它运行 几天(如果不是几周的话)闲置,导致不必要的高账单。

我想设置电子邮件(如果可能的话还有短信和推送通知)提醒。

我查看了advisor中的告警功能,但它似乎没有足够的自定义来处理这种特定的告警(这也会减少微软的收入!)。

您知道设置此类警报的相对简单的方法吗?

您可以使用 Log Analytics workspaces and Custom log search

以下是创建警报的步骤,如果 azure 虚拟机 运行 恰好 1 小时,它将发送警报。

第一个:

您需要根据此 link.

创建 Log Analytics workspacesconnect to azure vm

森科德:

1.In Azure 门户,导航至 Azure Monitor -> Alerts -> New alert rule.

2.In "Create rule" 页面,Resource,select Log Analytics workspaces 您之前创建的页面。截图如下:

那么Condition,请selectCustom log search。截图如下:

然后在Configure signal logic页面中,在Search query中输入以下查询:

Heartbeat
| where Computer == "yangtestvm" //this is your azure vm name
| order by TimeGenerated desc 

对于Alert logic:设置Based onNumber of results,设置OperatorEqual to,设置Threshold value60 .

对于Evaluated based on:将Period设置为60,将频率设置为5

截图如下:

注意

以上设置,我查询的是Heartbeattable。对于 azure vm 即 运行,它始终将数据发送到日志分析 Heartbeat table 每分钟 .因此,如果我想检查 azure 虚拟机是否 运行 恰好 1 小时(意味着它向 Heartbeat table 发送 60 个数据),只需使用上面的查询,并设置 阈值60.

另一件事是 Period,它也需要设置为 1 小时(60 分钟),因为我只是检查 azure vm 是否 运行 for 1小时;对于 Frequecy,您可以设置任何您喜欢的值。

如果您理解我的解释,您可以根据需要更改这些值。

最后,设置此警报的其他设置。

如果您对此还有更多问题,请告诉我。