这是原厂英文文档的翻译页面. 欢迎帮助我们 完善文档.
2022 Zabbix中国峰会
2022 Zabbix中国峰会

1 条件

概述

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

条件匹配区分大小写。

触发动作

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

条件类型 支持的运算符 说明
Host group 等于
不等于
指定要排除的主机组或主机组。
等于 - 事件属于此主机组。
不等于 - 事件不属于此主机组。
指定父主机组会隐式选择所有嵌套的主机组。 要仅指定父组,必须使用 不等于 运算符另外设置所有嵌套组。
Template 等于
不等于
指定模板或要排除的模板。
等于 - 事件属于从该模板继承的触发器。
不等于 - 事件不属于从该模板继承的触发器。
Host 等于
不等于
指定主机或要排除的主机。
等于 - 事件属于此主机。
不等于 - 事件不属于此主机。
Tag name 等于
不等于
包含
不包含
指定事件标签或要排除的事件标签。
等于 - 事件有此标签
* *不等于 - 事件没有这个标签
包含 - 事件有一个包含这个字符串的标签
不包含** - 事件没有包含这个字符串的标签
Tag value 等于
不等于
包含
不包含
指定标签和值组合或要排除的事件标签和值组合。
等于 - 事件有这个 标签和值
不等于 - 事件没有这个标签和值
包含 - 事件有一个包含这些字符串的标签和值
不包含 - 事件没有包含这些字符串的标签和值
Trigger 等于
不等于
指定触发器或要排除的触发器。
等于 - 事件由此触发器生成。
不等于 - 事件通过任何其他触发器生成,除了这个。
Trigger name 包含
不包含
指定触发器名称中的字符串或要排除的字符串。
包含 - 事件由触发器生成,名称中包含此字符串。
不包含 - 在触发器名称中找不到此字符串。
注意:输入的值将与展开所有宏的触发器名称进行比较。
Trigger severity 等于
不等于
大于或等于
小于或等于
指定触发器严重性。
等于 - 等于触发器严重性
不等于 - 不等于触发严重性
大于或等于 - 大于或等于触发严重性
小于或等于 - 小于或等于触发 严重程度
Time period
不在
指定时间段或要排除的时间段。
- 事件时间在时间段内。
不在 - 事件时间不在时间段内。
请参阅时间段规范页面了解格式说明。
自Zabbix 3.4.0起开始支持用户宏 .
Problem is suppressed
如果由于主机维护问题被抑制(未显示),请指定。
- 问题未被抑制。
- 问题被抑制了。

Service actions

The following conditions can be used in service actions:

Condition type Supported operators Description
Service equals
does not equal
Specify a service or a service to exclude.
equals - event belongs to this service.
does not equal - event does not belong to this service.
Specifying a parent service implicitly selects all child services. To specify the parent service only, all nested services have to be additionally set with the does not equal operator.
Service name contains
does not contain
Specify a string in the service name or a string to exclude.
contains - event is generated by a service, containing this string in the name.
does not contain - this string cannot be found in the service name.
Service tag name equals
does not equal
contains
does not contain
Specify an event tag or an event tag to exclude. Service event tags can be defined in the service configuration section Tags.
equals - event has this tag
does not equal - event does not have this tag
contains - event has a tag containing this string
does not contain - event does not have a tag containing this string.
Service tag value equals
does not equal
contains
does not contain
Specify an event tag and value combination or a tag and value combination to exclude. Service event tags can be defined in the service configuration section Tags.
equals - event has this tag and value
does not equal - event does not have this tag and value
contains - event has a tag and value containing these strings
does not contain - event does not have a tag and value containing these strings.

Make sure to define message templates for Service actions in the Alerts -> Media types menu. Otherwise, the notifications will not be sent.

发现操作

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

