1 条件

概述

可以定义某个动作仅在事件匹配一组指定条件时才执行。 配置配置操作时设置条件。

条件匹配区分大小写。

触发器动作

以下条件可用于基于触发器的操作:

条件类型 支持的运算符 描述
Host group equals
does not equal
指定要包含的主机组或要排除的主机组。
等于 - 事件属于此主机组。
不等于 - 事件不属于此主机组。
指定父主机组将隐式选择所有嵌套的主机组。若仅指定父组,则所有嵌套组必须额外使用不等于操作符进行设置。
Template equals
does not equal
指定要排除的模板或模板。
等于 - 事件属于从此模板继承的触发器。
不等于 - 事件不属于从此模板继承的触发器。
Host equals
does not equal
指定 主机 或 主机 以排除。
等于 - 事件属于此 主机。
不等于 - 事件不属于此 主机。
Tag name equals
does not equal
contains
does not contain
指定要排除的事件标签或事件标签。
等于 - 事件包含此标签。
不等于 - 事件不包含此标签。
包含 - 事件有一个包含此 string 的标签。
不包含 - 事件没有包含此 string 的标签。
Tag value equals
does not equal
contains
does not contain
指定要排除的事件标签和值组合。
等于 - 事件包含此标签和值。
不等于 - 事件不包含此标签和值。
包含 - 事件的标签和值中包含这些字符串。
不包含 - 事件的标签和值中不包含这些字符串。
Trigger equals
does not equal
指定要排除的触发器或触发器。
等于 - 事件由此触发器生成。
不等于 - 事件由除该触发器外的任何其他触发器生成。
Event name contains
does not contain
在触发器生成的事件名称中指定一个要包含的 string 或一个要排除的 string。默认情况下,事件名称与触发器名称匹配,除非在 trigger configuration 中指定了自定义事件名称。
包含 - 事件名称包含此 string。
不包含 - 此 string 从事件名称中排除。
注意:输入的值将与事件名称进行比较,并会展开所有宏。
Trigger severity equals
does not equal
is greater than or equals
is less than or equals
指定触发器严重性。
等于 - 等于触发器严重性。
不等于 - 不等于触发器严重性。
大于等于 - 大于或等于触发器严重性。
小于等于 - 小于或等于触发器严重性。
Time period in
not in
指定一个时间段或要排除的时间段。
in - 事件时间在时间段内。
not in - 事件时间不在时间段内。
格式描述请参见 time period specification 页面。
支持 User macros
Problem is suppressed no
yes
指定问题是否因主机维护而被抑制(不显示)。
no - 问题未被抑制。
yes - 问题被抑制。

服务动作

以下条件可用于服务操作:

条件类型 支持的运算符 描述
Service equals
does not equal
指定一个服务或要排除的服务。
等于 - 事件属于此服务。
不等于 - 事件不属于此服务。
指定父服务会隐式选择所有子服务。如果只想指定父服务,则所有嵌套的服务必须额外使用 不等于 运算符进行设置。
Service name contains
does not contain
指定服务名称中的一个 string 或要排除的 string。
包含 - 事件由名称中包含此 string 的服务生成。
不包含 - 在服务名称中找不到此 string。
Service tag name equals
does not equal
contains
does not contain
指定一个事件标签或要排除的事件标签。服务事件标签可以在服务配置部分 Tags 中定义。
等于 - 事件具有此标签。
不等于 - 事件没有此标签。
包含 - 事件具有包含此 string 的标签。
不包含 - 事件没有包含此 string 的标签。
Service tag value equals
does not equal
contains
does not contain
指定一个事件标签和值的组合或要排除的标签和值的组合。服务事件标签可以在服务配置部分 Tags 中定义。
等于 - 事件具有此标签和值。
不等于 - 事件没有此标签和值。
包含 - 事件具有包含这些字符串的标签和值。
不包含 - 事件没有包含这些字符串的标签和值。

确保在 Alerts → Media types 菜单中为服务操作定义 概述
否则,通知将不会发送。

发现动作

