Как организовать простой и эффективный мониторинг без КИП, без ТЖ, без СМС и регистрации, только на 1С

09.10.25

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

Администраторы следят за серверами и оборудованием, но кто следит за 1С? Показываем, как на базе только стандартного стека 1С упаковать RAS и построить простую систему мониторинга и оповещений без КИП, ТЖ и сложных инструментов. В статье – рабочие приемы, паттерны и лайфхаки, которые позволяют вовремя реагировать на проблемы и получать аналитику без лишних затрат.

Меня зовут Крапивин Евгений. Я – сертифицированный эксперт по технологическим вопросам и технический архитектор компании Factory5.

Для нас, 1С-разработчиков, сервер-приложение – это центральное звено, фокус всего нашего внимания. Если провести аналогию, то он как дилер в покере. Вы делаете запрос – он возвращает ответ. А особо удачливые получают огромный «выигрыш». При этом он «в уме» просчитывает все комбинации и анализирует ситуацию. Чтобы понять, как он это делает и «заглянуть в его мозги», мы можем воспользоваться несколькими методами.

 

Роль сервера-приложения и встроенные средства мониторинга

 

 

Сервер-приложение – центр всей архитектуры. На схемах он всегда изображается в центре, выступая в роли маршрутизатора между клиентом и СУБД. Через него проходят все запросы и потоки данных.

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

Однако, на мой взгляд, у этой системы есть два существенных недостатка. Во-первых, отсутствует хранение исторических данных. Да, кое-что накапливается, но это в основном счетчики производительности ресурсов, доступные только «счастливым обладателям» КОРП-платформ. Большинству пользователей они недоступны, да и использовать их в повседневной работе довольно сложно.

Во-вторых, в системе отсутствует нормальная, удобная система триггеров и уведомлений. В технологический журнал (ТЖ) записываются события, включая события ATTN, но никаких сообщений администратору, SMS или оповещений – ничего подобного не приходит.

Что же делать, чтобы извлечь эти данные и аккуратно разложить их «по полочкам»?

 

RAS – сервер администрирования 1С

 

 

Компания 1С разработала специальный сервер администрирования – RAS. Начиная с версии платформы 8.3.14 для работы с ним был добавлен отдельный объект языка программирования. Это означает, что вы можете писать код прямо в 1С на привычном языке, обращаться к кластеру и получать всю необходимую информацию.

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

В синей зоне – пример взаимодействия, когда на одном хосте развернуто несколько кластеров. В этом случае для каждого кластера требуется отдельный сервер администрирования, поскольку он должен совпадать с версией кластера. Однако приложение, написанное на 1С, может работать с любой версией платформы – оно будет корректно обращаться к RAS и получать нужные данные.

Какие способы взаимодействия с RAS существуют?

  • RAC – консольная утилита, предназначенная в первую очередь для администраторов. Требует ручного ввода команд, получения данных по запросу. Работает медленно – значительно медленнее, чем использование объектной модели 1С.

  • Java API – вариант для технических энтузиастов. Кто хочет, может попробовать.

 

Типы собираемых метрик

 

 

Метрики, которые можно получать через RAS, условно можно разделить на две большие группы:

  1. Справочные данные – настройки кластера, информация об информационных базах, списки хостов и другие статические сведения.

  2. Метрики производительности – данные по сеансам, рабочим процессам, загрузке ресурсов и т.д.

Если вы интересуетесь объектной моделью, обязательно загляните в Синтакс-помощник. Там информация изложена очень подробно – даже лучше, чем на ИТС.

 

Практическое применение мониторинга: память и рабочие процессы

 

Все это нужно, чтобы эффективно мониторить систему. Например, отслеживая поведение рабочего процесса, вы можете заметить, что потребление памяти постепенно растет, а затем резко падает. Потому что перезагружается рабочий процесс. Это может быть следствием утечек памяти или ее неэффективного использования.

Что можно сделать:

  • Настроить одну информационную базу на отдельный рабочий процесс.

  • Если выявленная база сильно «бьет» по памяти (создает высокие пики), ее можно детально проанализировать.

