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,则维护将停止,因为两个小时已过。

创建维护期时,使用创建它的用户的时区。但是,当定期维护期(DailyWeeklyMonthly)被安排时, 使用 Zabbix 服务器的时区。为了确保重复维护周期的可预测行为,需要为 Zabbix 的所有部分使用一个公共时区。

When done, press Add to add the maintenance period to the Periods block.

Note that Daylight Saving Time (DST) changes do not affect how long the maintenance will be. For example, let’s say that we have a two-hour maintenance configured that usually starts at 01:00 and finishes at 03:00:

  • if after one hour of maintenance (at 02:00) a DST change happens and current time changes from 02:00 to 03:00, the maintenance will continue for one more hour (till 04:00);
  • if after two hours of maintenance (at 03:00) a DST change happens and current time changes from 03:00 to 02:00, the maintenance will stop, because two hours have passed;
  • if a maintenance period starts during the hour that is skipped by a DST change, then the maintenance will not start.

If a maintenance period is set to “1 day” (the actual period of the maintenance is 24 hours, since Zabbix calculates days in hours), starts at 00:00 and finishes at 00:00 the next day:

  • the maintenance will stop at 01:00 the next day if current time changes forward one hour;
  • the maintenance will stop at 23:00 that day if current time changes back one hour.

展示

显示维护中的主机

主机名旁边的橙色扳手图标 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