以下条件可用于基于发现的事件:

条件类型 支持的操作符 描述
Host IP equals
does not equal
指定一个IP地址范围或要排除的范围用于发现的 主机。
等于 - 主机 IP 在该范围内。
不等于 - 主机 IP 不在该范围内。
可能具有以下格式:
单个IP:192.168.1.33
IP地址范围:192.168.1-10.1-254
IP掩码:192.168.4.0/24
列表:192.168.1.1-254, 192.168.2.1-100, 192.168.2.200, 192.168.4.0/24
列表格式中支持空格。
Service type equals
does not equal
指定一个发现服务的服务类型或要排除的服务类型。
等于 - 匹配发现的服务。
不等于 - 不匹配发现的服务。
可用服务类型:SSH、LDAP、SMTP、FTP、HTTP、HTTPS、POP、NNTP、IMAP、TCP、Zabbix agent、SNMPv1 agent、SNMPv2 agent、SNMPv3 agent、ICMP ping、telnet。
Service port equals
does not equal
指定一个发现服务的TCP端口范围或要排除的范围。
等于 - 服务端口在该范围内。
不等于 - 服务端口不在该范围内。
Discovery rule equals
does not equal
指定一个发现规则或要排除的发现规则。
等于 - 使用此发现规则。
不等于 - 使用除该规则外的任何其他规则。
Discovery check equals
does not equal
指定一个发现检查或要排除的发现检查。
等于 - 使用此发现检查。
不等于 - 使用除该检查外的任何其他检查。
Discovery object equals 指定发现的 object。
等于 - 等于发现的 object(设备或服务)。
Discovery status equals Up - 匹配 '主机 Up' 和 'Service Up' 事件。
Down - 匹配 '主机 Down' 和 'Service Down' 事件。
Discovered - 匹配 '主机 Discovered' 和 'Service Discovered' 事件。
Lost - 匹配 '主机 Lost' 和 'Service Lost' 事件。
Uptime/Downtime is greater than or equals
is less than or equals
'主机 Up' 和 'Service Up' 事件的运行时间。'主机 Down' 和 'Service Down' 事件的停机时间。
大于等于 - 大于或等于。参数以秒为单位。
小于等于 - 小于或等于。参数以秒为单位。
Received value equals
does not equal
is greater than or equals
is less than or equals
contains
does not contain
指定从发现规则中的 agent(Zabbix、SNMP)检查接收到的值。string 比较。如果规则配置了多个 Zabbix agent 或 SNMP 检查,则会检查每个检查接收到的值(每个检查生成一个新事件,该事件与所有条件匹配)。
等于 - 等于该值。
不等于 - 不等于该值。
大于等于 - 大于或等于该值。
小于等于 - 小于或等于该值。
包含 - 包含子字符串。参数以 string 形式给出。
不包含 - 不包含子字符串。参数以 string 形式给出。
Proxy equals
does not equal
指定一个 proxy 或要排除的 proxy。
等于 - 使用此 proxy。
不等于 - 使用除该规则外的任何其他 proxy。

发现规则中的服务检查,导致发现事件,并不会同时发生。因此,如果在动作中为 Service typeService portReceived value 条件配置了多个值,它们将逐个与发现事件进行比较,但不会同时与多个事件进行比较。结果是,对于相同检查类型的多个值,动作可能无法正确执行。

自动注册动作

以下条件可用于基于主动 agent 的操作 自动注册

条件类型 支持的运算符 描述
Host metadata contains
does not contain
matches
does not match
指定要包含的主机元数据或要排除的主机元数据。
包含 - 主机元数据包含string。
不包含 - 主机元数据不包含string。
可以在agent configuration file中指定主机元数据。
匹配 - 主机元数据匹配正则表达式。
不匹配 - 主机元数据不匹配正则表达式。
Host name contains
does not contain
matches
does not match
指定要包含的一个主机名称或要排除的一个主机名称。
包含 - 主机名包含string。
不包含 - 主机名不包含string。
匹配 - 主机名与正则表达式匹配。
不匹配 - 主机名与正则表达式不匹配。
Proxy equals
does not equal
指定一个proxy或排除一个 proxy。
等于 - 使用此 proxy。
不等于 - 使用除这个以外的任何其他 proxy。

