Окна обслуживания
Окно обслуживания (maintenance window) — интервал плановых работ, в который Notifly не будит команду: деплой с 02:00 до 04:00, еженедельное обновление БД по вторникам, миграция в выходные.
Раздел Мониторинг → Окна обслуживания (или Cmd/Ctrl+K → «Окна
обслуживания»). Каналы и мониторы в активном окне помечаются бейджем
«Обслуживание».
Что входит в окно
Заголовок раздела «Что входит в окно»- Каналы — все мониторы и heartbeat-ы этих каналов и все сообщения в них. Флажок «Включая вложенные каналы» распространяет окно на всё поддерево.
- Отдельные мониторы — конкретные мониторы/heartbeat-ы, даже если их канал в окно не входит.
Покрывать можно только свои каналы и мониторы своих каналов, созданные вами. В одном окне — до 200 каналов и до 200 отдельных мониторов; название — до 100 символов. Выключенное окно (флажок «Окно включено» снят) ни на что не влияет.
Расписание
Заголовок раздела «Расписание»| Тип | Поля |
|---|---|
| Разовое | startsAt – endsAt (не длиннее 31 дня) |
| Еженедельное | дни недели (days, ISO: 1 = пн … 7 = вс; по дню начала), start–end в часовом поясе; через полночь можно |
Конец окна не включается: окно 02:00–04:00 в 04:00 уже закончилось.
Что происходит, пока окно идёт
Заголовок раздела «Что происходит, пока окно идёт»| Где | Эффект |
|---|---|
| Мониторы и heartbeat-ы | Проверки продолжаются и пишутся в историю, но алерт о падении откладывается. Если после окна проблема осталась, первая же проверка отправит алерт |
| Сообщения каналов | Не эскалируются во внешние каналы (email, SMS, звонки, мессенджеры, вебхуки) — ни в окне, ни после него |
| Push на устройства | Приходят беззвучно: сервер ставит флаг notifly::delivery (см. ниже) |
| Статус-страница | Компонент показывает «Плановые работы», общий баннер — «Идут плановые работы»; провалы проверок в окне не портят аптайм 30/90 дней |
| Инциденты | Авто-инцидент статус-страницы в окне не открывается; если сервис лежит и после окна — откроется вместе с отложенным алертом |
Детали:
- «Восстановлено» без «Упало» не приходит: если монитор упал и поднялся внутри окна, вы не получите ни одного сообщения.
- Heartbeat, чей пинг «протух» внутри окна, не переходит в
alerting: проверка переносится на конец окна. Пришёл пинг — heartbeat тихо вернётся вok, не пришёл — после окна уйдёт обычный алерт. В историю такой пропуск пишется один раз на окно и аптайм не портит. - Контент-, workflow- и browser-workflow-мониторы в окне не сообщают об изменениях и не переносят «эталон»: после окна значения сравнятся со снимком до работ, временная заглушка «ведутся работы» алерта не даст.
- В аптайме провал внутри окна исключается и из числителя, и из знаменателя. День, где все провалы пришлись на окно, закрашивается отдельным цветом.
Беззвучная доставка: notifly::delivery
Заголовок раздела «Беззвучная доставка: notifly::delivery»Каждое сообщение, созданное в канале внутри активного окна, получает в extras:
{ "notifly::delivery": {"silent": true, "reason": "maintenance"}}Клиенты показывают такое уведомление без звука, вибрации и всплывающего
баннера — но показывают (в отличие от служебного флага notifly::silent). Подробнее —
в протоколе WebSocket.
REST API
Заголовок раздела «REST API»| Метод и путь | Описание |
|---|---|
GET /maintenance-window | Список своих окон (с вычисленными полями) |
POST /maintenance-window | Создать |
GET /maintenance-window/{id} | Одно окно |
PUT /maintenance-window/{id} | Заменить поля окна |
DELETE /maintenance-window/{id} | Удалить (204) |
# Разовое окно на канал и всех его потомковcurl -X POST -H "X-Notifly-Key: $TOKEN" -H "Content-Type: application/json" \ https://host/maintenance-window \ -d '{"name":"Релиз 2.4","channelIds":[12],"includeSubtree":true,"monitors":[], "schedule":"once","startsAt":"2026-10-02T23:00:00Z","endsAt":"2026-10-03T01:00:00Z", "enabled":true}'
# Еженедельное окно для одного HTTP-монитораcurl -X POST -H "X-Notifly-Key: $TOKEN" -H "Content-Type: application/json" \ https://host/maintenance-window \ -d '{"name":"Бэкап БД","channelIds":[],"monitors":[{"kind":"http_monitor","id":345}], "schedule":"weekly","timezone":"Europe/Moscow","days":[2],"start":"02:00","end":"04:00", "enabled":true}'Виды мониторов (kind): monitor, http_monitor, content_monitor,
port_monitor, workflow_monitor, browser_workflow_monitor, heartbeat.
В ответе к полям окна добавляются вычисленные: active — окно идёт сейчас;
nextStart/nextEnd — текущее (если active) или ближайшее окно;
coveredChannelIds — каналы охвата с раскрытым поддеревом.
Коды: 400 — ошибка валидации, чужой канал или монитор; 403 — лимит (100
окон), read-only или ограниченный по каналам API-токен; 404 — чужое или
несуществующее окно.
См. также
Заголовок раздела «См. также»- Тихие часы — тишина по расписанию человека, а не сервиса.
- Статус-страницы — как окно выглядит для ваших пользователей.
- Доставка и эскалация — что именно подавляется.
- Heartbeat и Активные мониторы.