Правда, такая настройка доступна только пользователям корпоративной лицензии. Пользователи ПРОФ могут просто вынести проблемную базу на отдельный кластер – даже на тот же хост. Лицензия для этого не требуется, все будет работать стабильно, и база будет изолирована.

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

  • Если это фоновое задание, можно зайти в информационную базу и получить имя выполняемого метода. Это поможет понять, запущен ли обмен данными или какой-то регламентный процесс работает неэффективно после обновления.

  • Если это обычный пользовательский сеанс, можно заранее настроить ТЖ на сбор событий ADMIN и EXCP, а затем прервать текущий вызов. В технологическом журнале появятся события ADMIN, а вслед за ними – ошибки с контекстом выполнения и даже текстом текущего SQL-запроса. Таким образом вы получите точное представление о том, что происходило на сервере в конкретный момент.

 

Ошибки в использовании памяти: результат запроса и циклические ссылки

 

Хочу остановиться на одном часто недооцениваемом объекте – результате запроса. Многие считают его «бесплатным», но это далеко не так.

Если вы выполните запрос вроде «ВЫБРАТЬ * ИЗ РегистраНакопления.Себестоимость» в крупной ERP-системе, он мгновенно начнет активно потреблять оперативную память на сервере приложения – порой на гигабайты. А если результат этого запроса выгрузить в таблицу значений, ситуация усугубится: рядом с результатом запроса на сервере создастся еще одна такая же по объему занимаемой оперативной памяти сущность. В итоге память будет загружена в два раза сильнее.

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

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

Также с помощью объектной модели языка мы можем сразу получать выборку данных. Этот метод не возвращает объект «Результат запроса» – он сразу извлекает и предоставляет данные. Его минус: нельзя сразу определить количество элементов в выборке (так как это не таблица значений и не результат запроса). Зато маленькими порциями нативно платформа получает данные из СУБД и отображает их.

Другие причины потери оперативной памяти:

Циклические ссылки. Их необходимо разрывать следующим образом:

Данные = Новый Структура;

Данные.Вставить("Ключ", Данные); ? Данные.Ключ = Неопределено;

Вычитывание больших текстовых файлов. Использование объекта ТекстовыйДокумент для больших объемов данных неэффективно. Лучше применять потоковые объекты, которые читают данные последовательно (например, ЧтениеДанных):

ТекстовыйДокумент / ДокументDOM / ДокументHTML ? ЧтениеXML / ЗаписьXML / ЧтениеТекста / ЗаписьТекста

Неправильное использование кэша (повторяющееся использование). С информацией о правильном использовании кэша рекомендую ознакомиться по ссылке https://its.1c.ru/db/v8std#content:724:hdoc.

 

Комбинированные показатели и блокировки

 

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

Кроме того, в метриках доступна информация о возникновении блокировок – как автоматических, так и управляемых. Мы можем подсчитывать количество блокировок и пересечений.

Также можно обнаружить неэффективное использование лицензий и выявлять «зомби-сеансы».

 

Особенности метрик в кластере

 

Фоновые задания (COM-соединения, HTTP- и WC-Соединения) – по сути, это один крупный серверный вызов. У такого вызова доступны только текущие показатели – то есть данные о том, что выполняется прямо сейчас.

При этом накопленная статистика (суммарное время, количество вызовов и т.п.) для таких операций не ведется. Поэтому для объективной картины важно одновременно учитывать два показателя:

  • накопленные данные (за период),

  • текущий активный вызов.

Только их совокупность дает полное представление о нагрузке.

Важно не путать:

  • Объем данных – это объем передаваемых данных между клиентом и сервером приложения,

  • Данные СУБД – объем обмена между сервером приложения и базой данных.

Если вы видите рост объема данных между клиентом и сервером, особенно при передаче больших объемов в обе стороны, это может означать, что крупные контексты или данные «ездят» туда-сюда. Такое поведение стоит проанализировать и оптимизировать.

Дополнительные нюансы:

  • Загрузка процессора указывается в секундах с точностью до миллисекунд (три знака после запятой).

  • Сеансы нужно идентифицировать по уникальному внутреннему идентификатору, а не по номеру сеанса, поскольку номера переиспользуются.

Также можно мониторить метрики рабочих процессов:

  • фиксировать время запуска,

  • учитывать интервал перезапуска,

  • прогнозировать время следующей перезагрузки.

Начиная с платформы 8.3.27 появится возможность задавать точное время перезапуска рабочих процессов.

