Этот проект призван помочь упростить рутину по подключению новых баз к сбору ЖР.
Для сбора логов используется vector.dev
На данный момент реализован сбор в clickhouse
version: "3.8"
services:
vector:
image: segateekb/vector_eventlog:latest
volumes:
- ./config:/etc/vector
- ./logs:/var/log/eventlog/ # Папка с логами.
environment:
CH_BASE_NAME: "samplebase"
CH_USER: "default"
CH_PASSWORD: ""
Данный проект предоставляет возможность собирать ЖР с нескольких баз. Для корректного маппинга, перед началом сбора анализируется файл настроек кластера сервера приложений.
Для корректной настройки используется файл baselist.yaml содержащий перечень имен баз 1с, и имя целевой базы в ClickHouse куда требуется положить результат парсинга.
Пример файла baselist.yaml:
databases:
- 1c_baseName: 1c_perko
ch_baseName: 1c_perko_eventlog
- 1c_baseName: zup3_regl
ch_baseName: zup3_regl_eventlog
- 1c_baseName: 1C_CRM
ch_baseName: 1C_CRM_eventlog
- 1c_baseName: Monitor
ch_baseName: Monitor_eventlog
Реализована возможность получения списка всех баз доступных для сбора ЖР при помощи Vector.
Для этого реализована команда list-bases
Пример:
docker run --rm -v vector_eventlog_exporter_vector_logs:/var/log/eventlog/ segateekb/vector_eventlog list-bases
Передать этот файл можно 2мя способами:
Переменная окружения BASE_LIST
Пример:
version: "3.8"
services:
vector:
image: segateekb/vector_eventlog:latest
volumes:
- ./config:/etc/vector
- ./logs:/var/log/eventlog/
environment:
BASE_LIST: |
databases:
- 1c_baseName: "1C_CRM"
ch_baseName: "1C_CRM_ch"
- 1c_baseName: "erp26"
ch_baseName: "erp26_ch"
CH_USER: "default"
CH_PASSWORD: ""
Переменная окружения BASE_LIST__FILE
В эту переменную необходимо передать путь к файлу baselist.yaml внутри контейнера.
Пример:
version: "3.8"
services:
vector:
image: segateekb/vector_eventlog:latest
configs:
- source: baselist.yaml_config
target: /tmp/baselist.yaml
volumes:
- ./config:/etc/vector
- ./logs:/var/log/eventlog/
environment:
BASE_LIST__FILE: /tmp/baselist.yaml
CH_USER: "default"
CH_PASSWORD: ""
configs:
baselist.yaml_config:
external: true
Можно просто положить данный файл в /etc/vector/baseList.yaml тогда указание переменной окружения - можно опустить.
При старте контейнера выполняется:
В случае необходимости автоматическое создание баз и таблиц контролируется переменной окружения CREATE_CLICKHOUSE_BASES_ALLOWED
Пример отключения автоматического создания баз:
version: "3.8"
services:
vector:
image: segateekb/vector_eventlog:latest
volumes:
- ./config:/etc/vector
- ./logs:/var/log/eventlog/ # Папка с логами.
environment:
CH_BASE_NAME: "samplebase"
CH_USER: "default"
CH_PASSWORD: ""
CREATE_CLICKHOUSE_BASES_ALLOWED=false
Предусмотрена возможность настройки удаления файлов журнала регистрации.
DELETE_OLD_FILES_AFTER.Пример:
version: "3.8"
services:
vector:
image: segateekb/vector_eventlog:latest
volumes:
- ./config:/etc/vector
- ./logs:/var/log/eventlog/ # Папка с логами.
environment:
CH_BASE_NAME: "samplebase"
CH_USER: "default"
CH_PASSWORD: ""
DELETE_OLD_FILES_AFTER: 4d
Для хранения логина и пароля от вашего инстанса Clickhouse Реализована поддержка секретов.
Используйте переменные окружения CH_USER__FILE и CH_PASSWORD__FILE.
Пример:
version: "3.8"
services:
vector:
image: segateekb/vector_eventlog:latest
volumes:
- ./config:/etc/vector
- ./logs:/var/log/eventlog/ # Папка с логами.
environment:
CH_BASE_NAME: "samplebase"
CH_USER__FILE: "/run/secrets/ch_user"
CH_PASSWORD__FILE: "/run/secrets/ch_password"
secrets:
- ch_user
- ch_password
secrets:
ch_user:
external: true
ch_password:
external: true
Content type
Image
Digest
sha256:f48b7f813…
Size
251.2 MB
Last updated
over 2 years ago
docker pull segateekb/vector_eventlog