2022 Zabbix中国峰会
2022 Zabbix中国峰会

1 条件

概述

只有在事件与定义的条件匹配的情况下才执行操作。 配置action时设置条件.

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

条件类型 支持的 作 说明
Application =
like
not like
指定要排除的应用程序或应用程序。
= -事件属于与指定应用程序链接的项目的触发器。
like - 事件属于与包含字符串的应用程序链接的项目的触发器.
not like -事件属于链接到不包含字符串的应用程序的项目的触发器。
Host group =
<>
指定要排除的主机组或主机组。
= - 事件属于此主机组。
<> - 事件不属于此主机组。
指定父主机组隐含地选择所有嵌套的主机组。要仅指定父组,必须使用** %% <> %% 运算符另外设置所有嵌套组。| |Template|=
<>|指定要排除的模板或模板。
=** - 属于从此模板继承的触发器的事件。
<> - 不属于从此模板继承的触发器的事件。
Host =
<>
指定要排除的主机或主机
= - 属于这个主机的事件.
<> - 不属于这个主机的事件.
Tag =
<>
like
not like
指定事件标记或要排除的事件标记。
= - 含有该标记的事件
<> - 不含该标记的事件
like -标签中包含此字符串的事件
not like - 标签中不包含此字符串的事件
Tag value =
<>
like
not like
指定事件标签和值组合或要排除的标签和值组合
= - 包含该值和标签的事件
<> -不包含该值和标签的事件
like - 值和标签中包含该字符串的事件
not like - 值和标签中不包含该字符串的事件
Trigger =
<>
指定触发器或要排除的触发器。
= - 由该触发器产生的事件
<> - 除了这一个,由任何其他触发器生成的事件,
Trigger name like
not like
在触发器名称中指定一个字符串或要排除的字符串。
like - 事件由触发器生成,在名称中包含此字符串。区分大小写.
not like - 触发器名称中不包含该字符串。 区分大小写.
Note: 输入的值将与所有宏扩展的触发器名称进行比较。
Trigger severity =
<>
>=
<=
指定触发严重性。
= - 等于触发严重性
<> - 不等于触发严重性
>= - 大于或等于触发严重性
<= - 小于或等于触发严重性
Time period in
not in
指定时间段或要排除的时间段。
in - 事件时间在该时间段内。
not in - 事件时间不在该时间段内。
格式描述参见 Time period specification 页面.
Maintenance status in
not in
指定主机进行维护或不进行维护。
in - 主机处于维护模式.
not in - 主机不在维护模式.
Note: 如果触发表达式中涉及到多个主机,则至少有一个主机不在维护模式下,条件匹配。

当触发器的新动作被创建时,它会自动获得一个条件:“维护状态=不在维护”.有了这种情况,维护中的主机不会发送通知。 用户可以删除此条件。

可以为基于发现的事件设置以下条件:

条件类型 支持的 作 说明
Host IP =
<>
指定要发现的主机的IP地址范围或要排除的范围。
= -主机IP在该范围内。
<> - 主机IP不在该范围内。
它可能有以下格式:
单IP: 192.168.1.33
IP地址范围: 192.168.1-10.1-254
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起就提供列表格式的空格。
Service type =
<>
指定已发现服务的服务类型或者要排除的服务类型。
= - 匹配发现的服务。
<> -与发现的服务不匹配。
可用服务类型:SSH, LDAP, SMTP, FTP, HTTP, HTTPS (available since Zabbix 2.2 version), POP, NNTP, IMAP, TCP, Zabbix agent, SNMPv1 agent, SNMPv2 agent, SNMPv3 agent, ICMP ping, telnet (available since Zabbix 2.2 version).
Service port =
<>
指定发现的服务或的TCP端口范围或者要排除的TCP端口范围。
= - 服务端口在该范围内.
<> - 服务端口不在该范围内
Discovery rule =
<>
指定发现规则或要排除的发现规则。
= - 使用这个发现规则。
<> - 使用除此之外的任何其他发现规则。
Discovery check =
<>
指定discovery check或要排除的discovery check
= - 使用这个 discovery check.
<> -使用除此之外的其他任何discovery check
Discovery object = 指定发现的对象。
= - 等于发现的对象(设备或服务)。
Discovery status = Up -匹配'Host Up' 和 'Service Up' 事件
Down - 匹配'Host Down' 和 'Service Down' 事件
Discovered - 匹配 'Host Discovered' 和 'Service Discovered' 事件
Lost - 匹配 'Host Lost' 和 'Service Lost' 事件
Uptime/Downtime >=
<=
Uptime for 'Host Up' and 'Service Up' events. Downtime for 'Host Down' and 'Service Down' events.
>= -大于或者等于。 参数以秒为单位给出。
<= -小于或等于. 参数以秒为单位给出。
Received value =
<>
>=
<=
like
not like
指定从代理接收的值(Zabbix,SNMP)。 区分大小写字符串比较。 如果为规则配置了多个Zabbix代理或SNMP检查,则检查所有的Zabbix代理或SNMP检查(每个检查生成与所有条件匹配的新事件)。
= - 等于该值。
<> - 不等于该值。
>= - 大于或者等于该值。
<= - 小于或者等于该值。
like -包含子串。参数作为字符串给出。
not like - 不包含子串。 参数作为字符串给出。
Proxy =
<>
指定代理或要排除的代理。
= - 使用这个代理。
<> -使用除此之外的任何其他代理。