Еще один важный параметр – PID (Process ID) рабочего процесса. Он отображается в диспетчере задач, записывается в логи, дампы и используется в технологическом журнале. Это позволяет однозначно сопоставить процесс на сервере (например, rphost.exe) с конкретным рабочим процессом в кластере.

Главный показатель для мониторинга – объем потребляемой оперативной памяти процессом. Его также можно отслеживать в режиме реального времени.

 

Анализ производительности рабочих процессов

 

Эти показатели измеряют производительность рабочих процессов в кластере.

 

 

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

Так называемые события ТЖ CALL – это завершенные вызовы, время выполнения которых фиксируется и экстраполируется на 10 минут. Это позволяет постфактум, с небольшой задержкой, понять, где именно тратилось время:

  • на выполнение кода на сервере,

  • на запросы к СУБД,

  • менеджером блокировок (он же Rmngr.exe).

 

Особое внимание стоит уделить показателю «Доступная производительность», который для многих остается «черным ящиком». Что он означает и как рассчитывается?

В документации указано, что это 10?000, поделенные на среднее время эталонных операций за 5 минут. На практике это почти верно. Платформа действительно выполняет набор эталонных операций, замеряет их время и записывает данные в технологический журнал с типом события performance update. Внутри этого события можно увидеть детали: какие операции выполнялись и сколько времени они заняли.

24:08.491033-0,CLSTR,

Event=Performance update,

Data='process=tcp://SRV1:1586,

pid=22804,

sql=0,

cpu=15,

queue_length=0,

queue_length/cpu_num=0,

memory_performance=28,

disk_performance=12,

response_time=55,

average_response_time=58.24'

В строке выше приведены:

  • SQL – время запросов к базе данных. Значение может быть 0, и эти операции не учитываются в итоговой сумме.

  • CPU – загрузка процессора (в процентах).

  • Очередь к процессору – критически важный показатель. Он не складывается, а умножается на коэффициент (в среднем около 3-х, но зависит от системы). Даже небольшое значение очереди (например, 5) может значительно ухудшить общую производительность.

  • Использование памяти – операции выделения и освобождения массивов.

  • Использование диска – создание и удаление временных файлов.

Суммируя время, затраченное на CPU, память, дисковые операции и очереди к диску, получаем среднее время одной эталонной операции за 5 минут.

Затем применяется формула: 10?000 / среднее время. Результат и есть значение «Доступная производительность». В нашем случае он равен 303.

 

Паттерн построения систем мониторинга

 

Такую систему мониторинга можно реализовать на любом приложении 1С по следующей логике:

  • создать регламентное задание;

  • организовать опрос серверов;

  • использовать главный управляющий поток, который порождает дочерние потоки;

  • каждый дочерний поток опрашивает один сервер или кластер;

  • все данные собираются в единую базу, агрегируются;

  • при достижении каких-то триггеров отправляются сообщения администраторам.

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

  • Удаляйте старые метрики, собранные более 6 месяцев назад – они редко нужны.

  • «Пережимайте» данные: если собираете метрики каждую минуту, то для старых периодов (например, месячной давности) сохраняйте только средние или экстремальные значения (максимум, минимум, среднее).

  • Вместо хранения минутных данных за месяц оставьте, например, часовые средние значения.

Также обязательно реализуйте самодиагностику:

  • Проверяйте, не зависли ли фоновые задания.

  • Контролируйте потребление памяти самим приложением мониторинга.

Не забывайте настраивать триггеры и уведомления. Без них система мониторинга теряет смысл.

 

Дополнительные источники метрик

 

Помимо данных, получаемых из кластера через RAS, мы можем собирать и другие полезные метрики – все, что можно передать в наше централизованное приложение мониторинга. «Сложить в шару» можно все, что угодно.

К таким источникам относятся:

  • Данные Performance Monitor (счетчики Windows) по загрузке оборудования – их можно сохранять в файлы и затем парсить, чтобы анализировать нагрузку на оборудование.

  • Количество дампов платформы – критически важный индикатор стабильности.

  • Автоматический экспорт данных из системы оценки производительности (БСП). В платформе есть встроенная функция, которая позволяет настроить регулярный экспорт результатов в указанную папку. Вы задаете интервал – и система сама будет туда выгружать данные.

  • Журналы регистрации (режим eventlog утилиты ibcmd – 8.3.25).

