Интеграция 1С и Sentry для мониторинга ошибок и расчета Apdex

30.05.25

Администрирование - Мониторинг

Данная статья посвящена разработке интеграции 1С и Sentry, что позволяет сделать удобнее анализ ошибок. Также имеется возможность выгрузки замеров времени из 1С для расчета Apdex с целью анализа удовлетворенности пользователей скоростью работы информационной системы. В статье разобраны основные важные моменты при разработке представленной интеграции.

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Интеграция с Sentry
.cfe 60,54Kb
15 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

Введение

Появившаяся необходимость выгрузки ошибок из 1С в Sentry  была обусловлена потребностью удобного мониторинга ошибок и пользовательского опыта вне 1С. Такая потребность возникла у одного крупного клиента компании "Эм Си Арт", для которого нужно было придумать решение. Сложилась следующая ситуация: в службу технической поддержки регулярно поступали обращения с жалобами на скорость работы 1С, а в силу отсутствия мониторинга пользовательского опыта расследование инцидентов было затруднено, также нельзя было отследить динамику улучшения/ухудшения работы системы. Для решения описанных проблем был выбран Sentry.

В вопросе реализации выгрузки ошибок статья не несет глобальной новизны (все статьи по данной тематике перечислены в списке источников), но представленное решение имеет свое исполнение. Схожая и полезная статья[1] на эту тему написана Владиславом Журавским, за что автору огромная благодарность. Помимо мониторинга ошибок, Sentry предоставляет возможность расчета такого показателя, как Apdex, суть которого будет описана далее. Было решено воспользоваться, в том числе, и данным функционалом Sentry, что уже более ново в контексте интеграции 1С и Sentry (во всяком случае, по данной теме сходу материалов найти не удалось).

Рассматриваемое решение может быть неидеальным, но оно работоспособно и дает определенный функционал. В статье подробно пояснены не все тонкости разработки решения, а только наиболее важные (по мнению автора).

Что такое Sentry

Sentry - инструмент для сбора и анализа ошибок. Есть возможность указания большого количества дополнительной информации для каждой ошибки: пользователь, окружение, клиент и сервер и многое другое. Процесс создания проекта в Sentry рассматриваться не будет, как и процесс получения DSN токена, эта информация есть в статье [1].

 

Рисунок 1. Пример списка ошибок и иных сообщений в Sentry

 

На рис.1 показан пример списка ошибок (и других сообщений) в Sentry. Видно, что есть возможность настраивания фильтров для отбора нужной информации. Также уже можно заметить некоторые плюсы от использования данного инструмента. Например, указано количество возникновения каждой ошибки и количество пользователей, у которых она когда-либо возникала. 

 

Рисунок 2. Пример списка событий для расчета Apdex в Sentry

   

На данном рисунке проиллюстрирован список событий для расчета Apdex. APDEX (Application Performance Index) — это индекс производительности, который отражает, насколько пользователи удовлетворены скоростью работы информационной системы[2]. Есть возможность внутри каждого события увидеть список событий данного типа (с возможностью раскрыть информацию о конкретном событии), а также ознакомиться с графиками Apdex и длительности события в различные временные промежутки. Это продемонстрировано на рис. 3.

 

Рисунок 3. Пример списка событий конкретного вида для расчета Apdex в Sentry

   

На данном рисунке можно увидеть некоторую техническую информацию в разрезе процентного соотношения от общего количества таких событий. Например, окружение (прод, стейдж или тест), операционную систему и имя компьютера. 

 

Рисунок 4. Пример данных конкретного события для расчета Apdex в Sentry

   

На рисунке выше продемонстрированы данные, полученные для конкретного события. Указаны даты начала и окончания события в Unix формате в стандарте UTC в миллисекундах, длительность в миллисекундах, пользователь, база, версии платформы и конфигурации и т.д. Т.к. в примере использованы данные для события открытия формы списка справочника сотрудников, то у пользователя (пользователя Sentry) есть подробная информация о том, когда и у кого была открыта упомянутая форма, как быстро открылось окно и другая полезная информация.

 

Реализация интеграции на стороне 1С

Как и для большинства доработок в 1С, было принято решение воспользоваться дополнительным расширением. Главным преимуществом применения доп. расширений при доработках в 1С является отсутствие необходимости снимать основную конфигурацию с поддержки. Кроме того расширение крайне просто установить в нужную базу или несколько баз. В расширение были добавлены некоторые объекты и есть несколько заимствованных из основной конфигурации. 

Были добавлены 3 общих модуля: sentry_Синхронизацияsentry_RestApisentry_ОбщегоНазначенияСервер. Подсистема sentry_Интеграция. Роль sentry_ОсновнаяРоль для настройки прав доступа к расширению.  Общая картинка для упомянутой подсистемы. Справочник НастройкиСинхронизацииСsentry для настройки интеграции. И 3 системных перечисления: sentry_РежимыРаботыsentry_УровниЖурналаРегистрацииsentry_Окружение. Заимствованные объекты: справочник КлючевыеОперации и РС (регистр сведений) ЗамерыВремени.

