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
指定时间段或要排除的时间段.
- 事件时间在时间段内.
不在 - 事件时间不在时间段内.
有关格式描述, 请参阅time period specification页面.
自Zabbix 3.4.0起支持User macros.
Problem is suppressed no
yes
指定问题是否因主机维护而被抑制(不显示).
- 问题未被抑制.
- 问题被抑制.

发现动作

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

条件类型 支持的运算符 描述
Host IP equals
does not equal
为发现的主机指定IP地址范围或排除范围。
equals - 主机 IP位于该范围内。
does not equal - 主机 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
自Zabbix 3.0.0起支持列表格式中使用空格。
Service type equals
does not equal
指定要发现的服务类型或要排除的服务类型.
equals - 匹配发现的服务.
does not equal - 不匹配发现的服务.
可用服务类型: SSH, LDAP, SMTP, FTP, HTTP, HTTPS (自Zabbix 2.2 version起可用), POP, NNTP, IMAP, TCP, Zabbix agent, SNMPv1 agent, SNMPv2 agent, SNMPv3 agent, ICMP ping, telnet (自Zabbix 2.2 version起可用).
Service port equals
does not equal
指定发现服务的TCP端口范围或要排除的范围。
equals - 服务端口位于该范围内。
does not equal - 服务端口不位于该范围内。
Discovery rule equals
does not equal
指定要包含或排除的发现规则。
equals - 使用此发现规则。
does not equal - 使用除此规则外的其他发现规则。
Discovery check equals
does not equal
指定要包含或排除的发现检查项.
equals - 使用此发现检查项.
does not equal - 使用除此项外的其他发现检查项.
Discovery object equals 指定发现的object.
equals - 等于发现的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
'主机 运行'与'服务运行'事件的运行时间。'主机 停止'与'服务停止'事件的停机时间。
大于或等于 - 达到或超过指定值。参数以秒为单位。
小于或等于 - 低于或等于指定值。参数以秒为单位。
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检查,则对每个检查接收到的值进行验证(每个检查都会生成一个新事件,该事件将与所有条件进行匹配)。
equals - 等于该值。
does not equal - 不等于该值。
is greater than or equals - 大于或等于该值。
is less than or equals - 小于或等于该值。
contains - 包含子字符串。参数以string形式给出。
does not contain - 不包含子字符串。参数以string形式给出。
Proxy equals
does not equal
指定要排除的proxy或proxy.
equals - 使用此proxy.
does not equal - 使用除此外的其他proxy.

发现规则中的服务检查,其结果为 发现事件不会同时发生。因此,如果 为Service typeService port配置了多个Received 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
指定要包含的一个主机名称或要排除的一个主机名称.
contains - 主机名包含string.
does not contain - 主机名不包含string.
matches - 主机名匹配正则表达式.
does not match - 主机名不匹配正则表达式.
Proxy equals
does not equal
指定要包含或排除的proxy。
等于 - 使用此proxy。
不等于 - 使用除此proxy外的其他proxy。

内部事件动作

基于内部事件可设置以下动作条件:

条件类型 支持的操作符 描述
Event type equals 监控项处于"不支持"状态 - 匹配监控项从'正常'变为'不支持'状态的事件
低阶发现规则处于"不支持"状态 - 匹配低阶发现规则从'正常'变为'不支持'状态的事件
触发器处于"未知"状态 - 匹配触发器从'正常'变为'未知'状态的事件
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

    types and OR with the same condition type, for example:

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

将被评估为

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

  • 自定义表达式 - 用户定义的计算公式

    evaluating action conditions. It must include all conditions (represented as uppercase letters A, B, C, ...) and may include spaces, tabs, brackets ( ), and (case sensitive), or (case sensitive), not (case sensitive).

虽然前面使用And/Or的例子可以表示为(A或B)与(C或D),但在自定义表达式中您也可以使用多种其他计算方式:

(A与B)且(C或D)
(A与B)或(C与D)
((A或B)且C)或D
(非(A或B)且C)或非D
等等

由于删除的objects导致操作被禁用

如果在动作条件/操作中使用的某个object(主机、模板、触发器等)被删除,系统将移除该条件/操作并禁用该动作,以避免动作的错误执行。用户可手动重新启用该动作。

此行为在删除以下对象时触发:

  • 主机组("主机组"条件,针对特定主机组的"远程命令"操作);

  • 主机("主机"条件,针对特定主机的"远程命令"操作);

  • 模板("模板"条件,"关联模板"和"取消关联模板"操作);

  • 触发器("触发器"条件);

  • 发现规则(当使用"发现规则"和"发现检查"时)

    conditions).

注意:如果远程命令包含多个目标主机,而我们delete其中一个时,仅会从目标列表中移除该主机,操作本身仍会保留。但若这是唯一的主机,则该操作也会被移除。"关联模板"和"取消关联模板"操作同理。

当删除"发送消息"操作中使用的用户或用户组时,动作不会被禁用。