这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.

Sidebar

Zabbix Summit 2022
Register for Zabbix Summit 2022

1 条件

概述

只有当事件满足了定义的条件集时,动作才会被执行。条件在配置 action 时进行设置。

条件匹配区分大小写。

触发器动作

可以为基于触发器的动作设置以下条件:

条件类型 支持的操作符 说明
Host group equals
does not equal
主机组或要排除的主机组
equals - 属于该主机组的事件
does not equal - 不属于该主机组的事件
选择父主机组意味着选择了所有子主机组。如果需要设置仅适用于父主机组,那么需要通过does not equal操作符将所有其它子主机组排除。
Template equals
does not equal
模板或要排除的模板.
equals - 属于该模板上触发器触发的事件
does not equal - 不属于该模板上触发器触发的事件
Host equals
does not equal
主机或要排除的主机组
equals - 属于该主机的事件
does not equal - 不属于该主机的事件
Tag name equals
does not equal
contains
does not contain
标签名称或者要排除的标签名称
equals - 具备该标签的事件
does not equal - 不具备该标签的事件
contains - 标签名称中包含该字符串的事件
does not contain - 标签名称中不包含该字符串的事件
Tag value equals
does not equal
contains
does not contain
事件标签和值组合或要排除的标签和值组合
equals - 具备该标签并且值等于给定值的事件
does not equal - 具备该标签但值不等于给定值的事件
contains - 具备该标签并且值包含指定字符串的事件
does not contain - 具备该标签但值不包含指定字符串的事件
Trigger equals
does not equal
触发器或者要排除的触发器
equals - 由该触发器产生的时间
does not equal - 由该触发器以外的其它触发器产生的事件
Trigger name contains
does not contain
触发器名称中包含或者不包含指定字符串
contains - 触发器名称中包含指定字符串
does not contain - 触发器名称中不包含指定字符串
注意: 输入的值将与所有宏展开后的触发器名称进行比较。
Trigger severity equals
does not equal
is greater than or equals
is less than or equals
触发器级别
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
从Zabbix 3.4.0版本开始,支持User macros
Problem is suppressed no
yes
问题是否因为主机维护而被抑制(不显示)。
no - 问题没有被抑制
yes - 问题被抑制

自动发现动作

可以为基于自动注册的事件设置以下条件:

条件类型 支持的操作符 说明
Host IP equals
does not equal
要自动发现的主机的IP地址范围或要排除的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
IP列表: 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 (从Zabbix2.2版本开始支持), POP, NNTP, IMAP, TCP, Zabbix agent, SNMPv1 agent, SNMPv2 agent, SNMPv3 agent, ICMP ping, telnet (从Zabbix2.2版本开始支持)
Service port equals
does not equal
自动发现的服务端口范围或者要排除的服务端口范围
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 自动发现的对象。
equals - 等于发现的对象(设备或服务)。
Discovery status equals Up - 匹配'Host Up' 及 'Service Up' 事件
Down - 匹配'Host Down'或'Service Down'的事件
Discovered - 匹配 'Host Discovered' 或 'Service Discovered'的事件
Lost - 匹配 'Host Lost' 或 'Service Lost' 的事件
Uptime/Downtime is greater than or equals
is less than or equals
'Host Up' 或 'Service Up' 事件的运行事件. 'Host Down' 或 'Service Down' 的故障事件.
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)检查接收到的值。字符串比较。如果一条规则配置了多个Zabbix agent或SNMP检查,则将检查每个接收的值(每次检查都会生成一个新事件,该事件将与所有条件进行匹配)。
equals - 等于某个值
does not equal - 不等于某个值
is greater than or equals - 大于或等于某个值
is less than or equals - 少于或等于某个值
contains - 包含子串。参数以字符串形式给出。
does not contain - 不包含子串。参数以字符串形式给出。
Proxy equals
does not equal
proxy或要排除的proxy。
equals - 使用该proxy
does not equal - 使用除此以外的其它proxy

自动发现规则中的服务检查,会产生自动发现事件,但不会同时发生。因此,如果在动作中为Service type, Service portReceived value条件配了多个值,那么它们将每次与一个自动发现事件进行比较,而 不会 同时与多个自动发现事件进行比较。因此,具有多个值的同类型检测的动作,可能无法正确地执行。

