Перейти к основному содержимому

Документация

Полное руководство по настройке мониторинга сайтов с PingZen. Документация API, примеры кода и лучшие практики.

Окна обслуживания

Окна обслуживания позволяют запланировать техработы. Во время окна оповещения для выбранных мониторов приостанавливаются, чтобы подписчиков не заваливало ложными срабатываниями. Pinger сам управляет таймингом и видимостью на публичной странице — включая отложенное «всё в порядке» уведомление, если что-то реально пошло не так.

Возможности

Планирование

Запланируйте техработы заранее с указанием времени начала и окончания. Pinger автоматически переводит окно по жизненному циклу — вручную ничего переключать не нужно.

Подавление оповещений

Во время техработ оповещения для выбранных мониторов не отправляются. Подавляются и DOWN-оповещения (когда монитор уходит в критическое состояние внутри окна), и RECOVERED-оповещения (когда возвращается в норму).

Отложенные оповещения о восстановлении

Если монитор упал внутри окна и к моменту окончания снова здоров, Pinger в момент закрытия окна отправит синтезированный «всё в порядке» RECOVERED-alert. Подписчики всегда узнают, что сбой закончился — даже если внутри окна не было естественного перехода состояний.

Отображение на статус-странице

Посетители видят запланированные и активные техработы на публичной странице. После завершения окна то, что остаётся видимым, зависит от того, случилось ли что-то на самом деле (см. Видимость на публичной странице ниже).

История техработ

Полная история всех прошедших техработ для отчётности и SLA-аудита.

Статусы техработ

SCHEDULED

Запланировано

Техработы запланированы на будущее.

ACTIVE

Активно

Техработы идут прямо сейчас.

COMPLETED

Завершено

Техработы успешно завершены.

CANCELLED

Отменено

Техработы были отменены.

Видимость на публичной странице

Pinger по-разному показывает завершённые окна техработ на публичной статус-странице. Правило простое: окна без инцидентов исчезают сразу, окна с инцидентами остаются на сутки с красным бейджем количества инцидентов.

Окно считается с инцидентом, если во время его активности на одном из затронутых мониторов произошёл сбой (Pinger определяет это автоматически — вручную ничего переключать не нужно). Иначе оно считается чистым.

Запланировано + Активно — всегда видны на публичной странице (это ваше обещание посетителям).

Завершено + без инцидентов — исчезает с публичной страницы сразу после окончания окна. Страница не захламляется рутинными работами без последствий.

Завершено + с инцидентами — остаётся на публичной странице 24 часа после окончания с красным бейджем количества инцидентов в окне. Подписчики видят что произошло, не копаясь в истории.

Отменено + с инцидентами — тот же 24-часовой режим. Если оператор отменил работы посреди реального инцидента, информация о произошедшем остаётся видна посетителям.

Отменено + без инцидентов — никогда не появляется на публичной странице. Планы поменялись, посетителям сообщать нечего.

Полная история всех окон — чистых и грязных, завершённых и отменённых — всегда доступна в авторизованной панели для отчётности и SLA-аудита.

Жизненный цикл

Окно техработ автоматически проходит через четыре состояния. Также вы можете отменить его в любой момент до завершения.

T-∞ → начало

SCHEDULED — виден на статус-странице с момента создания. Оповещения продолжают приходить в обычном режиме на этом этапе.

начало → конец

IN_PROGRESS — планировщик автоматически переключает окно в этот статус в момент начала. Оповещения для затронутых мониторов подавляются. Любой сбой в окне автоматически помечает запись как «с инцидентом».

конец → конец + 24ч

COMPLETED — авто-переход в момент окончания. Если что-то пошло не так, отправляется отложенный «всё в порядке» RECOVERED-alert. Чистые окна сразу пропадают с публичной страницы, грязные остаются на 24 часа.

в любой момент до COMPLETED

CANCELLED — отмена по инициативе оператора. Если отмена произошла во время инцидента, запись остаётся видна 24 часа с бейджем; иначе исчезает сразу.

Пример: планирование миграции БД

Допустим, вы обновляете PostgreSQL в пятницу в 02:00 UTC. Ожидаемая длительность: 2 часа. Затронутые мониторы: api.example.com (HTTPS) и db-health (TCP). Статус-страница: example.

