Как правильно администрировать журнал регистрации 1С и решить проблему нехватки дискового пространства?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

При эксплуатации крупных информационных систем на базе 1С:Предприятие системные администраторы часто сталкиваются с неконтролируемым ростом файлов на сервере приложений. Одной из главных причин заполнения дисков является Журнал регистрации (ЖР). В данной статье мы подробно разберем, что представляет собой этот механизм, чем он отличается от логов СУБД, и как выстроить грамотную методику его администрирования.

Разграничение понятий: Журнал регистрации 1С и Лог транзакций SQL

Для начала проанализируем распространенное заблуждение, которое часто встречается в среде начинающих специалистов. Необходимо четко разделять два технических объекта:

  1. Журнал транзакций SQL (.ldf): Этот файл находится на сервере СУБД (например, MS SQL Server). Он фиксирует изменения в базе данных для обеспечения целостности и возможности восстановления. Его размер зависит от модели восстановления (Simple/Full) и частоты создания бэкапов лога. Ограничение его роста в настройках SQL, как иногда ошибочно советуют, может привести к полной остановке работы базы.
  2. Журнал регистрации 1С: Этот объект создается и управляется непосредственно сервером приложений 1С. Он не хранится внутри SQL-базы, а располагается в виде файлов в каталоге кластера серверов (обычно это папка srvinfo). Именно этот журнал фиксирует действия пользователей: вход в систему, изменение документов, запуск регламентных заданий и ошибки кода.

Выясним причину, почему 1С хранит эти данные отдельно. Это сделано для снижения нагрузки на основную СУБД и обеспечения возможности анализа событий даже в случае, если сама база данных недоступна.

Форматы хранения журнала регистрации: LGF против LGD

Прежде чем приступать к настройке, рассмотрим, в каком формате может храниться ваш журнал. В современных версиях платформы 1С v8.3 существует два формата:

Старый формат (.lgf): Представляет собой текстовые файлы. К его преимуществам относится высокая скорость записи. Административно с ним работать проще: можно вручную перенести файлы за старые периоды в архив. Недостаток — крайне медленный поиск и открытие через консоль 1С при больших объемах.

Новый формат (.lgd): Это база данных формата SQLite. Она хранится в одном файле. Позволяет мгновенно делать сложные отборы и строить отчеты по событиям. Однако этот формат очень склонен к разрастанию. Даже после удаления старых записей размер файла на диске не уменьшается автоматически из-за особенностей работы SQLite.

Методика переноса журнала на другой диск

Если диск C: переполнен, рассмотрим наиболее эффективный способ переноса ЖР на более емкий или быстрый накопитель. Самым правильным подходом с точки зрения системного администрирования является использование символьных ссылок.

Разберем процесс по шагам:

  1. Остановим службу 1C:Enterprise 8.3 Server Agent (в работе может помочь консольное переключение между платформами).
  2. Перейдем в каталог данных кластера (по умолчанию C:\Program Files\1cv8\srvinfo\reg_1541).
  3. Найдем папку с идентификатором вашей базы, внутри которой находится каталог 1Cv8Log.
  4. Скопируем папку 1Cv8Log на новый диск (например, D:\1C_Logs\BaseName\).
  5. Удалим или переименуем оригинальную папку в каталоге srvinfo.
  6. Запустим командную строку от имени администратора и создадим символьную ссылку:

mklink /D "C:\Program Files\1cv8\srvinfo\reg_1541\UUID-вашей-базы\1Cv8Log" "D:\1C_Logs\BaseName\1Cv8Log"

После этого запустим службу 1С. Платформа будет считать, что пишет логи в стандартное место, но физически данные будут размещаться на диске D:.

Сокращение и автоматизация очистки

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

Рассмотрим, как выполнить это вручную:

  1. Зайдем в Конфигуратор под правами администратора.
  2. Выберем пункт меню Администрирование — Настройка журнала регистрации.
  3. Нажмем кнопку Сократить.
  4. Укажем дату, ранее которой события можно удалить.
  5. При необходимости укажем файл, в который будут выгружены удаляемые события для архива (расширение .v8log).

Для автоматизации этого процесса профессионалы используют запуск Конфигуратора в пакетном режиме. Пример команды для планировщика задач Windows:


"C:\Program Files\1cv8\8.3.XX.XXXX\bin\1cv8.exe" DESIGNER /S "Server\BaseName" /N "Admin" /P "Password" /ReduceEventLogSize 2023-12-31 -saveAs "D:\Archive\log_2023.v8log"

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

Особенности обслуживания формата SQLite (LGD)

Если ваша база использует новый формат, то простое сокращение через Конфигуратор не освободит место на диске. Файл 1Cv8.lgd останется прежнего размера. Чтобы вернуть свободное пространство операционной системе, необходимо выполнить процедуру VACUUM.

Посмотрим, как это сделать:

  1. Остановим службу сервера 1С (это обязательно, так как файл будет заблокирован).
  2. Скачаем утилиту sqlite3.exe (официальная консольная утилита для SQLite).
  3. Выполним в командной строке:

sqlite3.exe 1Cv8.lgd "VACUUM;"

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

Оптимизация настроек логирования

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

Рекомендуемые Best Practices по настройке ЖР:

Важное предупреждение: Помните, что если место на диске с журналом регистрации закончится полностью (0 байт), пользователи не смогут авторизоваться в системе. При каждой попытке входа 1С пытается записать событие в ЖР, и при невозможности этой операции выдает критическую ошибку доступа.

Использование внешних систем мониторинга (ELK)

Для высоконагруженных систем, где объем журнала превышает сотни гигабайт, рассмотрим стратегию выноса логов во внешние системы, такие как ELK Stack (Elasticsearch, Logstash, Kibana). В этом случае в самой 1С ведение журнала либо отключается, либо минимизируется, а все значимые события транслируются по протоколу HTTP или через текстовые файлы в централизованное хранилище. Это позволяет хранить историю действий за годы, не нагружая дисковую подсистему сервера приложений 1С.

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

← На главную