11 维护

概述

在Zabbix中,您可以为主机和主机组定义维护周期。

此外,通过指定触发器标签,还可以仅为单个触发器(或触发器子集)定义维护。 在这种情况下,维护仅对这些触发器激活;主机或主机组的所有其他触发器将不处于维护状态。

有两种维护类型——带数据收集和不带数据收集。

在"带数据收集"的维护期间,触发器会正常处理,并在需要时创建事件。 然而,如果在动作配置中勾选了暂停对抑制问题的操作选项,则处于维护中的主机/触发器的问题升级将被暂停。 在这种情况下,包括发送通知或远程命令在内的升级步骤将在整个维护周期内被忽略。 请注意,问题恢复和update操作在维护期间不会被抑制,只有升级会被暂停。

例如,如果升级步骤计划在问题开始后的0、30和60分钟执行,而有一个半小时的维护从实际问题出现后的10分钟持续到40分钟,那么第二和第三步将在半小时后执行,或在60分钟和90分钟执行(假设问题仍然存在)。 同样,如果问题在维护期间出现,升级将在维护结束后开始。

要在维护期间正常接收问题通知(无延迟),您必须在动作配置中取消勾选暂停对抑制问题的操作选项。

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

在维护期间,Zabbix server必须运行。 维护每分钟重新计算一次,或者如果维护周期有更改,则在configuration cache重新加载时立即重新计算。

定时器进程每分钟的0秒检查主机状态是否需要更改为/从维护状态。 此外,定时器进程每秒检查是否有任何维护需要基于维护周期的更改而启动/停止,这些更改发生在配置update之后。 因此,启动/停止维护周期的速度取决于配置update interval(默认为10秒)。 请注意,维护周期的更改不包括活动开始/活动结束设置。 此外,如果一个主机/主机组被添加到现有的活动维护周期中,更改只会在下一分钟开始时由定时器进程激活。

请注意,当一个主机进入维护状态时,Zabbix server定时器进程将读取所有未解决的问题以检查是否需要抑制这些问题。 如果有许多未解决的问题,这可能会对性能产生影响。 Zabbix server在启动时也会读取所有未解决的问题,即使当时没有配置任何维护。

请注意,Zabbix server(或proxy)始终收集数据,无论维护类型如何(包括"无数据"维护)。 如果设置了'无数据收集',服务器稍后会忽略这些数据。

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

如果在一个主机处于维护状态时添加了日志监控项,并且维护结束,则只会收集维护结束后新的日志文件条目。

如果为处于"无数据"维护类型的一个主机发送了带时间戳的值(例如使用Zabbix sender),则该值将被丢弃,但可以为过期的维护周期发送带时间戳的值,它将被接受。

如果用户更改了维护周期、主机、组或标签,更改只会在configuration cache同步后生效。

配置

配置维护周期:

  1. 进入: 数据采集 > 维护.
  2. 点击创建维护周期(或现有维护周期名称).
  3. 在表单中输入维护参数.

所有必填字段均以红色星号标记.

参数 描述
Name 维护周期名称.
Maintenance type 可设置两种维护类型:
带数据采集 - 服务器在维护期间会收集数据,触发器会处理;
无数据采集 - 服务器在维护期间不会收集数据.
参见Effect of maintenance periods了解每种类型如何影响可用性报告.
Active since 维护周期开始生效的日期和时间.
注意: 仅设置此时间不会激活维护周期;必须在周期中配置维护周期(见下文).
Active till 维护周期停止生效的日期和时间.
Periods 此模块允许定义维护发生的具体日期和时间.点击会打开一个灵活的维护周期表单弹窗,可在此定义维护计划.详见维护周期的详细说明.
Host groups 选择维护将激活的主机组.维护将激活指定主机组(s)中的所有主机.此字段支持自动补全,输入时会显示所有可用主机组的下拉列表.
指定父主机组会隐式选择所有嵌套主机组.因此维护也会在嵌套组的主机上激活.
Hosts 选择维护将激活的主机.此字段支持自动补全,输入时会显示所有可用主机的下拉列表.
Tags 指定标签以suppress problems维护中主机上的匹配标签.
可设置多个条件.标签名称匹配始终区分大小写.

每个条件有两个可用运算符:
包含 - 包含标签值中含有输入string的指定标签名称(子串匹配,区分大小写);
等于 - 包含完全匹配的指定标签名称和值(区分大小写).

条件有两种计算类型:
与/或 - 必须满足所有条件,相同标签名的条件将通过或条件分组;
- 只需满足一个条件.

仅当选择带数据采集模式时才能指定标签.
Description 维护周期描述.
维护周期

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

