Эффективность работы информационной базы 1С:Предприятие напрямую зависит от грамотной оптимизации запросов и кода. Однако без специальных инструментов администратор или разработчик действует вслепую. Когда пользователи жалуются на медленное проведение документов или формирование отчетов, стандартных средств мониторинга часто недостаточно.
Именно здесь на сцену выходит Технологический журнал. Это мощный механизм, встроенный в платформу, который позволяет записывать детальные события работы системы. Многие ошибочно полагают, что его нужно скачивать отдельно или устанавливать как сторонний модуль.
На самом деле инструмент уже встроен в ядро платформы, но по умолчанию он отключен, чтобы не снижать производительность в штатном режиме. В этой статье мы разберем, где искать настройки, как правильно их активировать и какие файлы необходимо редактировать для запуска глубокого анализа.
Понимание сути технологического журнала
Технологический журнал (ТЖ) — это не просто лог ошибок, а структурированный поток данных о каждом значимом событии в процессе работы сервера 1С:Предприятие. Он фиксирует моменты начала и окончания выполнения запросов, блокировки данных, вызовы внешних компонентов и даже потребление оперативной памяти.
Главная особенность этого инструмента заключается в его гибкости. Вы можете настроить его так, чтобы он записывал абсолютно все события, что быстро приведет к переполнению диска. Или же отфильтровать только критические события, например, выполнение запросов длительностью более 5 секунд.
Данные записываются в текстовые файлы с расширением .log, которые хранятся в специальной директории на сервере. Формат записи строго регламентирован, что позволяет использовать сторонние утилиты для автоматического парсинга и визуализации статистики. Без понимания структуры этих логов анализ превращается в чтение бесконечного потока символов.
⚠️ Внимание: Постоянная работа технологического журнала в режиме полной записи всех событий может снизить быстродействие сервера на 15-20% из-за интенсивных операций ввода-вывода на диск.
Используйте ТЖ только на период диагностики проблем. После сбора данных обязательно отключите его или оставьте только критические события.
Где физически располагаются настройки и логи
Вопрос"где в 1с технологический анализ" часто подразумевает поиск конкретного меню в интерфейсе программы. Ответ может разочаровать novices: в пользовательском интерфейсе Конфигуратора или Предприятия таких настроек нет. Управление происходит на уровне файловой системы сервера.
Ключевым файлом конфигурации является logcfg.xml. Именно он говорит платформе, какие события писать, в какие файлы и с каким уровнем детализации. Этот файл должен находиться в каталоге, где запускается серверный процесс rphost или ragent.
Пути к каталогам могут отличаться в зависимости от операционной системы и способа установки:
- 📂 Для Windows сервера 64-бит:
C:\Program Files\1cv8\8.3.XX.XXXX\bin - 📂 Для Linux сервера:
/opt/1C/v8.3/x86_64/ - 📂 Для кластера серверов: папка может быть указана в свойствах службы Агента сервера 1С:Предприятия.
Если файл logcfg.xml отсутствует в директории bin, его необходимо создать вручную. Шаблон структуры файла можно найти в документации к платформе или сгенерировать с помощью утилиты chlogcfg. Важно соблюдать синтаксис XML, иначе сервер просто проигнорирует файл или завершит работу с ошибкой при старте.
Как найти точный путь к папке bin?
Если вы не уверены, где установлен сервер, откройте диспетчер задач, найдите процесс rphost, нажмите правой кнопкой мыши и выберите"Открыть расположение файла". Это и есть нужная директория.
Структура файла конфигурации logcfg.xml
Файл конфигурации представляет собой XML-документ, состоящий из нескольких ключевых узлов. Понимание их иерархии необходимо для правильной настройки. Корневой элемент содержит описания правил вывода (rule) и описания самих выводов (output).
Каждое правило связывает тип события с конкретным файлом вывода. Вы можете создать несколько правил: одно для записи в файл на диске, другое — для отправки событий в базу данных или по сети. Это позволяет гибко распределять нагрузку.
Рассмотрим базовую структуру элемента rule:
<rule>
<event>
<eq property="Name" value="DBMSSQL"/>
</event>
<output>
<file>
<path>C:\Logs\tj_sql.log</path>
</file>
</output>
</rule>
Здесь мы указываем, что события, связанные с СУБД MS SQL, должны писаться в файл tj_sql.log. Свойство property позволяет фильтровать события по имени, типу, пользователю или даже по времени выполнения. Например, можно настроить запись только тех запросов, которые выполнялись дольше заданного порога.
Правильная настройка фильтров в logcfg.xml позволяет сократить объем логов в сотни раз, сохраняя только полезную для анализа информацию.
Типы событий и их анализ
Технологический журнал умеет фиксировать десятки различных типов событий. Для администратора и разработчика наиболее важными являются те, что касаются взаимодействия с базой данных и блокировок.
События делятся на несколько основных категорий. Первая категория — это работа с СУБД. Сюда входят начало и конец выполнения запроса (DBMSSQL, DBPostgreSQL), а также планы выполнения. Вторая категория — блокировки (LOCK), которые часто становятся причиной зависания пользователей.
Также событие CALL, которое фиксирует вызовы внешних компонент и COM-объектов. Если ваша конфигурация активно использует внешние обработки или интеграцию с оборудованием, этот тип событий поможет найти причину утечек памяти или зависаний.
| Тип события | Описание | Для чего используется |
|---|---|---|
DBMSSQL |
Выполнение запроса к MS SQL | Поиск медленных запросов, анализ планов выполнения |
LOCK |
Установка и снятие блокировок | Выявление взаимоблокировок (deadlock), ожиданий |
EXCPTION |
Возникновение исключений | Отлов скрытых ошибок, не видимых пользователю |
GRPC |
ВызовыRemote Calls | Анализ производительности клиент-серверного взаимодействия |
Анализ плана выполнения запроса — это отдельная история. В логе можно увидеть, какие индексы использовались, сколько строк было прочитано и какой метод соединения выбрал оптимизатор СУБД. Эта информация незаменима при тюнинге базы данных.
⚠️ Внимание: Интерфейс и доступные типы событий могут незначительно отличаться в зависимости от версии платформы 1С:Предприятие (8.3.10, 8.3.18, 8.3.24). Всегда сверяйтесь с синтаксис-помощником вашей версии.
Алгоритм включения и первичной настройки
Чтобы начать работу с технологическим анализом, необходимо выполнить последовательность действий. Пропуск любого этапа может привести к тому, что логи не будут записываться или будут записываться не туда.
Сначала убедитесь, что у службы сервера 1С есть права на запись в целевую папку для логов. Часто администраторы создают файл конфигурации, но забывают про права доступа NTFS, из-за чего процесс rphost не может создать файл лога.
Далее следует создать или отредактировать файл logcfg.xml. Рекомендуется использовать специализированные редакторы XML с подсветкой синтаксиса, чтобы избежать ошибок в тегах. После сохранения файла необходимо перезапустить службу Агент сервера 1С:Предприятия.
Вот примерный чек-лист действий для запуска:
- 🛠️ Найти директорию
binустановки сервера 1С. - 📝 Создать файл
logcfg.xmlс базовыми правилами вывода. - 🔐 Проверить права доступа пользователя службы 1С на папку логов.
- 🔄 Перезапустить службу 1С:Предприятие Сервер.
☑️ Проверка работоспособности ТЖ
После перезапуска службы зайдите в базу данных в режиме Предприятия и выполните какое-либо действие, которое должно попасть в лог (например, проведите документ). Затем проверьте папку назначения — там должен появиться новый файл или обновиться существующий.
Анализ полученных данных и утилиты
Сырой текст лога технологического журнала читать человеку крайне сложно. Он состоит из множества строк, разделенных табуляцией, с техническими кодами и временными метками. Для эффективной работы требуются специальные инструменты анализа.
Существует множество утилит, как бесплатных, так и коммерческих, предназначенных для парсинга ТЖ. Они позволяют строить графики нагрузки, сортировать запросы по длительности и группировать события по пользователям. Одной из популярных утилит является 1CLogReader или анализаторы, встроенные в некоторые IDE для 1С.
При анализе обращайте внимание на поля Dur (длительность) и Rows (количество затронутых строк). Запрос, который выбирает миллион строк за 0.1 секунды, может быть менее опасен, чем запрос, выбирающий 10 строк за 5 секунд из-за отсутствия индекса.
Также полезно сопоставлять время события в ТЖ с временем в журнале регистрации 1С. Это помогает связать техническую проблему (медленный SQL) с конкретным действием пользователя (нажатие кнопки"Сформировать отчет").
Для быстрого поиска проблемных мест используйте поиск по строке"Dur" в файле лога, сортируя найденные значения по убыванию. Это сразу покажет самые долгие операции.
⚠️ Внимание: Файлы технологического журнала могут расти очень быстро (гигабайты в час при полной нагрузке). Обязательно настройте ротацию логов или скрипт очистки старых файлов.
Часто задаваемые вопросы
Нужно ли перезагружать сервер 1С после каждого изменения logcfg.xml?
Да, изменения в файле конфигурации технологического журнала применяются только при старте процесса сервера. Для вступления изменений в силу необходимо перезапустить службу Агент сервера 1С:Предприятия. В некоторых кластерных конфигурациях может потребоваться перезапуск конкретных рабочих процессов rphost.
Можно ли включить ТЖ только для одного пользователя?
Да, это возможно. В файле logcfg.xml в условии события (event) можно добавить фильтр по свойству User. Укажите имя пользователя или его уникальный идентификатор, и журнал будет записывать события только от этого клиента, игнорируя остальных.
Где хранятся файлы логов по умолчанию?
Пути хранения не заданы жестко"по умолчанию". Путь прописывается явно в теге path внутри файла logcfg.xml. Если вы не укажете полный путь, файл будет создан в текущей рабочей директории процесса сервера, что часто приводит к потере логов. Всегда используйте абсолютные пути.
Влияет ли включенный ТЖ на лицензирование 1С?
Нет, использование технологического журнала не требует дополнительных лицензий. Это штатный функционал платформы 1С:Предприятие 8, доступный во всех конфигурациях, включая базовые версии, при наличии прав администратора на сервере.