警报

 

适用对象:System Center 2012 R2 Operations Manager, System Center 2012 - Operations Manager, System Center 2012 SP1 - Operations Manager

可以利用规则或监视器生成 Operations Manager 中的警报。 虽然操作控制台未区分每种类型,但在定义监视器和规则时,你应该了解这两者之间的差异。 以下部分提供了一些警报属性,在将监视器配置为生成警报时,或者如果创建警报规则,则需要定义这些属性。

监视器的警报

只有当以下每项均成立时才会从监视器中生成警报:

  • 将监视器配置为生成警报。

  • 监视器的运行状况状态已从正常状态更改为警告或错误状态,具体取决于可能的监视器运行状况状态。

  • 相同监视器创建的相同对象还没有打开的警报。

只有当监视器的运行状况状态从“正常”状态发生更改时,才会从监视器中生成警报。 即使错误情况的条件可能出现多次,在将监视器的运行状况状态设置为“警告”或“严重”后也不会生成多个警报。 只有在监视器的运行状况状态返回为“正常”并且再次出现错误条件之后,才将生成新警报。

例如,假设有一个 Windows 事件监视器,此监视器被配置为在检测到编号为 101 的事件时设置“严重”状态,以及在检测到编号为 100 的事件时重置监视器。 创建第一个 101 事件时,监视器被设置为“严重”状态并生成警报。 虽然你可以关闭此警报,但如果检测到其他 101 事件,则不会创建新警报,因为监视器未更改其状态。 只有在重置此监视器(通过检测 100 事件来重置或由你手动重置)并且检测到 101 事件之后,才将生成警报。

警报名称

此警报的名称为一行静态文本,并且不能包括任何变量。

优先级和严重性

警报严重性将警报定义为“信息”、“警告”或“严重”。 此严重性不必与触发警报的运行状况状态的严重性匹配。 警报严重性由操作控制台中的图标来标识,并且由视图和通知订阅所使用。 警报优先级在操作控制台中不可访问,但主要用于通知订阅。

警报描述

警报描述可能具有若干行文本,其中包括静态文本和变量的组合。 警报描述中最常见类型的变量将是 $Data 变量,用于在警报描述中包括监视器数据源中的不同信息。 可用的属性将取决于正在使用的数据源的类型。

下表提供了利用监视器创建的警报中变量的语法和示例。

数据源

语法

示例

Windows 事件

        $Data/Context/<Property Name>$
      
        $Data/Context/EventDescription$
      
        $Data/Context/Params/Param[#]$
      
        $Data/Context/Params/Param[2]$
      

文本日志

        $Data/Context/<Property Name>$
      
        $Data/Context/LogFileName$
      
        $Data/Context/Params/Param[1]$
      
        $Data/Context/Params/Param[1]$
      

分隔的文本日志

        $Data/Context/<Property Name>$
      
        $Data/Context/LogFileName$
      
        $Data/Context/Params/Param[#]$
      
        $Data/Context/Params/Param[2]$
      

WMI 事件

        $Data/Context/Collection[@Name='<TargetInstance|PreviousInstance>']/Property[@Name='<PropertyName>']$
      
        $Data/Context/Collection[@Name=’TargetInstance’]/Property[@Name='Name']$
      

Windows 性能

        $Data/Context/<PropertyName>]$
      
        $Data/Context/Value$
      

WMI 性能

        $Data/Context/<PropertyName>]$
      
        $Data/Context/Value$
      