周期类型 描述
One time only 配置一次性维护周期:
日期 - 维护周期的日期和时间;
维护周期时长 - 维护将持续多长时间。
Daily 配置每日维护周期:
每几天 - 维护频率(1 - (默认) 每天,2 - 每两天,以此类推);
时间(时:分) - 维护开始的当天时间;
维护周期时长 - 维护将持续多长时间。

每几天参数大于"1"时,起始日为生效时间所在的日期。示例:
- 如果生效时间设置为"2021-01-01 12:00",每几天设置为"2",时间(时:分)设置为"23:00",则第一次维护周期将于1月1日23:00开始,第二次维护周期将于1月3日23:00开始;
- 如果生效时间设置为"2021-01-01 12:00",每几天设置为"2",时间(时:分)设置为"01:00",则第一次维护周期将于1月3日01:00开始,第二次维护周期将于1月5日01:00开始。
Weekly 配置每周维护周期:
每几周 - 维护频率(1 - (默认) 每周,2 - 每两周,以此类推);
星期几 - 维护应在哪一天进行;
时间(时:分) - 维护开始的当天时间;
维护周期时长 - 维护将持续多长时间。

每几周参数大于"1"时,起始周为生效时间所在的周。示例请参见上述每日参数描述。
Monthly 配置每月维护周期:
月份 - 选择所有进行定期维护的月份;
日期:每月第几天 - 如果维护应在每月的同一天进行(例如每月的第1天),则选择此选项,然后在出现的每月第几天字段中选择所需的天数;
日期:每周第几天 - 如果维护应仅在特定日期进行(例如每月的第一个星期一),则选择此选项,然后在下拉菜单中选择所需的月份周数(第一周、第二周、第三周、第四周或最后一周),再勾选维护日的复选框;
时间(时:分) - 维护开始的当天时间;
维护周期时长 - 维护将持续多长时间。

创建维护周期时,使用的是创建该周期的用户的time zone。 然而,当设置周期性维护周期(每日每周每月)时,使用的是Zabbix server的时区。 为了确保周期性维护周期的行为可预测,要求Zabbix所有组件使用相同的时区。

完成后,点击 添加 将维护时段添加到 时间段 块中。

请注意,夏令时(DST)的变更不会影响维护的持续时间。
例如,假设我们配置了一个两小时的维护,通常从 01:00 开始,到 03:00 结束:

  • 如果在维护一小时后(02:00)发生夏令时变更,当前时间从 02:00 跳变为 03:00,维护将继续一小时(直到 04:00);
  • 如果在维护两小时后(03:00)发生夏令时变更,当前时间从 03:00 跳变为 02:00,维护将停止,因为已经过了两小时;
  • 如果维护时段在被夏令时跳过的小时内开始,则维护将不会启动。

如果维护时段设置为 "1 天"(由于 Zabbix 按小时计算天数,维护的实际持续时间为 24 小时),从 00:00 开始,并在次日 00:00 结束:

  • 如果当前时间向前跳了一小时,维护将在次日的 01:00 停止;
  • 如果当前时间向后退了一小时,维护将在当天的 23:00 停止。

显示

显示处于维护模式的主机

橙色扳手图标出现在主机名称旁时 表示该主机处于以下模块的维护状态:

  • 仪表盘
  • 监控 > 问题
  • 资产清单 > 主机 > 主机资产详情
  • 数据采集 > 主机 (参见'状态'列)

当鼠标悬停在该图标上时 将显示维护详情信息

此外 处于维护状态的主机在监控 > 地图中会get橙色背景标识

显示被抑制的问题

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

  • 仪表板(在问题主机问题按严重程度分类的问题触发器概览小部件配置中)

  • 监控 > 问题(在过滤器中)

  • 监控 > 地图(在地图配置中)

  • 全局设置

    notifications (in user profile configuration)

当显示被抑制的问题时,会显示以下图标:。 将鼠标悬停在图标上会显示更多详细信息。

维护期间队列计算

Zabbix前端(Administration > Queue)中显示的队列由Zabbix server计算得出。 这些队列不包含处于无数据采集维护状态下的监控项——即使这些监控项的值出现延迟,其队列长度始终为零。 处于数据采集维护状态下的延迟监控项仍会被计入队列统计。

Zabbixproxy无法感知维护周期,因为Zabbix server与proxy之间不存在维护配置的同步机制。 在Zabbix proxies上计算的内部检查(例如zabbix[queue,,]zabbix[stats,,,queue,,])会报告延迟的监控项,而无论Zabbix server上的维护状态如何。

因此,对于处于无数据采集维护状态的同一监控项,Zabbix前端与Zabbix proxies上的内部检查可能会报告不同的队列长度。