
Добавление нестандартного источника JDBC
Ресивер JDBC предоставляет возможность подключить нестандартный источник, хранящий события в СУБД, следующими способами:
Custom unix timestamp based
Custom datetime based
Custom ID based
Различие этих вариантов заключается в поле и типе, на основе которого запрашиваются и упорядочиваются события.
| Вариант подключения | Наименова-ние (namespace) | Тип | Представле-ние | Стол-бец | Обработка |
|---|---|---|---|---|---|
Custom unix timestamp based | custom-jdbc-unix-ts | Numeric | ALERTIX_TS_VIEW | ts | Сообщения запрашиваются из БД и упорядочиваются по времени, которое должно содержаться в поле ts. Время должно представлять собой числовую метку (Posix-формат) без миллисекунд (10 разрядов) |
Custom datetime based | custom-jdbc-dt | Timestamp | ALERTIX_DT_VIEW | ts | Сообщения запрашиваются из БД и упорядочиваются по времени, которое должно содержаться в поле ts. Время должно представлять собой тип datetime/timestamp или строку, отличную от временной метки типа int. |
Custom ID based | custom-jdbc-id | Numeric | ALERTIX_ID_VIEW | id | Сообщения запрашиваются из БД и упорядочиваются по идентификатору, который должен содержаться в поле id в числовом виде |
Для подключения источника должны быть выполнены следующие условия:
Собираемые события могут быть упорядочены либо по временной метке (int/timestamp), либо по уникальному числовому идентификатору.
БД по умолчанию, из представления которой будут запрашиваться события, называется ALERTIX.
В этой БД создано представление с наименованиями ALERTIX_TS_VIEW/ALERTIX_DT_VIEW/ ALERTIX_ID_VIEW (в зависимости от способа упорядочивания событий), содержащие все необходимые для дальнейшей обработки поля и поля для выборки (упорядочивания) событий ts и id соответственно.
После выбора варианта подключения и появления потока сообщений в ресивере, они будут представляться в словарной форме с набором полей, зависящих от выбранного варианта. Для записи событий в конкретный индекс дата-кластера префиксами alertix или logstash, необходимо указать наименование источника данных. Префикс alertix- выбирается, если событие будет содержать поле [@metadata][production] со значением "true". В противном случае в качестве префикса имени будет выбираться logstash-.
Наименование источника указывается в поле [@metadata][namespace], значения по умолчанию при выборе каждого варианта приведены в таблице выше.
Для осуществления дальнейшей обработки данных выполните выгрузку текущей конфигурации фильтра post_filter - "Выгрузка post_filter".

Рисунок 1.
Затем опишите требуемые преобразования в терминах фильтров logstash в конфигурационном файле postfilter, обрамив соответствующим условным выражением.
Например, для обработки потока от источника, подключенного как Custom ID based, условное выражение должно выглядеть следующим образом:
{
if [@metadata][namespace] == 'custom-jdbc-id' {
# Обработка событий:
# - выделение значимых полей
# - приведение к заданной схеме данных
# - дополнительное обогащение при необходимости
}
}После редактирования выполните загрузку измененной конфигурации фильтра post_filter - "Загрузка post_filter".
Результирующее наименование индекса будет иметь следующий формат:
alertix-<namespace>-<version>-<date>
или
logstash-<namespace>-<version>-<date>
date представлено в формате ГГГГ.ММ.ДД.
Была ли эта страница полезной?
Спасибо за отзыв!
Спасибо, мы учтём это для улучшения документации.