11. 维护期

概述

可以在 Zabbix 中定义主机群组、主机和特定触发器/服务的维护期。

有两种维护类型 - 有数据收集(with data collection)和没有数据收集(with no data collection)。

在“有数据收集(with data collection)”的维护期间,触发器照常处理,并在需要时创建事件。但是,如果在操作配置中选中了 暂停操作以解决被抑制的问题(Pause operations for suppressed problems) 选项,则会暂停维护中的主机/触发器的问题升级。在这种情况下,只要维护期持续,可能包括发送通知或远程命令的升级步骤将被忽略。请注意,维护期间不会抑制问题恢复和更新操作,只会抑制升级。

例如,如果升级步骤安排在问题开始后的 0、30 和 60 分钟,并且在真正问题出现后的 10 分钟到 40 分钟之间进行半小时的维护,则将在半小时或 60 分钟和 90 分钟(假设问题仍然存在)后执行步骤 2 和 3。同样,如果在维护过程中出现问题,则在维护后开始升级。

要在维护期间正常(无延迟)接收问题通知,您必须取消选中操作配置中的 暂停操作以解决被抑制的问题(Pause operations for suppressed problems) 选项。

如果至少有一台主机(在触发器表达式中使用)未处于维护模式,Zabbix 将发送问题通知。

Zabbix server 必须在维护期间运行。定时器进程负责在每分钟 0 秒将主机状态切换到维护状态或从维护状态切换。请注意,当主机进入维护时,Zabbix server 计时器进程将读取所有未解决的问题,以检查是否需要抑制这些问题。如果存在许多未解决的问题,这可能会对性能产生影响。Zabbix server 也会在启动时读取所有未解决的问题,即使当时没有配置维护。

无论维护类型如何(包括“无数据收集”维护),proxy 都将始终收集数据。如果设置了“无数据收集”,则 server 会忽略该数据。

当“无数据”维护结束时,使用 nodata() 函数的触发器在它们检查期间不会在下一次检查之前触发。

如果在主机维护和维护结束时添加日志类型监控项,则只会收集自维护结束以来的新日志文件条目。

如果为处于 “无数据收集” 维护类型的主机发送带时间戳的值(例如使用 Zabbix sender),则该值将被丢弃,但是可以为过期的维护期发送带时间戳的值。

为了确保重复维护周期(每天、每周、每月)的可预测性,Zabbix 的所有组件都需要使用同一个公共时区。

如果维护周期、主机、主机群组或标签由用户更改,更改将在配置缓存同步后生效。

配置

配置维护期有以下操作步骤:

  • 转到:配置(Configuration) → 维护(Maintenance)
  • 单击创建维护期(或现有维护期的名称)
  • 在表格中输入维护参数

11. 维护期 - 图1

所有必填字段都标有红色星号。

参数描述
名字(Name)维护期的名称。
维护类型(Maintenance type)可以设置两种维护方式:
有数据采集(With data collection) - 维护时服务器采集数据,处理触发器
无数据采集(No data collection) - 维护时服务器不采集数据
启用自从(Active since)执行维护期的日期和时间变为活动状态。
注意:单独设置此时间不会激活维护期;为此,请转到期间(Periods)选项卡
启用直到(Active till)执行维护期停止活动的日期和时间。
时期(Periods)此块允许您定义进行维护的确切日期和时间。单击 11. 维护期 - 图2 会打开一个弹窗,其中包含灵活的 维护期表单,您可以在其中定义维护计划。有关详细说明,请参阅维护期
主机组(Host groups)选择将为其激活维护的主机组。将为指定主机组中的所有主机激活维护。此字段是自动完成的,因此开始输入它将显示所有可用主机组的下拉列表。
指定父主机组会隐式选择所有嵌套主机组。因此,维护也将在嵌套组的主机上激活。
主机(Hosts)选择将为其激活维护的主机。此字段是自动完成的,因此输入它将显示所有可用主机的下拉列表。
标签(Tags)如果指定了维护标签,对选定主机的维护仍将被激活,但只有当它们的标签匹配时才会抑制问题(即不采取任何措施)。
如果有多个标签,则计算如下:
And/Or - 所有标签必须对应;但是标签名相同的标签由 Or 条件计算
Or - 一个标签对应即可
匹配标签值有两种方式:
Contains - 区分大小写的子字符串匹配(标签值包含输入的字符串)
Equals - 区分大小写字符串匹配(标签值等于输入的字符串)
描述(Description)维护期说明。
维护期间

