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

5 通知升级

概述

通过Escalations,您可以创建发送通知或执行远程命令的自定义场景。

实际应用中,这意味着:

  • 用户可以立即收到新问题通知
  • 通知可以重复,直到问题解决
  • 发送通知可以延时
  • 通知可以升级到另一个“较高”的用户组
  • 可以立即执行远程命令,或者长时间不解决问题

操作会根据升级步骤进行通知升级。 每一步都有一段时间。

您可以定义默认持续时间和单个步骤的自定义持续时间。一个升级步骤的最短持续时间为60秒。

您可以从任何步骤开始执行操作,例如发送通知或执行命令。 第一步是立即采取行动。 如果要延迟操作,可以将其分配给稍后的步骤。 对于每个步骤,可以定义几个操作。

通知升级步骤的数量不受限制。

配置操作是即可定义Escalations. Escalations仅对问题操作支持,而不是恢复。

Escalations的其他方面

让我们考虑如果一个操作包含几个升级步骤,在不同的情况下会发生什么。

情况 运
在发送初始问题通知后,所涉及的主机进入维护状态 取决于action[配置](/manual/ onfig/notifications/action/operation#configuring_an_operation)中设置的在维护期间暂停操作 , 所有剩余的升级步骤都由维护期间或延迟引起的延迟执行. 维护期不能取消操作.
时间段操作条件中定义的时间段在发送初始通知后结束 执行所有剩余的升级步骤. 时间段 条件不能停 操作; 它对于何时启动/未启动操作而不是操作具有效果。
维护过程中出现问题,维护结束后继续(未解决) 取决于action[配置](/manual config/notifications/action/operation#configuring_an_operation)中在维护期间暂停操作 的设置,所有升级步骤都可以从维护结束或立即执行.
在无数据维护期间会出现问题,并在维护结束后继续(未解决) 在执行所有升级步骤之前,必须等待触发器触发.
不同的升级紧随其后并重叠 每个新的升级的执行取代 前的升级,但是至少一个升级步骤总是在以前的升级中执行. 在针对触发器的每个事件评估创建的事件的操作中,此行为都是相关的.
在升级过程中(如正在发送的消息),基于任何类型的事件:  发送正在发送的消息,然后再发送一条关于升级的消息.后- 该操作被禁用
- 该事件被删除
基于触发事件:
- 触发器被禁用或删除
- 主机或项目被禁用
基于关于触发器的内部事件:
- 触发器被禁用或删除
基于关于项目/低级发现规则的内部事件:
- 该项目被禁用或删除
- 主机被禁用
消息将在邮件正文的开头有取消文本(注意:取消邮件已取消) 命名原因(例如,注意:取消升级:动作'<动作名称>'禁用).通过这种方式,收件人被通知升级被取消,不再执行任何步骤。 此消息将发送给接收通知的所有人员. 取消的原因也记录到服务器日志文件中(从Debug Level 3=Warning)开始.
在升级过程中(如发送消息),删除该操作 不再发送消息. 信息被记录到服务器日 文件 (从Debug Level 3=Warning)开始, 例如: escalation cancelled: action id:334 deleted

Escalation 示例

示例 1

每三十分钟(共计五次)发送一个重复的通知给MYSQL管理员组。配置操作如下:

  • 在Operations标签页, 将 Default operation step duration 设置为1800s (即30m)
  • 设置通知升级从步骤'1'到步骤'5'
  • 选择MYSQL管理员设置为消息的接收方

通知消息将在事件发生后的时,以及30分钟,60分钟,90分钟,120分钟的时候发出(当然,问题及时快速处理后将不再重复发送) 如果问题已处理并配置了恢复消息,消息接收方将至少收到一次问题通知消息。

如果触发生成通知升级的设置为关闭,Zabbix将发送通知信息给所以已经收到通知消息的接收方。

示例 2

发送一个问题事件后延迟通知时,配置如下:

  • 在Operations标签页, 将Default operation step duration设置为36000s (即10h)
  • 将升级步骤设置为 '2' '2'

通知仅在Step 2通知升级场景配置内容发出,或者在问题发生10小时后。 您也可以自定义消息文本信息,例如"问题已发生超过10小时了"。

示例 3

将升级通知信息给管理人员.

在示例1中,我们配置了将消息发送给MYSQL管理员。在此案例中,在问题通知告知DBA前,系统管理员将收到四次通知。请注意,当无人处理事件且问题未被确认时,DBA将仅收到一次通知。

注意在消息中使用宏变量{ESC.HISTORY}. 这个宏包含了通知升级之前的执行的步骤,比如已发送的通知或者已执行的命令。

示例 4

更复杂的一个场景示例。当多个消息发送给MYSQL DBA且升级消息发送给管理员,同时,问题未被确认且已持续2.5个小时仍未被处理,Zabbix将重启MYSQL数据库。

如果问题仍再持续30分钟,Zabbix将给所有的用户发送通知。

如果问题仍再持续1小时,Zabbix将通过IPMI命令重启MYSQL数据库所在的服务器。

示例 5

包含多个操作和自定义步骤的升级通知。默认操作步骤的持续时间为30分钟。

通知将发送如下:

  • 在问题发生后 0:00, 0:30, 1:00, 1:30 通知MYSQL管理员
  • 在问题发生后 2:00 and 2:10 通知数据库管理员
  • 在问题发生后 2:00, 2:10, 2:20 通知zabbix管理员
  • 在问题发生后 4:00 通知所有用户