监视脚本

        $Data/Context/Property[@Name='<PropertyName>']$
      
        $Data/Context/Property[@Name='Result'>']$
      

自动警报解决

可以将创建警报的监视器配置为当监视器恢复正常状态时自动解决警报。 这意味着任何未解决的监视器警报都表示仍然存在的问题。 除了确认执行自动解决的选项之外,不需要进行配置。

System_CAPS_note注意

无法使用规则执行自动警报解决,因为规则根本无法检测是否已经更正了问题。

规则的警报

只有在以下条件下才将根据规则生成警报:

  • 将规则配置为生成警报。

  • 规则中定义的条件成立。

  • 与警报抑制配置匹配的打开的警报还不存在。

下表讨论了每种类型的规则生成警报的能力。

规则类型

警报功能

事件规则

可以为每个事件数据源创建警报规则。 所指定的用于确定警报创建时间的条件与事件监视器中状态更改的条件相同。

性能规则

你无法根据性能计数器创建警报规则。 应该改用监视器,因为成功条件通常可从性能计数器中检测出来并且通常与目标类的某种运行状况状态相关。

脚本规则

你无法根据脚本创建警报规则。 应该改用监视器,因为脚本通常会以某种方式为错误状态和正常状态提供返回值,通过此方式,成功条件通常可被检测出来并且与目标类的某种运行状况状态相关。

警报名称

此警报的名称为一行静态文本,并且不能包括任何变量。

优先级和严重性

警报严重性将警报定义为“信息”、“警告”或“严重”。 此严重性不必与触发警报的运行状况状态的严重性匹配。 警报严重性由操作控制台中的图标来标识,并且由视图和通知订阅所使用。 警报优先级在操作控制台中不可访问,但主要用于通知订阅。

警报描述

警报描述可能具有若干行包括静态文本或变量的文本。 警报描述中最常见类型的变量将是 $Data 变量,用于在警报描述中包括规则数据源中的不同信息。 可用的属性将取决于正在使用的数据源的类型。数据源的每个部分都包含可用于不同数据源的属性的列表。

下表提供了利用规则创建的警报中变量的语法和示例:

数据源

语法

示例

Windows 事件

        $Data/<Property Name>$
      
        $Data/EventDescription$
      
        $Data/Params/Param[#]$
      
        $Data/Params/Param[2]$
      

文本日志

        $Data/EventData/DataItem/<PropertyName>$
      
        $Data/EventData/DataItem/LogFileName$
      
        $Data/EventData/DataItem/Params/Param[1]$
      
        $Data/EventData/DataItem/Params/Param[1]$
      

分隔的文本日志

        $Data/EventData/DataItem/<PropertyName>$
      
        $Data/EventData/DataItem/LogFileName$
      
        $Data/EventData/DataItem/Params/Param[#]$
      
        $Data/EventData/DataItem/Params/Param[2]$
      

WMI 事件

        $Data/EventData/DataItem/Collection[@Name='<TargetInstance | PreviousInstance>']/Property[@Name='<PropertyName>']$
      
        $Data/EventData/DataItem/Collection[@Name='TargetInstance']/Property[@Name='Name']$
      

系统日志事件

        $Data/EventData/DataItem/<PropertyName>$
      
        $Data/EventData/DataItem/Facility$
      

警报抑制

“警报抑制”是指在警报规则上定义的逻辑,用于在对应的警报仍然打开时抑制创建警报。 这会防止为相同问题创建多个警报的警报风暴。 因为已经通过打开的警报找出了问题,所以创建其他警报时会利用最小值创建不必要的噪声。 当满足警报规则条件但现有警报已经打开时,抑制将不会创建其他警报,而是会增加现有警报的重复计数。

为了在警报规则上定义抑制,必须指定标识匹配警报的字段。 在警报规则创建新警报之前,它将检查是否存在符合以下条件的打开的警报:为抑制定义的字段的值与新警报的相同字段中的值匹配。 如果打开了具有其中每个字段的匹配值的警报,则不会创建新警报。

应该为警报抑制指定唯一标识警报的字段的最小数目。 这通常将是计算机名称以及用于规则条件的字段。 例如,可以使用以下字段频繁地实现事件规则上的抑制:

  • 记录计算机

  • 事件来源

  • 事件编号

但是,如果规则针对在代理上具有多个实例的类,则参数可能需要唯一标识规则条件中的事件。 如果是这种情况,则应该在警报抑制中指定相同的参数。

System_CAPS_note注意

警报抑制无法用于监视器,因为监视器不需要警报抑制。 监视器仅在其状态从正常更改为警告或严重时才生成警报。 即使在监视器已处于相反状态时再次出现了检测到的问题,也不会生成警报,因为监视器状态未更改。 只有在出现问题之前监视器恢复正常状态才会生产新警报。