Segate-ekb / ClickHouse1CTechJournal

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

ClickHouse1CTechJournal

Приложение загружает логи Технологического журнала 1С в базу данных ClickHouse.

Использование

Путь к логам ТЖ для загрузки указывается первым параметром. Если первый параметр не указан, то поиск логов выполняется в текущем каталоге. Поиск выполняется по маске *.log. Причем имя логов должно быть каноническим YYMMDDHH.log и родительский каталог должен содержать информацию о виде процесса и его PID (rphost_324).

Настройки ClickHouse располагаются в файле config.yaml. Также настройками можно управлять через переменные окружения (см. пример в файле docker-compose.yml). Для локального развертывания ClickHouse можно воспользоваться Docker-образами. Для удобства подготовлен файл docker-compose.yml. По умолчанию логи загружаются в таблицу с секционированием по часам и источнику. На каждые сутки создается одна таблица. В таблице создается первичный ключ по временнОй отметке и виду события ТЖ.

Для подключения используется к ClickHouse JDBC драйвер.

Варианты запуска

Запуск через jar-архив

Собранное и упакованное приложение можно взять в дистрибутивах или откомпилировать самим.

java -classpath [путь_к_модулям] com.clickhouse1ctj.TechJournalToClickHouse [путь_к_логам_ТЖ]

Запуск через shell-скрипт

Наиболее простой вариант взять архив с дистрибутивом, распаковать его и запустить cmd-файл в папке bin. Все необходимые библиотеки поставляются вместе с архивом.

ClickHouse1CTechJournal.bat [путь_к_логам_ТЖ]

Запуск в Docker

Docker-образ опубликован в DockerHub: kron1sant/ch-1c-techjournal. Для запуска отдельного Docker контейнера можно воспользоваться командой:

docker run --name my-test -it --rm -v [путь_к_логам_ТЖ]:/var/lib/ClickHouse1CTechJournal/tj \
 -e CH_DATABASE=TechJournalDocker -e CH_HOST=[хост_с_clickhouse] \
 kron1sant/ch-1c-techjournal:latest

Запуск в Docker вместе с ClickHouse

Для запуска сразу вместе с сервером ClickHouse можно воспользоваться файлом docker-compose.yml

docker-compose up -d

About

License:MIT License


Languages

Language:Java 99.6%Language:Dockerfile 0.4%