通过升级机制,您可以create自定义场景来发送通知或执行远程命令。
具体而言这意味着:
用户可以立即获知新问题
通知可以重复发送直至问题解决
通知发送可被延迟
通知可升级至更高层级的用户组
远程命令可立即执行或在问题未解决时执行
resolved for a lengthy period
操作升级基于升级步骤。每个步骤都有时间持续时间。
您既可以定义默认持续时间,也可以为单个步骤定义自定义时长。单个升级步骤的最小持续时间为60秒。
您可以从任意步骤启动操作,例如发送通知或执行命令。第一步用于立即操作。若需延迟操作,可将其分配至后续步骤。每个步骤可定义多个操作。
升级步骤的数量没有限制。
升级机制在配置操作时定义。升级仅支持问题操作,不支持恢复操作。
让我们考虑当某个动作包含多个升级步骤时,在不同情况下会发生什么。
情景 | 行为 |
---|---|
主机在初始问题通知发送后进入维护状态 | 根据动作配置操作中的暂停被抑制问题的操作设置,所有剩余的升级步骤要么因维护期延迟执行,要么立即执行。维护期不会取消操作。 |
在初始通知发送后,时间周期动作条件定义的时间段结束 | 所有剩余的升级步骤都会执行。时间周期条件不能停止操作;它只影响动作何时开始/不开始,不影响操作本身。 |
问题在维护期间开始,并在维护结束后持续存在(未解决) | 根据动作配置操作中的暂停被抑制问题的操作设置,所有升级步骤要么从维护结束时开始执行,要么立即执行。 |
问题在无数据维护期间开始,并在维护结束后持续存在(未解决) | 必须等待触发器触发后,所有升级步骤才会执行。 |
不同的升级步骤快速连续发生并重叠 | 每个新升级步骤的执行会取代前一个升级步骤,但至少有一个升级步骤总是基于前一个升级步骤执行。此行为适用于基于触发器每次问题评估创建事件的动作。 |
在升级进行期间(例如正在发送消息),基于任何类型的事件: - 动作被禁用 基于触发器事件: - 触发器被禁用 - 主机或监控项被禁用 基于触发器内部事件: - 触发器被禁用 基于监控项/低级发现规则的内部事件: - 监控项被禁用 - 主机被禁用 |
正在处理的消息会被发送,然后还会发送一条关于升级的附加消息。后续消息的正文开头会包含取消文本(注意:升级已取消)并说明原因(例如注意:升级已取消:动作'<动作名称>'被禁用)。这样接收者会被告知升级已取消且不会执行更多步骤。此消息会发送给之前所有收到通知的人。取消原因也会记录到服务器日志file(从Debug Level 3=Warning开始)。 注意:如果操作已完成但恢复操作已配置且尚未执行,也会发送升级已取消消息。 |
在升级进行期间(例如正在发送消息)动作被删除 | 不再发送更多消息。相关信息会记录到服务器日志file(从Debug Level 3=Warning开始),例如:escalation canceled: action id:334 deleted |
向'MySQL管理员'组发送重复通知,每30分钟一次(共5次)。配置方法:
通知将在问题开始后的0:00、0:30、1:00、1:30、2:00时间点发送(当然,如果问题提前解决则不会发送)。
如果问题解决且配置了恢复消息,该消息将发送给在此升级场景中至少收到过一条问题消息的接收者。
如果生成活动升级的触发器被禁用,Zabbix会向所有已收到通知的人员发送相关信息通知。
发送关于长期存在问题的延迟通知。配置方法:
通知仅会在升级场景的第2步发送,或在问题开始10小时后发送。
您可以将消息文本自定义为类似'该问题已存在超过10小时'的内容。
将问题升级上报给主管
在上述第一个示例中,我们配置了定期向MySQL管理员发送消息。在这种情况下,管理员将get四条消息,之后问题将升级上报给数据库经理。请注意,经理仅会在问题尚未被确认时get消息,即假设无人正在处理该问题。
操作2的详细信息:
注意在自定义消息中使用{ESC.HISTORY}宏。该宏将包含此升级过程中所有先前执行步骤的信息,例如已发送的通知和已执行的命令。
一个更复杂的场景. 在多次向MySQL管理员发送消息并升级至经理后, Zabbix将尝试重启MySQL数据库. 如果问题持续存在2小时30分钟且未被确认, 就会执行此操作.
如果问题仍然存在, 再过30分钟后Zabbix将向所有访客用户发送消息.
如果这仍无济于事, 再过1小时后Zabbix将使用IPMI命令重启装有MySQL数据库的服务器(第二个远程命令).
一个包含多个操作分配到单个步骤并使用自定义间隔的升级流程。默认操作步骤持续时间为30分钟。
通知将按以下方式发送: