Полезное

Где смотреть логи сервера 1С 8.3 и как их анализировать

Вадим Заплетин 3 мин чтения
Где смотреть логи сервера 1С 8.3 и как их анализировать

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

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

Где находятся файлы логов сервера 1С 8.3

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

Стандартное расположение на Windows Server

По умолчанию технологический журнал находится в каталоге:

C:\Program Files\1cv8\srvinfo\reg_1541\<ИмяКластера>\

Здесь reg_1541 — порт, на котором работает менеджер кластера (может отличаться), а <ИмяКластера> — идентификатор кластера серверов 1С. Внутри каталога находятся подпапки с именами процессов:

  • rphost — процессы рабочих серверов (основная нагрузка)
  • ragent — агент сервера (управление кластером)
  • rmngr — менеджер кластера (координация процессов)

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

Каталоги на Linux-серверах

В Linux-окружениях логи обычно размещаются в:

/opt/1cv8/x86_64/<версия>/conf/logcfg.xml — конфигурация журналирования

/var/log/1c/<ИмяКластера>/ — файлы логов

Структура подкаталогов аналогична Windows: rphost, ragent, rmngr. Права доступа к файлам обычно настроены на пользователя usr1cv8.

Как найти путь к логам в нестандартной установке

Если администратор изменил стандартные пути при настройке кластера, используйте утилиту консоли кластера:

cluster --cluster=<ID кластера> list

Альтернативный способ — проверить реестр Windows в ветке:

HKEY_LOCAL_MACHINE\SOFTWARE\1C\1cv8\<версия>\

Параметр LogLocation содержит полный путь к каталогу технологического журнала.

Как включить технологический журнал 1С

По умолчанию журналирование в 1С отключено или работает в минимальном режиме. Для детального мониторинга нужно настроить параметры записи событий через файл конфигурации.

Пошаговая инструкция настройки логирования

  1. Создайте файл конфигурации logcfg.xml в каталоге кластера (рядом с исполняемыми файлами сервера). Если файл существует — откройте его текстовым редактором.
  2. Определите события для записи. Укажите категории событий в XML-структуре. Пример базовой конфигурации:
    <config xmlns="http://v8.1c.ru/v8/tech-log">
      <log location="C:\Logs\1C\" history="24">
        <event>
          <eq property="name" value="CONN"/>
        </event>
        <event>
          <eq property="name" value="SDBL"/>
        </event>
        <event>
          <eq property="name" value="EXCР"/>
        </event>
        <property name="all"/>
      </log>
    </config>
  3. Установите параметр history. Атрибут history определяет количество часов хранения логов. Значение 24 означает суточное хранение. Для продуктивных систем с высокой нагрузкой рекомендуется 2-6 часов во избежание переполнения дисков.
  4. Перезапустите службы сервера 1С. Изменения в logcfg.xml применяются только после рестарта процессов rphost, ragent и rmngr.
  5. Проверьте создание файлов. Через 1-2 минуты после перезапуска в указанном каталоге появятся файлы с расширением .log и временными метками.

Важно контролировать объём генерируемых логов. Полное журналирование всех событий (параметр all без фильтров) создаёт гигабайты данных в час на активных базах. Для повседневного мониторинга достаточно отслеживать CONN (подключения), SDBL (запросы к базе данных), EXCP (исключения) и HASP (лицензии).

Структура записей технологического журнала

Каждая запись в логе 1С представляет собой строку текста с разделителями-запятыми. Формат похож на CSV, но с особенностями: значения полей могут содержать многострочный текст, а порядок колонок фиксирован.

Основные поля записи

Порядок Поле Описание Пример значения
1 Время Метка времени события (минуты:секунды.миллисекунды) 12:35.123456
2 Длительность Продолжительность операции в микросекундах 543210
3 Событие Тип события (CONN, SDBL, EXCP и др.) SDBL
4 Уровень Критичность: 1 (информация), 2 (ошибка), 3 (предупреждение) 1
5 Процесс Идентификатор процесса rphost (PID в ОС) 4712
6-7 Пользователь Имя пользователя 1С и имя компьютера клиента Иванов,WS-ACC-12
8 База Имя информационной базы Accounting
9+ Контекст Специфичные для типа события данные (текст SQL, стек вызовов и т.д.)

Длительность операции — ключевой параметр для выявления проблем производительности. Запросы к базе данных (SDBL) длительностью более 5 секунд требуют оптимизации. Подключения (CONN), занимающие более 10 секунд, указывают на перегрузку серверов или сетевые задержки.

Типы событий в технологическом журнале

Сервер 1С регистрирует десятки типов событий. Наиболее востребованные для диагностики:

  • CONN — подключения пользователей к базе. Отражает начало/конец сеанса, аутентификацию, отказы по превышению лимита лицензий.
  • SDBL — запросы к SQL Server или другой СУБД. Содержит текст запроса, план выполнения, количество возвращённых строк.
  • EXCP — исключения и необработанные ошибки конфигурации. Включает стек вызовов модулей 1С.
  • CALL — вызовы серверных методов конфигурации. Показывает, какие процедуры выполняются и сколько времени занимают.
  • HASP — события системы лицензирования. Фиксирует выдачу и возврат лицензий, конфликты защитных ключей.
  • MEM — превышение порогов потребления памяти процессом rphost. Критично для предотвращения падений сервера.
  • PROC — создание и завершение процессов рабочих серверов.
  • LEAKS — утечки памяти в управляемых формах и объектах конфигурации.

Для анализа производительности первоочередно изучайте SDBL и CALL. Для диагностики отказов — EXCP и MEM. При проблемах с лицензированием — HASP.

Методы поиска ошибок в логах 1С

Файлы технологического журнала за сутки работы крупной организации могут достигать нескольких гигабайт. Ручной просмотр таких объёмов невозможен. Используйте фильтрацию по ключевым признакам ошибок.

Поиск через текстовые редакторы

Для разовой диагностики подойдёт Notepad++ или Visual Studio Code с расширениями для больших файлов:

  1. Откройте log-файл из каталога rphost (именно там регистрируется большинство ошибок бизнес-логики).
  2. Используйте поиск по регулярному выражению ,2, — это найдёт все записи с уровнем ошибки (второе поле).
  3. Отфильтруйте по типу события: EXCP для исключений, SDBL для медленных запросов.
  4. Сохраните отфильтрованные строки в отдельный файл для детального анализа.

Ограничение метода — плохая масштабируемость. Текстовые редакторы зависают на файлах более 500 МБ, а поиск по нескольким файлам требует ручной работы.

Использование утилиты grep в Windows

Командная строка PowerShell позволяет быстро извлечь нужные записи из множества файлов:

Get-ChildItem C:\Logs\1C\rphost\*.log | Select-String -Pattern "EXCP.*,2," | Out-File C:\errors.txt

Эта команда находит все исключения (EXCP) с уровнем ошибки (,2,) во всех log-файлах каталога rphost и записывает результат в errors.txt. Для Linux используйте стандартный grep:

