Схема прохождения событий
Схема описывает методику получения, обработки и сохранения данных из внешних источников.
Данная архитектура предполагает возможность получать текстовые данные в любом формате, с последующим преобразованием данных в формат JSON, а также автоматически определять схемы БД и записывать в таблицы БД данные полученных событий.
Процесс обработки событий предполагает наличие 4-х звеньев:
Приемник логов – точка прослушивания HTTP. Программа обертывает полученные данные в модель и отправляет сообщение в препроцессор на обработку. Программа также проводит валидацию API-ключа потока данных и входной модели в зависимости от типа входных данных.
Препроцессор - запускает обработчик входного сообщения, если он есть. Обработчик может:
- Выполнить парсинг и превращение текста в JSON.
- Выполнить обработку пакетных событий – вычленить из этих событий единичные элементы.
- Выполнить преобразование входной модели, например, добавить вычисляемое поле или изменить тип поля в модели.
- Добавить системные метки для событий.
Валидатор схемы БД - формирует модель для базы данных согласно схеме. Создает эту схему исходя из модели JSON, добавляя нужные поля при необходимости.
Буфер потоковых событий - выполняет запись всех первичных событий в БД ClickHouse, в соответствии со схемой потока, из которого они получены.
Параллельно с записью в БД ClickHouse события отправляются в очереди Автоматона, из которой обрабатываются сценариями автоматизации.