维护期间窗口用于安排定期或一次性维护的时间。该表单是动态的,可用字段根据所选的期间类型(Period type)而变化。

11. 维护期 - 图3

期间类型(Period type)描述(Description)
一次性(One time only)定义日期和时间,以及维护期的长度。
每日(Daily)每天(Every day(s)) - 维护频率:1(默认) - 每天,2 - 每两天等。
于(时:分)(At (hour:minute)) - 维护开始的一天中的时间
维护期长度(Maintenance period length) - 维护将持续多长时间。
每周(Weekly)每周(Every week(s)) - 维护频率:1(默认) - 每天,2 - 每两天等。
星期几(Day of week) - 应该在哪一天进行维护。
在(时:分)(At (hour:minute)) - 维护开始的一天中的时间
维护期长度(Maintenance period length) - 维护将持续多长时间。
每月(Monthly)月(Month) - 选择进行定期维护的所有月份。
日期(Date): 月的指定天(Day of month) - 如果维护发生在每个月的同一日期(例如,每月的第一天),请选择此选项。然后,在出现的新字段中选择所需的日期。
日期(Date): 星期几(Day of week) - 如果仅在特定日期(例如,每月的第一个星期一)进行维护,请选择此选项。然后,在下拉列表中选择每月所需的一周(第一、第二、第三、第四或最后一周)并标记维护日的复选框。
于(时:分)(At (hour:minute)) - 一天中开始维护的时间
维护期长度(Maintenance period length) - 维护将持续多长时间。

完成后,点击 Add 将维护期添加到 期间(Periods)块。

注意:

  • Every day/Every week 参数大于 1 时,起始日或周为 Active since 时间所在的日/周。例如:
    • Active since 设置为 1 月 1 日 12:00 且 每两天晚上 11 点设置一小时维护,将导致第一个维护期从 1 月 1 日晚上 11 点开始,而第二个维护期将从 1 月 3 日晚上 11 点开始;
    • 在相同的 Active since 时间和每两天凌晨 1 点设置一小时维护的情况下,第一个维护期将从 1 月 3 日凌晨 1 点开始,而第二个维护期将从 1 月 5 日凌晨 1 点开始。
  • 夏令时 (DST) 更改不会影响维护时间。假设我们有两个小时的维护,通常从凌晨 1 点开始,到凌晨 3 点结束:
    • 如果在维护一小时后(凌晨 2 点)发生 DST 更改并且当前时间从 2:00 更改为 3:00,则维护将再持续一小时直到 4:00;
    • 如果在维护两个小时后(凌晨 3 点)发生 DST 更改并且当前时间从 3:00 更改为 2:00,则维护将停止,因为两个小时已过。

展示

显示维护中的主机

主机名旁边的橙色扳手图标 11. 维护期 - 图4 表示该主机正在维护中:

  • 监控(Monitoring) → 仪表板(Dashboard)
  • 监控(Monitoring) → 问题(Problems)
  • 资产清单(Inventory) → 主机(Hosts) → 主机清单详细信息(Host inventory details)
  • 配置(Configuration) → 主机(Hosts)(参见“状态(status)”列)

11. 维护期 - 图5

将鼠标指针放在图标上时会显示维护详细信息。

此外,维护中的主机在监控(Monitoring) → 拓扑图(Maps)中显示为橙色背景。

显示抑制的问题

通常,维护中的主机问题会被抑制,即不会显示在前端。但是,也可以通过在以下位置选择 显示抑制的问题 选项来配置显示抑制的问题:

  • 监控(Monitoring)仪表板(Dashboard)(在问题主机(Problem hosts)问题(Problems)严重性问题(Problems by severity)触发器概览(Trigger overview)小部件配置)
  • 监控(Monitoring)问题(Problems)(在过滤器中)
  • 监控(Monitoring)拓扑图(Maps)(在拓扑图配置中)
  • 全局 通知(在用户配置文件配置中)

显示抑制的问题时,会显示以下图标:11. 维护期 - 图6。将鼠标悬停在图标上会显示更多详细信息:

11. 维护期 - 图7