基于活动代理自动注册的动作可以设置以下条件:

条件类型 支持的 作 说明
Host metadata like
not like
指定主机元数据或要排除的主机元数据。
like - 主机元数据包含字符串。
not like - 主机元数据不包含字符串。
可以在代理配置文件中指定主机元数据.
Host name like
not like
指定主机名或要排除的主机名。
like - 包含字符串的主机名。
not like - 不包含字符串的主机名
Proxy =
<>
指定代理或要排除的代理。
= - 使用这个代理。
<> - 使用除此之外的任何其他代理。

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

条件类型 支持的 作 说明
Application =
like
not like
指定应用程序或要排除的应用程序。
= - 属于与指定应用程序链接的项的事件。
like - 属于与包含字符串的应用程序链接的项的事件。
not like - 属于不包含字符串的应用程序链接的项的事件。
Event type = Item in "not supported" state - 匹配监控项从“正常”到“不支持”状态的事件
Low-level discovery rule in "not supported" state - 匹配低级发现规则从“正常”到“不支持”状态的事件
Trigger in "unknown" state - 匹配触发从“正常”到“未知”状态的事件
Host group =
<>
指定主机组或要排除的主机组。
= - 属于此主机组的事件。
<> - 不属于此主机组的事件。
Template =
<>
指定模板或要排除的模板。
= -属于从此模板继承的监控项/触发器/低级发现规则的事件。
<> - 不属于从此模板继承的监控项/触发器/低级发现规则的事件。
Host =
<>
指定主机或要排除的主机。
= - 属于这个主机的事件。
<> - 不属于这个主机的事件。

运算类型

计算条件的以下选项可用:

  • And - 必须满足所有条件

请注意,当它们被选为“Trigger =”“条件时,在几个触发器之间不允许使用”And“计算。 操作只能根据一个触发事件执行。

  • Or - 如果满足一个条件就足够了
  • And/Or - 两者的组合:AND与不同的条件类型和OR具有相同的条件类型,例如:
* 

Host group = Oracle servers
Host group = MySQL servers
Trigger name like 'Database is down'
Trigger name like 'Database is unavailable'

计算为

(Host group = Oracle servers or Host group = MySQL servers) and (Trigger name like 'Database is down' or Trigger name like 'Database is unavailable')

  • Custom expression - a user-defined calculation formula for 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).

While the previous example with And/Or would be represented as (A or B) and (C or D), in a custom expression you may as well have multiple other ways of calculation:

(A and B) and (C or D)
(A and B) or (C and D)
((A or B) and C) or D
etc.

由于删除对象,被禁用的actions

如果某个操作条件/操作中使用的某个对象(主机,模板,触发器等)被删除,则会删除条件/操作,禁用该操作以避免操作的错误执行。 该操作可以由用户重新启用。

当删除以下项目是会发生这种情况:

  • 主机组(“主机组”条件,特定主机组上的“远程命令”操作));
*主机(“主机”条件,特定主机上的“远程命令”操作);
       *模板(“模板”条件,“链接到模板”和“与模板的链接”操作);
       *触发器(“触发”条件);
       * 发现规则(使用“发现规则”和“发现检查”条件时);
       * 代理(“代理”条件)。

Note:如果远程命令有许多目标主机,并且我们删除其中的一个,则只有该主机将从目标列表中删除,操作本身将保留。 但是,如果它是唯一的主机,操作也将被删除。 “链接到模板”和“取消与模板的链接”操作也是一样。

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