1

我将 Azure VM 用于个人目的,并且主要使用它,就像我使用笔记本电脑检查电子邮件等一样。但是,我有好几次在使用完毕后忘记停止 VM,因此让它闲置了好几天,如果不是几周,就会导致不必要的高额账单。

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

我看过顾问中的警报功能,但它似乎没有足够的自定义来处理这样一个特定的警报(这也会减少微软的收入!)。

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

4

1 回答 1

4

您可以使用 Log Analytics 工作区自定义日志搜索

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

第一的:

您需要根据此链接Log Analytics workspaces创建一个and 。connect to azure vm

编码:

1.在 azure 门户中,导航到Azure Monitor-> Alerts-> New alert rule

2.在“创建规则”页面中Resource,选择Log Analytics workspaces您之前创建的规则。截图如下:

在此处输入图像描述

那么对于Condition,请选择Custom 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:设置Period60,设置频率为5

截图如下:

在此处输入图像描述

注意

对于上述设置,我查询了Heartbeat表。对于正在运行的,它总是每分钟azure vm将数据发送到Heartbeat表的日志分析。因此,如果我想检查 azure vm 是否正在运行 1 小时(意味着它将 60 个数据发送到 Heartbeat 表),只需使用上述查询,并将Threshold 值设置为60

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

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

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

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

于 2019-12-23T08:30:20.440 回答