维护窗口
Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.
一个维护窗口(在 API 中称为静默)会在一段时间内停止针对某个监控项、 或所有监控项的通知。底层的评估仍会继续:当窗口结束时,一条仍处于 活动状态的告警会被通知一次,而不是在两小时后突然冒出来。
- 告警 → 维护:窗口列表,标注当前生效或已计划, 以及添加窗口的表单。
- 监控项页面 → 静默 1 小时 / 静默至…:针对整个监控项的一次性 快速维护窗口。
- ++ctrl+k++ → 计划维护。
暂缓,在当前标签的某条告警上或监控项页面上,是同一机制
的一个较小版本:一次性窗口只针对该条告警的精确标签,而不是整台
监控项,因此相邻的规则仍会继续发声。它也会出现在这里,名称为
Snooze · …。参见处理告警。
| 字段 | 含义 |
|---|---|
| 名称 | 显示在列表和历史记录中。 |
| 监控项 | 留空则覆盖所有监控项。 |
| 开始、结束 | 绝对时间。窗口包含开始时刻,不包含结束时刻。 |
| 备注 | 可选。说明该窗口存在的原因。 |
一次性窗口结束后会被清除。
| 字段 | 含义 |
|---|---|
| 星期 | 一周中的哪几天(周一到周日)。 |
| 起、止 | 该窗口时区下的本地时间。如果止小于或等于起,窗口会跨越午夜(“23:00 → 01:00” 属于它开始的那一天)。 |
| 时区 | IANA 名称,例如 Europe/Paris。默认预填为你浏览器所在的时区。 |
| 字段 | 含义 |
|---|---|
| 按星期几 | 第一个、第二个……第五个或最后一个,再加上星期几——“第一个星期日”、“最后一个星期五”。 |
| 按日期 | 一个月中的一天或多天,1 到 31,用逗号分隔(“1, 15”)。 |
| 起始 | 该窗口时区下的本地起始时间。 |
| 持续 | 窗口持续多久,以实际经过的时间计算。每月窗口可能持续超过一天。 |
| 时区 | 同上。 |
某个月如果不包含该次出现,会被直接跳过,而不是做近似处理: 二月没有 31 日,2026 年 4 月没有第五个星期日,因此该窗口那个月 就不会打开。列表会显示服务器计算出的下一次出现时间,方便一眼 确认。
DumbMonit 故意没有使用 cron 表达式:cron 表达式描述的是时刻, 而维护窗口需要的是持续时间。“每月的某几天”和”第 n 个星期几” 覆盖了人们实际使用的日历方式,并且读起来一目了然。
时区与夏令时
Section titled “时区与夏令时”一个循环窗口会在其本地的墙上时钟时间打开,然后以真实时间持续其 设定的时长。两个方面都很重要:
- 本地时刻不会偏移。“每周日
Europe/Paris时间 02:00”在冬季 对应 UTC 01:00,在夏季对应 UTC 00:00——窗口会跟随时钟变化, 而不是每年两次偏移一小时。 - 持续时间不会被拉长或压缩。 在时钟回拨的那一夜,墙上时钟的 02:00 到 04:00 实际会持续三个真实小时;窗口仍然只持续两小时。 在时钟前跳、02:00 这个时刻不存在的那一夜,窗口会在时钟恢复后 立即打开。
在时区功能出现之前保存的窗口会保留其固定的 UTC 偏移量,行为与 之前完全一致。重新保存并设置一个时区,即可让它跟随时钟变化。 服务器不认识的时区名称会在保存时被拒绝,并给出一个示例。
窗口也可以通过精确的标签匹配来限定(API 中的 matchers):所有
匹配条件都必须与该告警的标签相符,例如 tag_role = lab 和
__name__ = dumbmonit_up。一个没有监控项也没有匹配器的窗口会使整个
实例静默。重叠的窗口没有问题;覆盖该时刻的第一个窗口会说明静默
的原因。
被静默的告警是什么样子
Section titled “被静默的告警是什么样子”该告警仍保留其阶段,并显示 silenced: true;历史记录中会记录
这次转换,带有 notified: false 和原因。禁用某个窗口
(enabled: false)会使其仍留在列表中但不产生任何效果。
在公开状态页面上
Section titled “在公开状态页面上”受维护窗口覆盖的监控项,在列出它的任何状态页面 上会显示为维护中,而不是红色。如果页面上没有其他内容宕机 或降级,该页面的整体状态也会显示为维护中。只有指定了监控项—— 或其匹配器是监控项级标签——的窗口才会以这种方式显示;只针对单个 指标的窗口仍属于告警层面的事务。