Для справочника НастройкиСинхронизацииСsentry были добавлены следующие реквизиты:

  • Сервер (Строка) - хранит адрес Sentry для обмена данными;
  • Токен (Строка) - хранит токен Sentry для обмена данными;
  • НомерПроекта (Строка) - хранит идентификатор проекта Sentry для обмена данными;
  • ЗащищенноеСоединение (Булево) - признак защищенного соединения;
  • Порт (Строка) - номер порта при обмене данными;
  • ОбменЗапущен (Булево) - признак того, что обмен с Sentry запущен;
  • ИдентификаторФоновогоЗадания (УникальныйИдентификатор) - идентификатор текущего выполняемого фонового задания для данной настройки интеграции;
  • РежимРаботы (ПеречислениеСсылка.sentry_РежимыРаботы) - хранит режим работы для данной настройки. Доступны значения: ПолнаяВыгрузкаВыгрузкаЗаПериодВыгружатьТолькоНовыеПослеЗапускаОбмена;
  • НачалоПериодаЖурналРегистрации (Дата) - дата начала выгрузки данных об ошибках при режиме работы ВыгрузкаЗаПериод;
  • ОкончаниеПериодаЖурналРегистрации (Дата) - дата окончания выгрузки данных об ошибках при режиме работы ВыгрузкаЗаПериод;
  • ВыгружатьЖурналРегистрации (Булево) - признак того, необходимо выгружать ошибки;
  • ВыгружатьЗамерыВремени (Булево) - признак того, необходимо выгружать замеры времени;
  • НачалоПериодаЗамерыВремени (Дата) - дата начала выгрузки данных о замерах времени при режиме работы ВыгрузкаЗаПериод;
  • ОкончаниеПериодаЗамерыВремени (Дата) - дата окончания выгрузки данных о замерах времени при режиме работы ВыгрузкаЗаПериод;
  • Окружение (ПеречислениеСсылка.sentry_Окружение) - информация об окружении, доступные значения: Прод, СтейджТест.

Дополнительно была добавлена табличная часть с единственным реквизитом УровеньЖурналаРегистрации (ПеречислениеСсылка.sentry_УровниЖурналаРегистрации) с возможными значениями: ОшибкаПредупреждениеИнформацияПримечание. Табличная часть необходима для возможности указания пользователем типа информации выгружаемой из журнала регистрации.

Важный момент про Сервер, Токен и НомерПроекта будет раскрыт далее. Для данного справочника были созданы 3 формы: ФормаЭлементаФормаСпискаФормаВыполнениеСинхронизации. На рис. 5 продемонстрирована форма элемента справочника.

 

Рисунок 5. Форма настройки в 1С интеграции с Sentry

   

Назначение полей формы можно понять из описания реквизитов выше. На форме присутствуют кнопки запуска и выключения обмена, а также кнопка проверки соединения с Sentry. Элементы формы отображаются в зависимости от необходимости их отображения. Эта логика отражена в модуле формы.

 
 Модуль формы ФормаЭлемента справочника НастройкиСинхронизацииСsentry

     

Необходимо упомянуть важные аспекты работы модуля выше. Добавлена проверка создания дублирующих настроек интеграции (функция ПроверитьНастройкуНаДубль), т.е. нет возможности создать несколько подключений к одному и тому же проекту одного и того же Sentry. Есть возможность проверки установки соединения с Sentry путем отправки тестовой ошибки. Формирование и процесс отправки данных об ошибке будет описан позже. Элементы формы, которые не нужны при текущих настройках скрываются и вновь отображаются при соответствующих настройках, все это описано в процедуре ОбновитьОтображениеЭлементовФормы. У пользователя есть возможность указывать различные уровни журнала регистрации, т.е. без дублей, что отражено в обработчике события формы ВыгружаемыеУровниЖурналаРегистрацииПередОкончаниемРедактирования. Также все изменения формы в результате своих действий пользователь будет видеть сразу и форму не надо обновлять или использовать кнопку записи. 

Стоит более подробно описать работу с DSN токеном. Он состоит из 3-х частей: токена, адреса Sentry и идентификатор проекта(в представленном коде переменная названа НомерПроекта).

Шаблон DSN токена: https://<токен>@<адрес Sentry>/<идентификатор проекта>. 

Пример DSN токена: https://4df6cc9d87bgw6363353c051e23d@sentry.mycompany.ru/46.

По коду модуля формы видно, что при окончании редактирования DSN токена пользователем он разделяется на указанные выше части и записывается в соответствующие реквизиты.

Выгрузка данных в Sentry во всех трех режимах происходит с помощью фонового задания, т.е. пользователю не нужно ждать, пока все данные выгрузятся в Sentry, он может и дальше работать с 1С. Для режимов ПолнаяВыгрузка и ВыгрузкаЗаПериод используется форма ФормаВыполнениеСинхронизации, чтобы выводить пользователю информацию о ходе выгрузки данных. Сейчас выводятся только 2 сообщения: о начале и об окончании выгрузки данных. При необходимости логирование можно дополнить. Для режима работы ВыгружатьТолькоНовыеПослеЗапускаОбмена эта форма не используется, т.к. без выключения обмена пользователем этот процесс нельзя считать конечным, также не имеет смысла на глазах у пользователя логировать процессы неизвестной длительности. На рис. 6 представлена форма ФормаВыполнениеСинхронизации справочника НастройкиСинхронизацииСsentry.

 

