概述

    这就是主机之间某些依赖关系可能有用的地方,设置依赖关系的通知可能会被抑制,而只发送根本问题的通知。

    虽然Zabbix不支持主机之间的直接依赖关系,但是它们可以定义另外一种更加灵活的方式 - 触发器依赖关系。一个触发器可以有一个或多个依赖的触发器。

    因此在我们简单示例中,我们打开服务器触发器配置的窗口,并设置它依赖于路由器的相应触发器。有了这样的依赖性,只要它所依赖的触发器处于“异常”状态,服务器触发器就不会改变状态,因此不会执行依赖的动作,也不会发送通知。

    如果服务器和路由器都宕机且有依赖关系,Zabbix将不执行依赖触发器的动作。

    依赖触发器上的动作不会被执行,如果触发器依赖于:

    • 状态从’PROBLEM’ 修改为 ‘UNKNOWN’

    • 已禁用,已禁用监控项或禁用项目主机

    请注意,上述情况下的“次要”(依赖)触发器不会立即更新。

    另外:

    • 触发器依赖可以从任何主机触发器添加到任何其他主机触发器,只要它不会导致循环依赖。

    • 触发器依赖可以从一个模板添加到另一个模板,如果模板A的触发器依赖于模板B的触发器,模板A只能与模板B一起链接到主机(或其他模板),但是模板B可以单独链接到主机(或其他模板)。

    • 可以不添加从主机触发器到模板触发器的触发器依赖性。

    配置

    若要定义依赖关系,在触发器打开依赖关系标签。单击“依赖关系”块中的 添加 ,并选择触发器将依赖的一个或多个触发器。

    点击 更新,现在列表中触发器有了依赖性标示。

    几个依赖关系的示例

    例如,主机位于路由器2后面,路由器2在路由器1后面。

    如果路由器1宕机,显然主机和路由器2也不可达,然而我们不想收到主机、路由器1和路由器2都宕机的3条通知。

    因此,在这种情况下我们定义了两个依赖关系:

    1. '路由器2宕机' 触发器依赖于 '路由器1宕机' 触发器

    在改变“主机宕机”触发器的状态之前,Zabbix将会检查相应触发器的依赖关系,如果找到,并且一个触发器处于“异常”状态,则触发器状态不会发生改变,因此不会执行动作,也不会发送通知。

    Zabbix递归执行此检查,如果路由器1或路由器2是不可达的状态,那么主机触发器则不会更新。