Понедельник — планируем. Название: «Обновление PostgreSQL 16». Описание: «Короткое read-only окно при переключении на новый primary. API может возвращать 503 в течение ~5 минут.» Затронутые мониторы: эти два. Сохраняем. Посетители example сразу видят «Запланированные техработы — пятница 02:00 UTC».

Пятница 02:00 — окно автоматически открывается. Баннер на публичной странице меняется на «Идут техработы». Оповещения для двух мониторов с этого момента подавляются. Ничего жать не надо.

02:14 — переключение затянулось, API отдаёт 503. Pinger молча записывает сбой на api.example.com и помечает окно как «с инцидентом» — оповещение не отправляется (вы об этом просили), но аудит-след сохраняется.

02:31 — сервис снова в норме. Оповещение пока не отправляется (мы всё ещё в окне), но Pinger запоминает восстановление.

Пятница 04:00 — окно автоматически закрывается. Публичная страница показывает «Прошедшие работы с инцидентами · 1 инцидент во время работ». Подписчики получают одно «всё в порядке» RECOVERED-оповещение. Окно остаётся видимым 24 часа; затем автоскрывается, оставаясь в истории панели управления навсегда.

Как создать

  1. Перейдите в раздел «Техобслуживание» в боковом меню
  2. Нажмите «Запланировать техработы»
  3. Введите название и описание работ
  4. Выберите дату/время начала и окончания
  5. Выберите мониторы, которые будут затронуты
  6. Сохраните — техработы появятся в календаре

Что увидят подписчики

Во время окна — никаких DOWN-оповещений и никаких RECOVERED-оповещений для затронутых мониторов. Баннер на статус-странице заменяет зелёные точки фразой «Идут техработы».

После чистого окна — тишина. Никаких оповещений. Статус-страница возвращается в норму. Для подписчиков ничего не поменялось.

После грязного окна — одно отложенное RECOVERED-оповещение на каждый монитор, который сейчас в норме, плюс карточка на публичной странице остаётся видимой 24 часа со счётчиком инцидентов. Подписчики узнают что произошло из одного уведомления, а не потока.

Советы

Планируйте техработы заранее, чтобы пользователи были предупреждены через статус-страницу.

Укажите детальное описание работ для прозрачности.

После завершения проверьте, что все мониторы вернулись в статус UP — если кто-то всё ещё DOWN, оповещения возобновятся естественно на следующей проверке.

Закладывайте запас на конец — лучше переоценить. Окно, которое затянулось, выглядит неловко; окно, закрывшееся чисто с пятью минутами запаса — профессионально.

Часто задаваемые вопросы

Почему моё последнее окно техработ исчезло со статус-страницы сразу после окончания?

Потому что внутри ничего не произошло. Pinger сразу скрывает чистые завершённые окна, чтобы статус-страница оставалась сфокусирована на важном. Полная запись по-прежнему есть в панели управления.

Мои техработы закончились час назад, но красная карточка с «1 инцидент во время работ» всё ещё на публичной странице — это баг?

Нет — это 24-часовое окно для случаев, когда Pinger обнаружил хотя бы один сбой. Карточка нужна, чтобы посетители и SLA-аудиторы видели что произошло. Автоматически скроется ровно через 24 часа после планового окончания.

Можно ли вручную убрать пометку «с инцидентом»?

Нет. Флаг устанавливается системой и монотонен — после установки скрыть его может только время. Так задумано: SLA-разбирательства проще когда аудит-след нельзя задним числом отредактировать.

Подписчиков не завалит оповещениями во время длинного окна?

Нет. Все DOWN- и RECOVERED-оповещения для затронутых мониторов подавлены на всю длительность окна. Если что-то пошло не так, подписчики получат ровно одно «всё в порядке» уведомление в момент завершения окна.

Что если мои техработы затянутся за плановое окончание?

Окно автоматически переходит в COMPLETED в плановое время окончания. Любые инциденты, которые возникли после этого, считаются реальными сбоями и вызывают обычные оповещения — они не подавляются. Закладывайте больше запаса на конец, чтобы избежать этого.

Можно ли отменить окно техработ, если оно уже идёт?

