Сверхбыстрый Журнал Регистрации 1C с помощью Yandex Clickhouse

preview_player
Показать описание
Ни для кого не секрет, что поиск в журнале регистрации 1С очень медленный. И в то же время, журнал регистрации несет в себе большое количество интересной аналитической информации: данные о возникавших ошибках, проблемные модули, сбойные фоновые задания. Все лежит в ЖР, но достать проблема. Больше нет! Теперь все данные ЖР под рукой, за секунды и с нужной детализацией.

Скрипты, используемые в видео:

Рекомендации по теме
Комментарии
Автор

Так-же, мне кажется, отдельного внимания заслуживает размер выгруженного журнала регистрации. В ClickHouse он занимает около 8-10 процентов от исходного объема.

eisfywm
Автор

Спасибо! Вставлю 5 копеек про ELK. В нем есть Kibana, которая из коробки имеет удобную читалку логов, а также дашборды с графиками, рекомендую также попробовать. Про то что Elastic жрёт место решается настройкой разделения файлов по периоду и старые периоды можно бекапить или просто уничтожать за ненадобностью :)

korableg
Автор

добрый, подскажите не могу запустить

Ошибка
Unhandled exception. System.Exception: StorageType parameter is not specified
at dataBaseName)
at path, String name, String dataBaseName)
at stoppingToken)
at cancellationToken)
at host, CancellationToken token)
at host, CancellationToken token)
at host)
at args)

сам файл настройки
{
"Manager": {
"ClstFolders": [
{
"Folder": "C:\\\\Program Files\\1cv8\\srvinfo\\reg_1541",
"Templates": [
{
"Mask": "test2",
"Template": "[IBNAME]"
}
]
}
]
},
"ClickHouse": {
"ConnectionString":
},
}

lfvvktn
Автор

Андрей, добрый день, подскажите как сделать звук на видео как у вас?) Петлички не вижу, микрофона нет, а звук чистый, магия :)

i
Автор

@Веселый1С и второй - как так ловко получается сразу читать логи из контейнера после его компоновки? Мне чтобы эти логи прочитать - надо открывать сам контейнер в докер-десктопе или в портейнере, а тут вывод сразу в терминал, да еще и нужного сервиса (а их там 3 штуки в контейнере так-то). Или это просто на видео обрезано как мы внутрь контейнера подключились консолью?

rivqyxw
Автор

А при остановке/зупуску экспортера выгрузки журнала в Clickhouse он выгружает опять все заново или только новые записи?

smotrovoy
Автор

Бомбическая штука ) Один раз настроил и наслаждайся.
А есть какой-то хук / лайфхак, что как записи вырузились - чистить журнал ? )

shootnicktm
Автор

Андрей, огромное спасибо! А для ТЖ есть похожий инструмент?

zelek
Автор

@
Веселый1С Еще 2 маленьких вопроса. 1. Зачем в компоуз-файле последняя секция волюмс с незаданной ответной частью, см. строку 34 clickhouse-data:

rivqyxw
Автор

Ошибка при выполнении docker-compose, помогите чайнику:
=> ERROR [2/5] COPY ./app /opt/EventLogExporter 0.0s > [2/5] COPY ./app /opt/EventLogExporter: failed to compute cache key: "/app" not found: not found ERROR: Service 'collector' failed to build : Build failed

sdoodip
Автор

А если отдельную базу на SQL и писать события простыми Insert в таблицу ? 🤔

А далее скриптом переливать данные в индексируемую таблицу для построения отчётов.

Если постараться, то можно это через Внешние Источники Данных подключить к базе

Pblw
Автор

Кстати, попытался из СКД обращаться к внешнему источнику данных (подключенная таблица с логами ЖР), нарисовал компоновку как на видео, вывожу результат в плоский список, детальные записи. При попытке установить отбор на строковые поля (например "Комментарий") вида "содержит", то есть like - система падает с ошибкой и руганью на то, что такое поведение не поддерживается. Причем, что интересно, на строгое равенство в отборе - работает. Аналогично и с другими полями. Что это? Косяк СКД или косяк ODBC ClickHouse? Пробовал, кстати и x32 и x64. Еще при скроллинге отчета поймал ошибку вида "поле такое-то содержит недопустимые символы бла-бла-бла" и в окно красного креста рантайма выводит крокозябры. Смотрю текст коммента этой записи в ЖО исходной базы - там просто сообщение, да, длинное, но вроде порядок. Что это? Недружба с кириллицей? Короч если глубже копнуть, то на СКД ни разу не юзабельно, что очень жаль... Придется городить прямые запросы, видимо.

rivqyxw
Автор

Здраствуйте, что делать, если падает с ошибкой: collector_1 | Could not execute because the application was not found or a compatible .NET SDK is not installed.
collector_1 | Possible reasons for this include:
collector_1 | * You intended to execute a .NET program:
collector_1 | The application does not exist.
collector_1 | * You intended to execute a .NET SDK command:
collector_1 | It was not possible to find any installed .NET SDKs.
collector_1 | Install a .NET SDK from:
collector_1 |
collector_1 exited with code 145
Все переустановил, результат один

RamzilN
Автор

Ну и еще, напоследок. С докером все получилось повторить, работает как надо. Но мы внутрь контейнера прокинули только одну 1С-ную базу для выгрузки ЖР, а как быть, если их например 5 штук? Видимо, согласно описания в репо "экспортера" - придется использовать менеджера, прокидывать в контейнер другой каталог и чутка поправить строку подключения (пишет, что для каждой ИБ будет создана своя БД для хранения данных ЖР)

rivqyxw
Автор

Даже не знаю, где ещё спросить: в общем, загрузил я сколько-то журналов, пара десятков гигов получилась, а элементарный запрос выбрать различные события не выполняется. А для того, чтобы выставить отборы ЖР, нужно сначала получить события, пользователей и так далее, которые в нём есть. Если брать стандартные одинэсовские, то тогда кликхаус ничего не стоит без родного журнала 1С.
Как вы эту проблему решили? Запрос типа SELECT DISTINCT ON(Event) Event если я не ошибаюсь. Конечно, MSSQL такой запрос тоже плохо переваривает, там пришлось таблицы добавлять, но тут вроде как у всех всё и так работает?

AlexeyNecro
Автор

Может сталкивался кто. Не запускается служба EventLogExporter ни в win7/10, ни в Ubuntu 22.10. Скачал с гитхаба архив, распаковал, прописал пути как в ридми написано. В win 1053 ошибка (если запускать службу, exe-шник вообще ноль реакции), в ubuntu: Main process exited, code=dumped, status=6/ABRT (dotnet 5 установил)

arsprm
Автор

Очень познавательный материал, а есть варианты с версионированием?

rqdduyo
Автор

как можно рештьб ошибку cllickhouse-collector-1 exited with code 134

silence