+7 499 938 8452 пн.-пт. 10:00 – 17:00

Оповещения об ошибках на почту, по СМС и в мессенджеры




Что делает модуль

Модуль «Оповещения об ошибках на почту, по СМС и в мессенджеры» подключается к штатному обработчику исключений Bitrix и присылает администратору уведомление о необработанных ошибках — по почте или через SMS/мессенджер, — используя уже настроенные на сайте почтовые события и SMS-провайдер.

Модуль не подменяет системный лог ошибок Bitrix, а дополняет его: регистрируется как ещё один обработчик и при каждом необработанном исключении или критической ошибке формирует и отправляет уведомление через стандартные события Bitrix (CEvent, SMS-событие модуля messageservice). Сам модуль писем не рассылает — он лишь инициирует штатное событие, поэтому канал доставки полностью зависит от того, что уже настроено на сайте: почтовый шаблон, SMS-шлюз, интеграция с мессенджером через messageservice.

Если у вас истекла лицензия Битрикса, то можете скачать модуль с github

Возможности
  • Уведомления по email и SMS/мессенджерам — два независимых события (почтовое и SMS), каждое можно включать, выключать и настраивать отдельно, стандартными средствами Bitrix.
  • Группировка одинаковых ошибок — повторяющиеся ошибки не заваливают почту дублями, а копятся в очереди и раз в заданный интервал (по умолчанию — раз в час) отправляются одним письмом со счётчиком повторений. Одинаковыми считаются ошибки, совпадающие по классу, тексту, коду, файлу, строке, типу и источнику, — поэтому одна и та же ошибка из разных модулей не сливается в одну запись.
  • Приоритет для критичных ошибок — fatal error и необработанные исключения можно настроить отправлять мгновенно, даже при включённой группировке, чтобы администратор не ждал конца интервала, узнав о падении сайта. Управляется отдельной галочкой в настройках, включена по умолчанию.
  • API для собственного кода — метод Rover\Notifier\Notifier::report() позволяет отправлять произвольные сообщения (не только пойманные исключения) из кода сайта или других модулей через ту же инфраструктуру письма/SMS — удобно для «ручных» уведомлений вроде «не прошла оплата заказа». К сообщению можно приложить любые дополнительные поля, они будут доступны в шаблоне как плейсхолдеры. Такие сообщения подчиняются общим настройкам модуля: не отправляются при выключенном перехвате и участвуют в группировке наравне с перехваченными ошибками.
  • Понятно, кто виноват — в уведомлении указывается источник ошибки: ядро, конкретный модуль (по его идентификатору, например rover.amosale) или код сайта. Модуль определяет это сам, по месту возникновения ошибки, — подписывать сообщения вручную не нужно. Рядом выводится тип ошибки в читаемом виде (FATAL, UNCAUGHT_EXCEPTION и т.д.), а не служебный числовой код.
  • Настраиваемый интервал группировки — регулируется из административной панели модуля, без правки кода.
  • Готов к работе сразу после установки — автоматически создаются почтовый и SMS-типы событий и оба шаблона с готовым набором плейсхолдеров (текст ошибки, источник, тип, код, файл, строка, стек, счётчик повторов). Письма начинают приходить сразу после включения модуля; SMS-шаблон создаётся выключенным — нужно указать получателя и включить его. Для реальной доставки в Telegram/WhatsApp/MAX помимо получателя нужен установленный штатный модуль «Сервис уведомлений» с подходящим коннектором-отправителем.
  • Корректное удаление — при деинсталляции модуль аккуратно убирает себя из конфигурации обработчика исключений, удаляет агент, таблицу очереди и (по желанию) созданные события/шаблоны, либо оставляет их, если отмечена соответствующая опция.
Особенности, на которые стоит обратить внимание
  • Модуль никогда не прерывает основной обработчик исключений: любая ошибка на стороне самого решения (недоступна БД, не настроен SMS-шаблон и т.п.) перехватывается и гасится внутри модуля — сайт продолжает работать штатно.
  • Защита от повторного вызова обработчика в рамках одного запроса для избегания дублирования отправки.
  • Очередь группировки хранится в отдельной таблице через ORM Bitrix, агент разбирает её по расписанию и чистит за собой.
  • Дополнительные поля, переданные из кода вместе с сообщением, переживают очередь группировки и доходят до шаблона в сводном уведомлении — в письме не остаётся нераскрытых плейсхолдеров.
  • При отключении группировки все накопленные сообщения об ошибках немедленно отправляются.
  • Модуль не создаёт собственную инфраструктуру доставки сообщений — использует ту, что уже есть на проекте, поэтому не конфликтует с существующими интеграциями и легко встраивается в проекты любого масштаба.
  • Приоритизация ошибок использует штатные константы обработчика исключений Bitrix (FATAL, UNCAUGHT_EXCEPTION) — отдельной системы приоритетов изобретать не пришлось, всё завязано на то, что уже даёт ядро.
  • Административная панель отражает реальное состояние в моменте: сколько сообщений сейчас ждут отправки в очереди (со ссылкой на саму таблицу) и когда сработает следующий запуск агента группировки — не нужно лезть в БД, чтобы понять, что происходит.
Кому подойдёт

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



Каталог для ИИ