grep "EXCP.*,2," /var/log/1c/*/rphost/*.log > ~/errors.txt

Метод эффективен для быстрого обнаружения явных ошибок, но не даёт статистики и визуализации.

Фильтрация медленных запросов к базе данных

Запросы SDBL длительностью более 5 000 000 микросекунд (5 секунд) требуют оптимизации. Найдите их через PowerShell:

Get-Content C:\Logs\1C\rphost\*.log | Where-Object { $_ -match "SDBL" -and ($_ -split ",")[1] -gt 5000000 } | Out-File C:\slow_queries.txt

Скрипт извлекает поле длительности (второе в строке) и сравнивает с порогом. Результат — список самых тяжёлых SQL-запросов для передачи разработчикам конфигурации.

Автоматизация через скрипты

Для регулярного мониторинга создайте PowerShell-скрипт с еженедельным запуском через Task Scheduler:

$logPath = "C:\Logs\1C\rphost"
$outputPath = "C:\Reports\1C_errors_$(Get-Date -Format 'yyyy-MM-dd').txt"
$threshold = 5000000

Get-ChildItem "$logPath\*.log" | ForEach-Object {
    Get-Content $_.FullName | Where-Object {
        ($_ -match "EXCP.*,2,") -or
        ($_ -match "SDBL" -and ($_ -split ",")[1] -gt $threshold)
    }
} | Out-File $outputPath

# Отправка отчёта по почте
Send-MailMessage -To "admin@company.ru" -From "monitoring@company.ru" -Subject "1C Log Report" -Body "Attached errors log" -Attachments $outputPath -SmtpServer "smtp.company.ru"

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

Специализированные инструменты для анализа логов

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

1C:Enterprise Tools for Visual Studio

Официальное расширение от 1С для Visual Studio Code. Включает парсер технологических журналов с возможностями:

  • Открытие log-файлов с подсветкой синтаксиса
  • Фильтрация по типу события, уровню, временному диапазону
  • Быстрый переход к связанным записям (например, от исключения к вызвавшему его запросу)
  • Экспорт выборки в CSV для дальнейшей обработки в Excel

Инструмент бесплатен, но требует установки Visual Studio Code. Подходит для администраторов, уже использующих VS Code в работе.

Утилита logcfg

Консольная утилита из комплекта поставки платформы 1С:Предприятие 8.3. Находится в каталоге bin установки сервера.

Запуск для просмотра конфигурации журналирования:

logcfg.exe show

Изменение параметров без ручного редактирования XML:

logcfg.exe set -event SDBL -property all -location C:\Logs\1C -history 12

Утилита полезна для автоматизации настройки журналирования через скрипты развёртывания серверной инфраструктуры.

Сторонние анализаторы

Log Parser Studio (Microsoft) — универсальный инструмент для работы с текстовыми логами. Поддерживает SQL-подобный язык запросов для фильтрации и агрегации. Требует предварительного описания формата логов 1С через конфигурационный файл.

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

ELK Stack (Elasticsearch, Logstash, Kibana) — открытая альтернатива Splunk. Требует разработки конфигурации Logstash для парсинга формата логов 1С, но даёт полный контроль над обработкой данных.

Типовые проблемы и их сигнатуры в логах

Опыт диагностики инфраструктур 1С показывает повторяющиеся паттерны ошибок. Знание этих сигнатур ускоряет поиск причин сбоев.

Превышение лимита памяти процесса

Симптом: периодические обрывы соединений пользователей, записи в логе:

14:23:45.123456,0,MEM,2,rphost_4712,...,Memory limit exceeded

Причина: процесс rphost исчерпал выделенный объём ОЗУ (по умолчанию 1,5 ГБ на x86 или 2 ГБ на x64). Решение:

  1. Увеличьте параметр -Xmx в настройках кластера до 4-8 ГБ
  2. Установите больше оперативной памяти на сервер
  3. Проверьте конфигурацию на утечки памяти (событие LEAKS)

Для продуктивных серверов рекомендуется минимум 32 ГБ RAM, оптимально — 64 ГБ и выше при наличии нескольких крупных баз данных.

Блокировки при записи в базу данных

Симптом: пользователи жалуются на зависания при проведении документов, в логах:

15:42:18.987654,12456789,SDBL,2,...,Deadlock detected

Причина: два или более сеанса пытаются изменить одни и те же записи в SQL-таблицах. СУБД отменяет одну из транзакций. Решение:

  1. Оптимизируйте логику работы конфигурации (уменьшите гранулярность блокировок)
  2. Настройте управляемые блокировки в конфигурации 1С
  3. Используйте SSD-накопители для базы данных — снижение латентности диска уменьшает время удержания блокировок

Отказ в подключении по исчерпанию лицензий

Симптом: часть пользователей не может войти в программу, логи содержат:

09:05:12.456789,0,HASP,2,...,No free licenses available

Причина: количество одновременно работающих пользователей превысило число купленных клиентских лицензий. Решение:

  1. Докупите лицензии или перераспределите существующие
  2. Настройте автоматическое завершение неактивных сеансов через параметр кластера SessionIdleTimeout
  3. Проверьте наличие «зависших» сеансов и принудительно завершите их через консоль кластера

Медленная работа при активной конвертации данных

Симптом: периодические просадки производительности в одно и то же время суток, логи показывают:

02:15:33.111222,987654321,SDBL,1,...,SELECT * FROM Document123 WHERE Posted = 0

Причина: регламентное задание выполняет тяжёлый запрос без индексов. Длительность 987 секунд (более 16 минут) блокирует другие операции. Решение:

  1. Добавьте индексы в таблицы базы данных (через конфигуратор 1С или напрямую в SQL)
  2. Перенесите выполнение регламентных заданий на периоды минимальной нагрузки
  3. Оптимизируйте запрос — избегайте SELECT *, используйте WHERE с индексированными полями

Оптимизация журналирования для минимизации влияния на производительность

Запись технологического журнала потребляет ресурсы процессора и дисковой подсистемы. Неправильная настройка может замедлить работу сервера на 10-20%.

Рекомендуемые настройки для продуктива

  • Отключите события CALL — они генерируют 60-70% объёма логов, но редко нужны для рутинной диагностики.
  • Установите history=4 — хранение логов за 4 часа достаточно для оперативного реагирования, при этом экономит место на диске.
  • Фильтруйте SDBL по длительности: записывайте только запросы дольше 1 секунды через параметр <gt property="duration" value="1000000"/>.
  • Выносите каталог логов на отдельный физический диск — это предотвратит конкуренцию за I/O между журналированием и работой базы данных.

Используйте быстрые диски для хранения логов. Современные SSD NVMe обеспечивают запись логов без задержек даже при интенсивной работе сервера.

Балансировка между детализацией и производительностью

Для разных сред используйте разные уровни журналирования:

Среда События History (часы) Фильтры
Разработка Все (all) 2 Нет
Тестирование CONN, SDBL, EXCP, CALL 6 SDBL > 500 мс
Продуктив (норма) CONN, SDBL, EXCP, HASP 4 SDBL > 1 сек, только ошибки EXCP
Продуктив (диагностика) Все кроме CALL 2 SDBL без фильтров

Включайте расширенное журналирование временно, на период выявления проблемы (1-2 дня), затем возвращайте стандартные настройки.

Интеграция логов 1С с системами мониторинга

Для непрерывного контроля состояния инфраструктуры интегрируйте технологические журналы с общей системой мониторинга компании.

Экспорт метрик в Zabbix

Создайте PowerShell-скрипт, который каждые 5 минут парсит свежие записи логов и отправляет агрегаты в Zabbix:

  • Количество ошибок EXCP за интервал
  • Средняя и максимальная длительность SDBL-запросов
  • Число активных подключений (CONN)
  • Потребление памяти процессами rphost

Zabbix визуализирует тренды и отправляет уведомления при превышении порогов. Пример команды для user parameter:

UserParameter=1c.errors,powershell.exe -File "C:\Scripts\count_1c_errors.ps1"

Отправка логов в централизованное хранилище

Используйте Filebeat (из стека ELK) для автоматической передачи log-файлов в Elasticsearch:

  1. Установите Filebeat на сервер 1С
  2. Настройте мониторинг каталога логов в filebeat.yml
  3. Создайте Logstash pipeline для парсинга формата 1С
  4. Визуализируйте данные в Kibana через готовые дашборды

Централизованное хранилище позволяет анализировать логи с нескольких серверов 1С одновременно, выявлять корреляции между событиями в разных кластерах.

Частые вопросы по работе с логами 1С

Как часто нужно проверять логи сервера 1С?

Ежедневно проверяйте наличие новых ошибок EXCP и отслеживайте тренды производительности (средняя длительность SDBL). Еженедельно анализируйте статистику подключений и потребления лицензий. После изменений в конфигурации или обновления платформы проводите детальный аудит логов за первые 2-3 дня. Автоматизируйте рутинные проверки через скрипты с отправкой отчётов.

Почему файлы логов не создаются после настройки logcfg.xml?

Проверьте три момента: правильность синтаксиса XML (один лишний символ блокирует весь конфиг), наличие прав на запись в указанный каталог для пользователя службы 1С, факт перезапуска служб (изменения применяются только после рестарта). Если logcfg.xml содержит ошибки, сервер проигнорирует файл и продолжит работу без журналирования. Проверьте системные логи Windows Event Viewer — там появятся сообщения об ошибках парсинга конфигурации.

Сколько места на диске резервировать под технологический журнал?

Для базовой конфигурации (CONN, SDBL, EXCP, history=4) закладывайте 50-100 МБ в час на каждые 50 активных пользователей. База с 200 пользователями генерирует 400-800 МБ логов за 4 часа, итого нужно 1-2 ГБ свободного места с запасом. При включении всех событий объём возрастает в 5-10 раз. Настройте автоматическую очистку старых файлов через Task Scheduler, чтобы избежать переполнения диска.

Планирование мощностей на основе анализа логов

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

Метрики для оценки потребности в апгрейде

Собирайте статистику за месяц и анализируйте тренды:

  • Утилизация процессора rphost процессов: если средняя загрузка превышает 70%, нужны дополнительные ядра или новый сервер приложений.
  • Частота событий MEM: более 5 срабатываний в день — сигнал к увеличению памяти на рабочий процесс или добавлению RAM в сервер.
  • Длительность SDBL-запросов: рост медианного времени выполнения на 20% за квартал указывает на накопление данных и необходимость оптимизации индексов или перехода на более быстрое дисковое хранилище.
  • Количество одновременных CONN: приближение к лимиту процессов rphost (по умолчанию 1000 соединений на процесс) требует добавления рабочих серверов в кластер.

Расчёт ROI модернизации

Пример: логи показывают, что 15% рабочего времени сотрудники ждут выполнения отчётов (медленные SDBL). В компании 100 пользователей, средняя стоимость часа работы — 500 рублей. Потери: 100 × 8 часов × 0,15 × 500 руб × 22 рабочих дня = 1 320 000 руб/месяц.

Замена HDD на SSD и добавление 32 ГБ RAM снижает время выполнения запросов на 60% (подтверждено тестированием). Стоимость модернизации — 150 000 рублей. Окупаемость за 3,4 дня работы. Подробнее о комплектующих для серверов 1С читайте в блоге о серверах.

Чек-лист ежемесячной проверки логов

  1. Проверьте отсутствие критических ошибок EXCP уровня 2 за последний месяц
  2. Постройте гистограмму длительности SDBL-запросов — выявите выбросы свыше 10 секунд
  3. Сравните количество CONN в час утром (пик нагрузки) с прошлым месяцем — оцените рост
  4. Проверьте события MEM — если есть хотя бы одно за месяц, запланируйте увеличение памяти
  5. Оцените объём генерируемых логов — если больше 10 ГБ в день, пересмотрите настройки фильтрации
  6. Убедитесь, что автоматическая ротация логов работает (отсутствие файлов старше значения history)
  7. Задокументируйте найденные аномалии и инициируйте задачи на оптимизацию