Также полезно:

  • Регулярно опрашивать веб-серверы – проверять, доступны ли веб-публикации.

  • Следить, чтобы не менялись параметры компьютера.

  • Следить за состоянием лицензий.

Также рекомендую настраивать внешний сервис мониторинга. Потому что если система упадет, она уже не сможет сама себя оповестить.

 

Сопутствующая польза от системы мониторинга

 

Внедрение такой системы дает не только оперативный контроль, но и значительную дополнительную пользу. Во-первых, появляется единая точка сбора информации – по всем информационным базам, кластерам, серверам и их состоянию. Это становится настоящей кладезью данных для построения удобной и понятной каталогизации всей IT-инфраструктуры.

Во-вторых, с помощью этой системы можно организовать ограниченный и контролируемый доступ к кластеру. Например:

  • Аналитикам разрешить только завершать сеансы,

  • Программистам – дополнительно блокировать соединения для обновления конфигурации.

Таким образом у нас получается контролируемый доступ в кластер: кроме этих действий, они ничего другого не смогут делать.

И, как говорится, «вишенка на торте» – сбор карт интеграций. Когда внешняя система обращается к базе 1С, она должна делать это под отдельным пользователем, имя которого соответствует имени этой внешней информационной системы.

Такой подход позволяет:

  • Четко видеть, какая система с какой базой взаимодействует,

  • Определять тип соединения (например, HTTP) – это сразу указывает на интеграцию, а не на работу пользователя.

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

 

Развитие платформы: нововведения в версиях 25 и 27

 

В версии 8.3.25 появилось сразу несколько важных и полезных функций.

Одна из самых заметных – шлюз монитора производительности. Он позволяет получать метрики в формате OpenMetrics – вы просто отправляете HTTP-запрос и в ответ получаете структурированные данные о состоянии системы.

 

 

На картинке много текста и технических деталей, но главное, что вы открываете браузер, вводите адрес с параметрами – и мгновенно получаете свежие метрики.

 

 

Эти метрики можно легко интегрировать в Prometheus, а потом с помощью Grafana выдавать красивые графики. Однако есть ложка дегтя в бочке меда: эта функция доступна только пользователям корпоративных лицензий. Поэтому наше сообщество Open Source в лице Артема Лазаренко разработало прекрасную утилиту, которая позволяет собирать те же самые метрики в формате OpenMetrics даже на обычных лицензиях – https://github.com/LazarenkoA/prometheus_1C_exporter.

Также в 25-й платформе у утилиты ibcmd появился режим eventlog. Он позволяет не взаимодействуя напрямую с информационной базой и, не аутентифицируясь в ней, брать журналы регистрации и складывать туда, куда укажете. Благодаря этому можно агрегировать журналы регистрации со всех серверов в специализированную систему (например, в OpenSearch) и получать аналитику по журналам регистрации со всех серверов. Подробная инструкция по настройке есть по ссылке https://its.1c.ru/db/metod8dev#content:6019:hdoc:techlog_data.

 

Новые свойства объекта администрирования в версии 25

 

В 25-й платформе у объекта администрирования «АдминистрированиеСеанс» появились новые свойства. Одно из них – ДлительностьТекущегоВызоваСУБД. Раньше в консоли администрирования оно отображалось как «Захвачено СУБД».

Важно не путать его с ДлительностьВызововСУБДТекущее, длительностью текущего запроса. ДлительностьТекущегоВызоваСУБД – это все наше текущее взаимодействие с сервером СУБД, а не только время выполнения запроса.

 

 

Зеленая область на графике – это момент создания одного менеджера временных таблиц, и в этом менеджере одновременно переиспользуют два запроса. Желтые участки – два запроса, каждый из которых выполняется по-разному. Желтая область – это ДлительностьВызоваСУБДТекущее, а зеленая – ДлительностьТекущегоВызоваСУБД.

Еще один полезный параметр – ВремяПоследнегоВызоваСУБД. Это дата и время текущего соединения с СУБД. По умолчанию, если соединение с СУБД не установлено, значение параметра равно нулю. Если происходит вызов из СУБД, в этом поле фиксируется дата и время начала соединения.

 

