可以定义仅在事件匹配特定条件集时执行操作。条件在配置配置操作时设置。
条件匹配区分大小写。
基于触发器的动作可使用以下条件:
条件类型 | 支持的运算符 | 描述 |
---|---|---|
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 type
、Service 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 |
指定主机或要排除的主机 等于 - 事件属于该主机 不等于 - 事件不属于该主机 |
计算条件提供以下选项:
注意:当多个触发器被选作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
等等
如果在动作条件/操作中使用的某个object(主机、模板、触发器等)被删除,系统将移除该条件/操作并禁用该动作,以避免动作的错误执行。用户可手动重新启用该动作。
此行为在删除以下对象时触发:
主机组("主机组"条件,针对特定主机组的"远程命令"操作);
主机("主机"条件,针对特定主机的"远程命令"操作);
模板("模板"条件,"关联模板"和"取消关联模板"操作);
触发器("触发器"条件);
发现规则(当使用"发现规则"和"发现检查"时)
conditions).
注意:如果远程命令包含多个目标主机,而我们delete其中一个时,仅会从目标列表中移除该主机,操作本身仍会保留。但若这是唯一的主机,则该操作也会被移除。"关联模板"和"取消关联模板"操作同理。
当删除"发送消息"操作中使用的用户或用户组时,动作不会被禁用。