我将 Azure VM 用于个人目的,并且主要使用它,就像我使用笔记本电脑检查电子邮件等一样。但是,我有好几次在使用完毕后忘记停止 VM,因此让它闲置了好几天,如果不是几周,就会导致不必要的高额账单。
我想设置一个电子邮件(如果可能的话还有短信和推送通知)警报。
我看过顾问中的警报功能,但它似乎没有足够的自定义来处理这样一个特定的警报(这也会减少微软的收入!)。
您知道设置此类警报的任何相对简单的方法吗?
我将 Azure VM 用于个人目的,并且主要使用它,就像我使用笔记本电脑检查电子邮件等一样。但是,我有好几次在使用完毕后忘记停止 VM,因此让它闲置了好几天,如果不是几周,就会导致不必要的高额账单。
我想设置一个电子邮件(如果可能的话还有短信和推送通知)警报。
我看过顾问中的警报功能,但它似乎没有足够的自定义来处理这样一个特定的警报(这也会减少微软的收入!)。
您知道设置此类警报的任何相对简单的方法吗?
您可以使用 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 on
为Number of results
,设置Operator
为Equal to
,设置Threshold value
为60
。
对于Evaluated based on
:设置Period
为60
,设置频率为5
。
截图如下:
注意:
对于上述设置,我查询了Heartbeat表。对于正在运行的,它总是每分钟azure vm
将数据发送到Heartbeat表的日志分析。因此,如果我想检查 azure vm 是否正在运行 1 小时(意味着它将 60 个数据发送到 Heartbeat 表),只需使用上述查询,并将Threshold 值设置为60。
另一件事是Period,它也需要设置为 1 小时(60 分钟),因为我只是检查 azure vm 是否运行了 1 小时;对于Frequecy,您可以将其设置为您喜欢的任何值。
如果您理解我的解释,您可以根据需要更改这些值。
最后,设置此警报的其他设置。
如果您对此还有更多问题,请告诉我。