内部事件动作

可以根据内部事件为动作设置以下条件:

条件类型 支持的操作符 描述
Event type equals 监控项 处于 "not supported" 状态 - 匹配事件中某个 监控项 从“正常”状态变为“不支持”状态。
低级别自动发现规则处于 "not supported" 状态 - 匹配事件中低级别自动发现规则从“正常”状态变为“不支持”状态。
触发器处于 "unknown" 状态 - 匹配事件中触发器从“正常”状态变为 '未知' 状态。
Host group equals
does not equal
指定要包含的 主机 组或要排除的 主机 组。
等于 - 事件属于此 主机组。
不等于 - 事件不属于此 主机组。
Tag name equals
does not equal
contains
does not contain
指定事件标签或要排除的事件标签。
等于 - 事件包含此标签。
不等于 - 事件不包含此标签。
包含 - 事件包含包含此 string 的标签。
不包含 - 事件不包含包含此 string 的标签。
Tag value equals
does not equal
contains
does not contain
指定事件标签和值的组合或要排除的标签和值的组合。
等于 - 事件包含此标签和值。
不等于 - 事件不包含此标签和值。
包含 - 事件包含包含这些字符串的标签和值。
不包含 - 事件不包含包含这些字符串的标签和值。
Template equals
does not equal
指定模板或要排除的模板。
等于 - 事件属于从此模板继承的 监控项/触发器/低级别自动发现规则。
不等于 - 事件不属于从此模板继承的 监控项/触发器/低级别自动发现规则。
Host equals
does not equal
指定要包含的 主机 或要排除的 主机。
等于 - 事件属于此 主机。
不等于 - 事件不属于此 主机。

计算类型

可使用以下条件计算方式:

  • And - 所有条件都必须满足

请注意,当多个触发器被选作 Trigger= 条件时,不允许使用 "And" 计算方式。动作只能基于一个触发器的事件执行。

  • Or - 满足其中一个条件即可
  • And/Or - 两种方式的组合:不同条件类型之间使用 AND,相同条件类型之间使用 OR。例如:

主机组 等于 Oracle 服务器
主机组 等于 MySQL 服务器
事件名称 包含 '数据库已宕机'
事件名称 包含 '数据库不可用'

将被评估为:

(主机组 等于 Oracle 服务器 or 主机组 等于 MySQL 服务器) and (事件名称 包含 '数据库已宕机' or 事件名称 包含 '数据库不可用')

  • 自定义表达式 - 用户定义的动作条件计算公式。该表达式必须包含所有条件(以大写字母 A、B、C 等表示),可以包含空格、制表符、括号 ( )、and(区分大小写)、or(区分大小写)、not(区分大小写)。

前一个使用 And/Or 的示例将表示为 (A or B) and (C or D),而在自定义表达式中,还可以使用其他多种计算方式:

(A and B) and (C or D)
(A and B) or (C and D)
((A or B) and C) or D
(not (A or B) and C) or not D
等等。

删除动作中使用的对象

当尝试delete在动作条件/操作中使用的objects时,用户将收到相应的错误消息。

如果动作条件或操作包含以下情况,则不会禁用动作:

  • 包含已删除的objects;
  • 包含不再被低级别自动发现发现并已被移除的objects(在“删除丢失资源”周期之后)。

如果条件/操作中包含缺失的objects,它们不会被移除。相反,已删除的objects将显示为“已删除的主机组”、“已删除的主机”、“已删除的触发器”等。在动作列表的“信息”列中会显示一个警告图标,并提示消息:“此动作的条件或操作引用了已删除的object(s)”。

请注意,在 Zabbix 7.0.10 之前,如果在动作条件/操作中使用的某个object(主机、模板、触发器等)被删除,则该条件/操作将被移除,并且动作会被禁用。