Azure Monitor Alerting

Deadly 提交于 2020-02-26 01:50:10

前面的文章中和大家一起讨论了如何使用Azure Monitor去收监视服务的运行状态以及系统的资源使用情况,来帮助我们了解系统的运行状况。但是想必大家都清楚,我们有很多工作要去完成,没有时间24小时的盯着监控屏幕,所以我们就需要在监控到问题时,通过邮件,短信,电话等告警方式来提示我们进行处理,从而确保系统的稳定运行。在Azure中,我们可以使用Alert来实现这一功能。

为了可以更好的使用Alert,我们需要了解如下事情:

指标警报和日志警报
在Azure Monitor我们有几种类型的警报。分别是指标警报、日志警报、活动日志警报和变更跟踪警报。今天我们将主要和大家讨论两个最基础的警报类型,即指标警报和日志警报。部分的指标警报可以不使用日志分析工作区(日志搜索)就可以创建的。也就是说,如果没有日志分析工作区(日志搜索),我们可能就不能创建“某些”指标警报。例如,要对虚拟机的内存发出警报,我们就需要一个日志分析工作区并使用Perf进行相关的查询。

指标警报比日志警报更快
以如下查询为例:
Perf | where CounterName == "% Committed Bytes In Use" and CounterValue > 90
上面这条查询语句是用来查询内存使用率超过90%的情况,若我们针对这个查询来设置alert,则他会执行与指标警报完全相同的操作,但是因为这是一个日志警报,需要收集相关数据信息并进行搜索。因此,浙江比将警报设置为度量劲爆稍慢一些

使用指标维度
当我们在Azure中设置alert时,我们需要确定好相应的维度。在此以虚拟机为例,我们可以选择对某些特定的VM设置警报,也可以选择使用“ * ” 来对当前工作区内的所有计算机和新增计算机设置警报。
Azure Monitor Alerting

因为我们的指标警报有很多个维度,所以在设置之前,需要仔细的查看对于的内容,确保我们所设置的指标是我们想要获得提醒的。
如下图中的一些指标标适用于Windows,而某些指标适用于Linux。例如,Windows计数器下没有可用内存百分比。
Azure Monitor Alerting

在日志警报上使用Project

在使用日志警报是,我强烈建议各位朋友使用project,使用project可以限制警报只发送必须的字段,这会对我们基于邮件的警报非常有帮助,同时也有助于我们触发LopicApps,Azure Functions和Azure Automation Runbook的自动修复操作组
例如我们可以使用此查询来查询后台打印机服务是否已经停止:

ConfigurationData
| where SvcName == "Spooler" and SvcState == "Stopped"
| project Computer, SvcName, SvcState, SvcDisplayName, TimeGenerated

使用上述语句查询出来的都是我所需要的数据,如触发警报的计算机、服务名称、服务状态、服务显示名称和生成时间。可以看出,通过Project可以只讲我们想要的数据发送到action group

通用警报架构
创建通用警报架构是为了使Metric,Log和活动日志警报之间的警报能够标准化,每个警报都有自己的模板和架构。
如果我们创建了Action Group,则我们会在这里看到这个“启用通用警报”按钮:
Azure Monitor Alerting

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!