*************

Статья написана по итогам доклада (видео), прочитанного на конференции INFOSTART TECH EVENT.

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

См. также

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

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

28800 руб.

27.03.2025    65312    40    29    

51

Технологический журнал Мониторинг Системный администратор Программист Бесплатно (free)

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

29.12.2025    5752    leongl    0    

18

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

Делимся опытом поддержки баз 1С с более чем 6 000 одновременно работающих пользователей и рассказываем о ключевых подходах к контролю высоконагруженных систем. Рассмотрим реальные кейсы и дадим ответ на вопрос о том,: что точно надо контролировать. Сравним ElasticSearch и ClickHouse, дадим ссылки на статьи и репозитарии для быстрого старта, а также посмотрим на примеры рабочих столов для анализа логов технологического журнала в ElasticSearch.

19.12.2025    1423    Sergey.Noskov    2    

11

Администрирование СУБД Технологический журнал Мониторинг Системный администратор Программист Бесплатно (free)

Рассказываем, почему высоконагруженным бэкендам на 1С нужен регулярный мониторинг и что происходит, когда его нет: производительность и стабильность деградируют, а обращения пользователей копятся. Показываем, как построили легкую систему наблюдаемости для бэкендов корпоративных порталов. Она включает сбор метрик из технологического журнала, Apdex, журнала регистрации и динамики размеров таблиц с последующим анализом в связке ClickHouse и служебной информационной базы на 1С. Объясняем, какие отчеты и метрики быстрее всего помогают находить критичные проблемы производительности, и демонстрируем интерфейс расследования. Разбираем несколько кейсов оптимизации, найденных по итогам мониторинга, включая доработки функционала БСП «управление доступом» и «присоединенные файлы».

15.12.2025    3461    tystik    1    

8

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

Когда речь заходит об инфраструктуре 1С, кажется, что все работает как часы: пользователи выполняют свои задачи, отчеты формируются без сбоев, зарплата начисляется вовремя. Как только начинается замедление базы, фоновые задания начинают зависать, а в службу поддержки поступают жалобы от раздраженных пользователей — ситуация требует вмешательства. Необходимо внедрить базовый мониторинг 1С, чтобы избежать неприятных моментов и минимизировать простой системы. Правильно организованный мониторинг не только помогает своевременно выявлять и предотвращать большинство проблем, но и существенно облегчает диагностику в случае сбоев. При этом не требуется больших затрат или сложных ИТ-решений — базовый и при этом эффективный мониторинг можно реализовать быстро, просто и без лишних сложностей. В статье я расскажу, как организовать такой мониторинг, не изобретая велосипед и используя проверенные практики. Но для начала разберемся, зачем вообще мониторить 1С.

03.12.2025    9321    user798823    2    

4

Мониторинг Журнал регистрации Технологический журнал Системный администратор Программист Бесплатно (free)

Мониторинг в ландшафте 1С помогает не только вовремя выявлять проблемы и повышать SLA, но и укреплять информационную безопасность. Разбираем источники данных, ограничения штатных инструментов и современные практики мониторинга на базе Prometheus, ClickHouse и Grafana. А также рассказываем о коробочном решении «Оркестратор 1С-систем» и планах его развития.

29.10.2025    1897    Sibars    0    

5

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

Рассказываем, куда смотреть после миграции на PostgreSQL: как диагностировать нехватку или избыток буферного кэша, отслеживать работу автовакуума, репликации и чекпойнтера. На основе реальных аудитов покажем ключевые инструменты мониторинга и научим правильно интерпретировать их данные.

06.10.2025    3229    expnpe    1    

10

Журнал регистрации Мониторинг Программист 1С:Предприятие 8 Россия Абонемент ($m)

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

1 стартмани

27.08.2025    2539    6    Elkasar    1    

2
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. johnsedaze 08.10.25 10:47 Сейчас в теме
Но разве http сервис для получения метрик с RAS доступен для ПРОФ лицензии?
2. evvakra 329 08.10.25 14:40 Сейчас в теме
(1) Увы но да.
Ссылка на ИТС
HTTP-сервис получения параметров производительности
Примечание. Доступно только для лицензии КОРП.
Для отправки сообщения требуется регистрация/авторизация