条件类型 支持的运算符 说明
Host IP 等于
不等于
指定IP地址范围或要为已发现主机排除的范围。
等于 - 主机IP在范围内。
** 不等于** - 主机IP不在范围内。
可能有以下格式:
单个 IP:192.168.1.33
IP地址范围:192.168.1-10.1-254<br >IP mask: 192.168.4.0/24
List: 192.168.1.1-254, 192.168.2.1-100, 192.168.2.200, 192.168.4.0/24
从Zabbix 3.0.0开始支持list格式的空格。
Service type 等于
不等于
指定已发现服务的服务类型或要排除的服务类型。
等于 - 匹配已发现服务。
不等于 - 与发现的服务不匹配。
可用的服务类型:SSH、LDAP、SMTP、FTP、HTTP、HTTPS (自 Zabbix 2.2 版本起可用)、POP、NNTP、IMAP、TCP、Zabbix agent, SNMPv1 agent、SNMPv2 agent、SNMPv3 agent、ICMP ping、telnet (自 Zabbix 2.2 版本起可用)
Service port 等于
不等于
指定已发现服务的TCP端口范围或要排除的范围。
等于 - 服务端口在范围内。
** 不等于** - 服务端口不在范围内。
Discovery rule 等于
不等于
指定发现规则或要排除的发现规则。
等于 - 使用此发现规则。
不等于 - 使用除此之外的任何其他发现规则。
Discovery check 等于
不等于
指定发现检查或要排除的发现检查。
等于 - 使用此发现检查。
不等于 - 使用除此之外的任何其他发现检查。
Discovery object 等于 指定发现的对象。
等于 - 等于发现的对象(设备或服务)。
Discovery status 等于 Up - 匹配“Host Up”和“Service Up”事件
Down - 匹配“Host Down”和“Service Down”事件
** 发现** - 匹配“主机发现”和“服务发现”事件
丢失 - 匹配“主机丢失”和“服务丢失”事件
Uptime/Downtime 大于或等于
小于或等于
“主机启动”和“服务启动”事件的正常运行时间。 “主机停机”和“服务停机”事件的停机时间。
大于或等于 - 大于或等于。 参数以秒为单位给出。
小于或等于 - 小于或等于。 参数以秒为单位给出。
Received value 等于
不等于
大于等于
小于等于
包含
不包含
指定从agent接收的值(Zabbix, SNMP) 检查发现规则。 字符串比较。 如果为规则配置了多个 Zabbix agent或 SNMP 检查,则会检查每个接收到的值(每个检查都会生成一个与所有条件匹配的新事件)。
等于 - 等于值。
不等于 - 不等于该值。
大于或等于 - 大于或等于该值。
小于或等于 - 小于或等于该值。
包含 - 包含子字符串。 参数以字符串形式给出。
不包含 - 不包含子字符串。 参数以字符串形式给出。
Proxy 等于
不等于
指定代理或要排除的代理。
等于 - 使用此代理。
不等于 - 使用除此之外的任何其他代理。

导致发现事件的发现规则中的服务检查不会同时发生。 因此,如果在操作中为“服务类型”、“服务端口”或“接收值”条件配置了多个值,它们将一次与一个发现事件进行比较,但不会 多个事件同时进行。 因此,可能无法正确执行具有相同检查类型的多个值的操作。

自动注册操作

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

条件类型 支持的运算符 说明
Host metadata 包含
不包含
匹配
不匹配
指定主机元数据或要排除的主机元数据。
包含 - 主机元数据包含字符串。<br >不包含 - 主机元数据不包含字符串。
主机元数据可以在agent配置文件中指定。
匹配* * - 主机元数据与正则表达式匹配。
不匹配** - 主机元数据与正则表达式不匹配。
Host name 包含
不包含
匹配
不匹配
指定主机名或要排除的主机名。
包含 - 主机名包含字符串。
不包含 - 主机名不包含字符串。
匹配 - 主机名匹配正则表达式。
不匹配 - 主机名与正则表达式不匹配。
Proxy 等于
不等于
指定代理或要排除的代理。
等于 - 使用此代理。
不等于 - 使用除此之外的任何其他代理。

内部事件动作

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

条件类型 支持的操作符 说明
事件类型 等于 处于“不支持”状态的监控项 - 匹配监控项从'正常' 变为 '不支持'状态的事件
处于“不支持”状态的底层自动发现规则 - 匹配底层自动发现规则从'正常' 变为 '不支持'状态的事件
处于“未知”状态的触发器 - 匹配触发器从'正常' 变为 '未知'状态的事件
主机组 等于
不等于
主机组或要排除的主机组
等于 - 属于该主机组的事件
不等于 - 不属于该主机组的事件
标签名称 等于
不等于
包含
不包含
标签名称或者要排除的标签名称
等于 - 具备该标签的事件
不等于 - 不具备该标签的事件
包含 - 标签名称中包含该字符串的事件
不包含 - 标签名称中不包含该字符串的事件
标签值 等于
不等于
包含
不包含
事件标签和值组合或要排除的标签和值组合
等于 - 具备该标签并且值等于给定值的事件
不等于 - 具备该标签但值不等于给定值的事件
包含 - 具备该标签并且值包含指定字符串的事件
不包含 - 具备该标签但值不包含指定字符串的事件
模板 等于
不等于
模板或要排除的模板
等于 - 属于从此模板继承的监控项/触发器/底层自动发现规则的事件
不等于 - 不属于从此模板继承的监控项/触发器/底层自动发现规则的事件
主机 等于
不等于
主机或要排除的主机
等于 - 属于此主机的事件
不等于 - 不属于此主机的事件

条件计算类型

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

  • 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
等等。

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

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

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

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

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

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