使用指标警报对 Azure 环境中的性能问题发出警报
Azure Monitor 可以使用阈值来监视特定资源。 在组织中,当服务器上的空闲磁盘空间占比小于五个百分点时得到通知要比每次保存文件时都得到通知有用得多。
作为一名解决方案架构师,你要为许多目标资源和实例实现常规阈值监视。 监视有助于在潜在问题影响到客户之前阻止这些问题。
在此单元中,你将研究 Azure Monitor 支持的不同种类的指标警报。
何时使用指标警报?
在 Azure Monitor 中,可以使用指标警报来实现对 Azure 资源的常规阈值监视。 Azure Monitor 定期运行指标警报触发条件。 评估为 true 时,Azure Monitor 将发送通知。 指标警报是有状态的,Azure Monitor 仅在满足先决条件时才发送通知。
例如,如果需要知道服务器 CPU 使用率何时达到临界阈值(比如 90%),那么指标警报可能非常有用。 可以在数据库存储太低或网络延迟即将达到不可接受的水平时收到警报。
指标警报的组合
如上一单元所述,所有警报都源自于管理这些警报的规则。 对于指标警报,还有一个因素需要定义:条件类型。 它可以是静态的或动态的。
必须定义用于静态或动态指标警报的统计分析类型。 示例类型包括最小值、最大值、平均值和总计值。 在本例中,你将定义待评估数据的时段:最近 10 分钟。 最后,设置检查警报条件的频率:每隔两分钟检查一次。
使用静态阈值指标警报
静态指标警报基于你定义的简单静态条件和阈值。 使用静态指标,可以指定用于触发警报或通知的阈值。
在先前定义的方案中,阈值为 85% CPU 使用率的静态警报每两分钟检查一次规则。 它评估最后 10 分钟的 CPU 使用率数据,以评估其是否高于阈值。 如果评估为 true,警报将触发与操作组相关联的操作。
使用动态阈值指标警报
动态指标警报使用 Azure 提供的机器学习工具来自动提高初始规则定义的阈值的准确性。
动态指标中没有硬阈值。 但是,你需要再定义两个参数:
回溯期定义需要评估几个历史时段。 例如,如果将回溯期设置为 3,则在此处使用的示例中,评估的数据范围将为 30 分钟(三组 10 分钟)。
冲突数表示在警报规则触发通知之前,逻辑条件必须偏离预期行为的次数。 在本例中,如果将冲突数设置为 2,则警报会在与计算阈值偏离两次之后触发。
了解维度
到目前为止,我们讨论的评估的指标警报只针对单个目标实例。 Azure Monitor 支持维度,从而能够从多个目标实例中提供监视数据。
可以使用维度定义一个指标警报规则并将其应用于多个相关实例。 例如,可监视运行应用的所有服务器上的 CPU 使用率。 然后,你可以在触发规则条件时接收每个服务器实例的单个通知。
可以通过专门命名每个目标实例来定义维度,也可以使用星号 (*) 通配符来定义维度,这会使用所有可用实例。
缩放指标警报
与维度非常相似,Azure Monitor 支持创建用于监视多个资源的指标警报。 缩放功能目前仅限于 Azure 虚拟机。 不过,单个指标警报可以监视一个 Azure 区域中的资源。
创建用于监视多个资源的缩放指标警报规则与创建任何其他指标警报规则没有什么不同:只需选择要监视的所有资源即可。
与维度一样,缩放指标警报单独用于触发它的资源。