Перейти к содержимому
Tez Base

Тяжёлые базы и диагностика

Журнал регистрации 1С в ClickHouse

На нагруженной базе штатный журнал регистрации перестаёт работать: файлы растут десятками гигабайт в день, просмотр виснет на любом отборе, история глубже пары недель недоступна. Мы выливаем ЖР в ClickHouse в реальном времени - поиск ошибок за сутки занимает 0,11 секунды, история живёт 7+ месяцев, а место под журналы сжимается в 6,7 раза.

Написать в WhatsApp Получить бесплатный экспресс-аудит

700 000 - 1 000 000 ₸ стоимость · ТЗ и внедрение под ключ на один кластер 1С, без налогов доработки сверх плана - единым счётом по факту осмотра парка баз

ClickHouse

Работаем с ClickHouse

ClickHouse, the ClickHouse logo, and related marks are trademarks or registered trademarks of ClickHouse, Inc. or its affiliates.

Знакомые проблемы?

Журнал есть, а пользоваться нельзя

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

Журналы съедают диски боевого сервера

150-194 млн событий в сутки превращаются в десятки гигабайт в день. Держать историю глубже двух недель значит забить боевые диски терабайтами.

После релиза непонятно, стало лучше или хуже

Число ошибок в проде никто не считает, потому что считать нечем. Разговор про качество релизов идёт на ощущениях.

Об ошибках узнают от пользователей

Ошибка в фоновом задании живёт сутки, пока кто-то не позвонит. В журнале она есть, но найти её никто не успевает.

Что получается на выходе

Журнал перестаёт быть архивом “на всякий случай” и становится рабочим инструментом. Цифры ниже - с боевого внедрения, которое работает с апреля 2024 года на трёх продуктивных базах в одном кластере (основная учётная и два склада).

  • 35+ млрд событий онлайн-истории по трём базам
  • 0,11 секунды - поиск всех ошибок за последние сутки, это 158,5 млн строк
  • 61 секунда - аналитика по всей истории в 30,5 млрд строк
  • 6,7 раза сжатие: 2,5 ТБ журналов превратились в 380 ГБ
  • 11 300 событий в секунду на пике потока, без потерь
  • 0 потерянных событий за два с лишним года, включая рестарты серверов

Подробный разбор внедрения с таблицами и архитектурой - в кейсе про журнал регистрации в ClickHouse.

Как журнал регистрации 1С попадает в ClickHouse

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

Зачем это бизнесу, а не только админам

Самая интересная цифра того внедрения не про скорость поиска. Когда ошибки стало видно, их начали чинить: за полгода число ошибок в проде упало с 1 403 721 в январе до 60 097 в июле, в 23 раза. Не потому, что кто-то стал писать код аккуратнее, а потому что появился измеримый показатель качества и его стало неловко игнорировать.

Из этого же хранилища закрываются вопросы, которые раньше висели неделями:

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

Почему ClickHouse, а не “ещё один сервер SQL”

Журнал регистрации - это поток однотипных записей, который только пишется и почти никогда не изменяется. Для такой нагрузки колоночное хранилище подходит лучше строкового: сжатие в разы выше, а типичные запросы вида “все ошибки за сутки” читают одну-две колонки вместо всей строки.

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

Что нужно с вашей стороны

Сервер или виртуальная машина под ClickHouse (размер посчитаем на осмотре, обычно это заметно скромнее боевого сервера 1С), доступ к каталогам журналов регистрации и час-два вашего администратора на согласование схемы. Боевые базы при внедрении не останавливаются: мы читаем журналы, а не трогаем данные.

Готовые обработки по теме

Перед внедрением полезно понять, из чего вообще состоит база и как она стоит на сервере:

Что вы получаете

  • Конвейер выгрузки журнала регистрации всех баз кластера в ClickHouse, задержка секунды
  • Схема хранения с партиционированием и сжатием: место под журналы падает в 6-7 раз
  • Докатка с сохранённой позиции файла: рестарты сервера и служб не теряют события
  • Дашборды и готовые запросы: ошибки, действия пользователя, фоновые задания, динамика по релизам
  • Алерты в Telegram по ошибкам и аномалиям, с порогами под вашу нагрузку
  • AI-разбор выборок журнала: обезличенная выгрузка уходит в модель, ответ читается с настоящими именами
  • Документация и передача: хранилище и доступы остаются вашими

Как мы работаем

  1. 01

    Осмотр парка баз

    Считаем поток событий по каждой базе, смотрим текущий объём журналов и свободное место. На выходе - схема хранения и требования к серверу под ClickHouse.

  2. 02

    Разворачивание хранилища

    Ставим ClickHouse на отдельный сервер или ВМ, готовим таблицы, партиционирование и политику хранения под ваш срок истории.

  3. 03

    Конвейер и докатка

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

  4. 04

    Запросы, дашборды, алерты

    Собираем набор рабочих запросов под ваши расследования, дашборды и правила алертинга. Пороги обкатываем на реальной нагрузке 2-4 недели.

  5. 05

    Передача

    Отдаём документацию, схему, запросы и доступы. Дальше сопровождаем по желанию, без искусственной привязки.

Бесплатный экспресс-аудит вашей 1С

За 1-2 дня посмотрим вашу базу, найдём, где теряется производительность, и скажем, что с этим делать. Без обязательств.

Получить бесплатный экспресс-аудит

Частые вопросы

Как выгрузить журнал регистрации 1С в ClickHouse?

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

Боевые базы придётся останавливать?

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

Сколько места нужно под ClickHouse?

Считаем на осмотре по вашему потоку событий. Ориентир с боевого внедрения: 2,5 ТБ журналов сжались до 380 ГБ, то есть в 6,7 раза. Под аналитику обычно хватает сервера скромнее боевого.

Что будет с историей за прошлые месяцы?

Всё, что осталось на дисках, можно залить в хранилище одним проходом при внедрении. Дальше история копится сама и живёт столько, сколько позволяет диск: на нашем внедрении это 7+ месяцев онлайн.

События теряются при перезапуске сервера или службы?

Нет. Конвейер запоминает позицию в файле журнала и после рестарта докатывает пропущенное. За два с лишним года промышленной работы потерь не было.

Нужны ли платные лицензии?

Нет, ClickHouse - открытое ПО без лицензионных платежей. Платите только за сервер под аналитику и за внедрение.

Кому останется хранилище после внедрения?

Вам: сервер ваш, доступы ваши, схема и запросы описаны в документации. Сопровождение с нашей стороны по желанию, привязки к подрядчику нет.

Сколько занимает внедрение?

Основной контур поднимаем за две-три недели, затем 2-4 недели обкатываем пороги алертов на реальной нагрузке. Первые запросы к истории работают уже на второй неделе.

Можно ли отдавать выборки журнала нейросети?

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

Обсудим задачу

Быстрее всего в WhatsApp: напишите пару строк о задаче, ответим в течение рабочего дня.

+7 707 347 88 04 [email protected]

Удобнее оставить заявку через форму

Смежные услуги