Да — перейдите в «Техобслуживание» и нажмите «Отменить». Если внутри окна уже были инциденты, отменённая запись с инцидентами остаётся на публичной странице 24 часа с аудит-контекстом. Если ничего не произошло — исчезает сразу.

Workspace-wide окно (без выбора конкретных мониторов) влияет на все мониторы?

Да — пустое поле «Затронутые мониторы» применяет подавление и тегирование ко всем мониторам в workspace. Счётчик инцидентов на публичной странице ограничен мониторами, которые реально показаны на этой странице, чтобы бейдж оставался осмысленным.

В чём разница между Scheduled и In progress?

Scheduled означает что время начала ещё не наступило. Оповещения работают в обычном режиме. In progress означает что время начала прошло и окно сейчас подавляет оповещения. Pinger переключает состояния автоматически — кликать ничего не нужно.

Решение проблем

«Моё окно всё ещё SCHEDULED через 5 минут после старта.» Авто-переход срабатывает раз в минуту. Подождите до 60 секунд. Если не переключилось — свяжитесь с поддержкой, планировщик мог отключиться.

«Подписчики получили DOWN-оповещение во время моего окна.» Проверьте, что упавший монитор реально был в списке «Затронутые мониторы» окна. Подавление действует по-мониторам, не глобально по workspace — если только список не пустой.

«Бейдж не показывается, хотя я уверен что что-то сломалось.» Счётчик считает только инциденты, которые начались внутри времени окна. Если инцидент начался до открытия окна, он не засчитывается в это окно — это отдельный, ранее существовавший сбой. Бейдж появляется только при значении больше нуля.

«Мои подписчики не получили «всё в порядке» оповещение.» Отложенное RECOVERED-уведомление срабатывает только если монитор здоров на момент закрытия окна. Если он всё ещё был DOWN — следующая обычная проверка вызовет восстановление, когда он реально поднимется.

API техобслуживания

Управляйте техработами через REST API. Публичный endpoint статус-страницы тоже отдаёт эти данные (только чтение) и применяет фильтр видимости, описанный выше.

GET/api/v1/maintenance

Список техработ с фильтрами (admin)

POST/api/v1/maintenance

Создать запланированные техработы

PUT/api/v1/maintenance/:id

Обновить техработы

POST/api/v1/maintenance/:id/cancel

Отменить техработы

DELETE/api/v1/maintenance/:id

Удалить окно техработ

GET/api/v1/public/status/:slug/maintenance

Публичный список — применяет фильтр видимости, описанный выше

Частые вопросы

Какие протоколы можно мониторить?

PingZen поддерживает 23 протокола: HTTP/HTTPS, WebSocket (WS/WSS), TCP, UDP, ICMP Ping, gRPC, DNS, WHOIS, SSL сертификаты, Email (SMTP/IMAP/POP3), FTP/FTPS, DNSBL, PageSpeed, SOCKS5, MTProxy, API Check и Transaction. Вы можете мониторить сайты, API, серверы, базы данных и любые сетевые сервисы.

Как быстро приходят оповещения?

Telegram оповещения доставляются в течение 1-2 секунд после обнаружения. Slack и Discord уведомления приходят практически мгновенно. Вы можете настроить несколько каналов оповещений для резервирования.

Можно ли организовать мониторы по проектам?

Да! PingZen поддерживает рабочие пространства, которые позволяют организовать мониторы по проектам, окружениям или командам. Каждое рабочее пространство может иметь свои настройки оповещений и участников.

Есть ли API для автоматизации?

Абсолютно. PingZen предоставляет полный REST API с OpenAPI документацией. Вы можете создавать, обновлять и удалять мониторы программно.

Как работают статус-страницы?

Статус-страницы — это публичные брендированные страницы, показывающие аптайм ваших сервисов. Вы можете отображать статус в реальном времени и позволить клиентам подписаться на обновления.

Что происходит, если я достигну лимита мониторов?

Мы уведомим вас при приближении к лимиту. Вы можете приостановить некоторые мониторы или связаться с нами для увеличения лимита. Мы никогда не останавливаем мониторинг без предупреждения, обеспечивая защиту ваших критически важных сервисов.

Готовы перестать пропускать даунтаймы?

Присоединяйтесь к тысячам команд, которые доверяют PingZen. Настройка за 30 секунд.