При эксплуатации крупных информационных систем на базе 1С:Предприятие системные администраторы часто сталкиваются с неконтролируемым ростом файлов на сервере приложений. Одной из главных причин заполнения дисков является Журнал регистрации (ЖР). В данной статье мы подробно разберем, что представляет собой этот механизм, чем он отличается от логов СУБД, и как выстроить грамотную методику его администрирования.
Для начала проанализируем распространенное заблуждение, которое часто встречается в среде начинающих специалистов. Необходимо четко разделять два технических объекта:
srvinfo). Именно этот журнал фиксирует действия пользователей: вход в систему, изменение документов, запуск регламентных заданий и ошибки кода.Выясним причину, почему 1С хранит эти данные отдельно. Это сделано для снижения нагрузки на основную СУБД и обеспечения возможности анализа событий даже в случае, если сама база данных недоступна.
Прежде чем приступать к настройке, рассмотрим, в каком формате может храниться ваш журнал. В современных версиях платформы 1С v8.3 существует два формата:
Старый формат (.lgf): Представляет собой текстовые файлы. К его преимуществам относится высокая скорость записи. Административно с ним работать проще: можно вручную перенести файлы за старые периоды в архив. Недостаток — крайне медленный поиск и открытие через консоль 1С при больших объемах.
Новый формат (.lgd): Это база данных формата SQLite. Она хранится в одном файле. Позволяет мгновенно делать сложные отборы и строить отчеты по событиям. Однако этот формат очень склонен к разрастанию. Даже после удаления старых записей размер файла на диске не уменьшается автоматически из-за особенностей работы SQLite.
Если диск C: переполнен, рассмотрим наиболее эффективный способ переноса ЖР на более емкий или быстрый накопитель. Самым правильным подходом с точки зрения системного администрирования является использование символьных ссылок.
Разберем процесс по шагам:
1C:Enterprise 8.3 Server Agent (в работе может помочь консольное переключение между платформами).C:\Program Files\1cv8\srvinfo\reg_1541).1Cv8Log.1Cv8Log на новый диск (например, D:\1C_Logs\BaseName\).srvinfo.
mklink /D "C:\Program Files\1cv8\srvinfo\reg_1541\UUID-вашей-базы\1Cv8Log" "D:\1C_Logs\BaseName\1Cv8Log"
После этого запустим службу 1С. Платформа будет считать, что пишет логи в стандартное место, но физически данные будут размещаться на диске D:.
Проанализируем ситуацию: логи растут, и простого переноса недостаточно. Нам необходимо настроить регулярную очистку. В 1С предусмотрен штатный механизм сокращения журнала регистрации через Конфигуратор.
Рассмотрим, как выполнить это вручную:
Конфигуратор под правами администратора..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"
Использование подобных скриптов раз в месяц позволит держать размер журнала в узде без ручного вмешательства.
Если ваша база использует новый формат, то простое сокращение через Конфигуратор не освободит место на диске. Файл 1Cv8.lgd останется прежнего размера. Чтобы вернуть свободное пространство операционной системе, необходимо выполнить процедуру VACUUM.
Посмотрим, как это сделать:
sqlite3.exe (официальная консольная утилита для SQLite).
sqlite3.exe 1Cv8.lgd "VACUUM;"
После завершения операции размер файла существенно уменьшится, так как будут удалены пустые страницы, образовавшиеся после сокращения записей.
Чтобы минимизировать рост логов в будущем, проанализируем настройки самих событий. Часто в 1С по умолчанию включена регистрация всех событий. Для большинства систем это избыточно.
Рекомендуемые Best Practices по настройке ЖР:
Важное предупреждение: Помните, что если место на диске с журналом регистрации закончится полностью (0 байт), пользователи не смогут авторизоваться в системе. При каждой попытке входа 1С пытается записать событие в ЖР, и при невозможности этой операции выдает критическую ошибку доступа.
Для высоконагруженных систем, где объем журнала превышает сотни гигабайт, рассмотрим стратегию выноса логов во внешние системы, такие как ELK Stack (Elasticsearch, Logstash, Kibana). В этом случае в самой 1С ведение журнала либо отключается, либо минимизируется, а все значимые события транслируются по протоколу HTTP или через текстовые файлы в централизованное хранилище. Это позволяет хранить историю действий за годы, не нагружая дисковую подсистему сервера приложений 1С.
Таким образом, мы разобрали комплексный подход к администрированию: от понимания физической структуры файлов до автоматизации обслуживания и стратегического планирования мощностей. Следуя этим инструкциям, вы сможете обеспечить стабильную работу сервера и предсказуемое потребление ресурсов.