自动注册动作

可以为基于主动式agent自动注册的动作设置以下条件:

条件类型 支持的操作符 说明
Host metadata contains
does not contain
matches
does not match
主机元数据或要排除的主机元数据
contains - 主机元数据包含该字符串
does not contain - 主机元数据不包含该字符串
关于主机元数据请参见 agent configuration file.
matches - 主机元数据匹配该正则表达式
does not match - 主机元数据不匹配该正则表达式
Host name contains
does not contain
matches
does not match
主机名或要排除的主机名
contains - 主机名包含该字符串
does not contain - 主机名不包含该字符串
matches - 主机名匹配该正则表达式
does not match - 主机名不匹配该正则表达式
Proxy equals
does not equal
使用的Zabbix代理或要排除的Zabbix代理
equals - 使用该代理
does not equal - 使用此代理以外的其它代理

内部事件动作

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

条件类型 支持的操作符 说明
Event type equals Item in "not supported" state - 匹配监控项从'正常' 变为 '不支持'状态的事件
Low-level discovery rule in "not supported" state - 匹配低级别自动发现规则从'正常' 变为 '不支持'状态的事件
Trigger in "unknown" state - 匹配触发器从'正常' 变为 '未知'状态的事件
Host group equals
does not equal
主机组或要排除的主机组
equals - 属于该主机组的事件
does not equal - 不属于该主机组的事件
Tag name equals
does not equal
contains
does not contain
标签名称或者要排除的标签名称
equals - 具备该标签的事件
does not equal - 不具备该标签的事件
contains - 标签名称中包含该字符串的事件
does not contain - 标签名称中不包含该字符串的事件
Tag value equals
does not equal
contains
does not contain
事件标签和值组合或要排除的标签和值组合
equals - 具备该标签并且值等于给定值的事件
does not equal - 具备该标签但值不等于给定值的事件
contains - 具备该标签并且值包含指定字符串的事件
does not contain - 具备该标签但值不包含指定字符串的事件
Template equals
does not equal
模板或要排除的模板
equals - 属于从此模板继承的监控项/触发器/低级别自动发现规则的事件
does not equal - 不属于从此模板继承的监控项/触发器/低级别自动发现规则的事件
Host equals
does not equal
主机或要排除的主机
equals - 属于此主机的事件
does not equal - 不属于此主机的事件

条件计算类型

计算条件的选项有以下几种:

  • And - 必须满足所有条件

注意:当多个触发器被选择为Trigger =条件时,在它们之间是不允许使用"And"来计算的。只能基于一个触发器的事件执行动作。

  • Or - 只要满足一个条件就足够了
  • And/Or - 两者的结合,AND连接不同的条件类型,而OR连接相同的条件类型,例如:

Host group 等于 Oracle servers
Host group 等于 MySQL servers
Trigger name 包含 'Database is down'
Trigger name 包含 'Database is unavailable'

等价于

(Host group 等于 Oracle servers or Host group 等于 MySQL servers) and (Trigger name 包含 'Database is down' or Trigger name 包含 'Database is unavailable')

  • Custom expression - 用户自定义动作条件的表达式。必须包含所有条件(以大写字母 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
等等。

由于对象被删除导致动作被禁用的情况

如果在动作条件/操作中使用的某个对象(主机,模板,触发器等)被删除了,那么对应的条件/操作也会被删除,并且该动作将被禁用,以避免错误地执行该动作。用户可以重新启用动作。

当删除以下对象时会发生这种情况:

  • 主机组(“主机组”条件,特定主机组上的“远程命令”操作将被删除);
  • 主机(“主机”条件,特定主机上的“远程命令”操作将被删除);
  • 模板(“模板”条件,“链接到模板”和“从模板中取消链接”操作将被删除);
  • 触发器(“触发器”条件将被删除);
  • 自动发现规则(使用“自动发现规则”和“自动发现检查”条件时将被删除)。

注意: 如果远程命令有多个目标主机,我们删除了其中的一个,那么只有该主机将从目标列表中删除,操作本身将保留。但是,如果它是唯一的主机,那么操作也将被删除。"链接到模板"和"从模板取消链接"的操作也是一样。

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