Рисунок 6. Форма выполнения синхронизации с Sentry

 

 
 Модуль формы ФормаВыполнениеСинхронизации справочника НастройкиСинхронизацииСsentry

Проверено на следующих конфигурациях и релизах:

  • Зарплата и управление персоналом, редакция 3.1, релизы 3.1.30.108

Вступайте в нашу телеграмм-группу Инфостарт

мониторинг ошибок показатели производительности пользовательский опыт интеграция Sentry

См. также

Работа с интерфейсом Анализ учета Мониторинг 1С:Предприятие 8 1С 8.3 1C:Бухгалтерия 1С:Бухгалтерия 3.0 1С:ERP Управление предприятием 2 1С:Управление холдингом 1С:Зарплата и Управление Персоналом 3.x 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Управление торговлей 11 Платные (руб)

Создайте свой функциональный интерфейс в любой конфигурации 1С с помощью расширения Infostart Dashboard. Настраивайте панели виджетов с метриками, индикаторами и показателями на начальном экране. Узнайте возможность внедрения подсистемы у себя в конфигурации с помощью бесплатной обработки "Анализ внедрения подсистемы 1С Infostart Dashboard"!

31720 руб.

27.03.2025    89400    67    44    

75

Инструменты администратора БД Корректировка данных Мониторинг Учет документов 1С 8.3 1С:Управление торговлей 10 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Розница 3.0 Платные (руб)

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

6100 руб.

11.06.2026    631    2    0    

4

HighLoad оптимизация Мониторинг Системный администратор Программист 1С 8.3 Бесплатно (free)

Если в журнале регулярно всплывает deadlock, а пользователь жалуется на документ, которого в отчёте о взаимоблокировке вообще нет, эта статья про то, как искать настоящего виновника. Главный вывод: разбирать один deadlock бесполезно. Один случай не отличить от совпадения, а картину даёт только частота: какие объекты повторяются во всех отчётах сразу. Внутри готовый SQL-запрос, который разворачивает список ресурсов в таблицу частот, и три грабли на нём. Плюс четыре ложных следа, на которые мы потратили часы, и объяснение, почему объект из жалобы виноват не был. Чем закончилось: помогла одна галочка на реквизите, а замер до и после показал разницу на два порядка по логическим чтениям. Есть и раздел про цену этого решения, которую мы не измерили.

18.08.2026    316    nedomolkov.ivan    0    

0

Перенос данных 1C Мониторинг Системный администратор Программист 1С 8.3 Бесплатно (free)

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

17.08.2026    540    nedomolkov.ivan    4    

1

Мониторинг Программист 1С 8.3 Абонемент ($m)

Готовый модуль трейсинга операций для 1С: создание спанов со стеком, наследование TraceID, поддержка распределённых трейсов (фоновые задания, HTTP, интеграции), гарантированное завершение спанов при любом исходе и граничный режим «отката» стека. Все данные пишутся в журнал регистрации в JSON-виде и визуализируются в отдельной обработке — с деревом спанов, длительностями, статусами, атрибутами и ошибками.

1 стартмани

17.08.2026    469    0    van_za    0    

15

Мониторинг Программист 1С 8.3 Россия Бесплатно (free)

Небольшой графический монитор происходящего в 1С. Показывает в реальном времени, что происходит в базе - входы пользователей, изменения объектов, ошибки, фоновые и регламентные задания, нагрузку на сам журнал регистрации. Умеет ловить события по правилам и показывать уведомления.

17.08.2026    793    160    AleksandrEvplov    14    

19

Перенос данных 1C Мониторинг Программист Бесплатно (free)

Разбираем, как подготовить Шину 1С к промышленной эксплуатации и обеспечить непрерывность интеграционных процессов при сбоях, обновлениях и недоступности отдельных узлов. Показываем варианты отказоустойчивой архитектуры – от подтверждения обработки сообщений до активно-пассивной и активно-активной схем с двумя экземплярами шины. Рассказываем, как контролировать инфраструктуру и потоки сообщений с помощью штатных и пользовательских метрик, а также как защитить продуктовую шину от случайного подключения копий баз с теми же учетными данными.

21.07.2026    2028    Sibars    12    

4

Регламентированный учет и отчетность Мониторинг Бухгалтер 1C:Бухгалтерия Россия Бухгалтерский учет Платные (руб)

Проверка корректности данных складского учета множества баз. Целевая система "1С:Предприятие 8.3". Прямой прямой доступ к базам (файловым и серверным) без нарушения регламента фирмы 1С. Выполняет массовую проверку без запуска клиентского приложения 1С. Обеспечивает выявление ошибок складского учета без использования интерфейса 1С. Наиболее эффективен в условиях аутсорсинговых бухгалтерий. Обязательно: требуется регистрация компонента ComConnector.

35380 руб.

03.07.2026    507    0    0    

0
Для отправки сообщения требуется регистрация/авторизация