Перейти к основному содержимому
Версия: 9.2

Kafka

Общие сведения

Название плагина: kafka
Ссылка для загрузки плагина: скачать Обновить ссылку
Минимальная версия Monq: 9.0.0
Минимальная версия агента Monq: 3.0.0

Описание:
Плагин реализует непрерывное потоковое соединение с брокером сообщений Apache Kafka для получения данных из различных топиков.

Может быть использован только при настройке Рабочей конфигурации агента

Формат сценария рабочей конфигурации агента


continuous-jobs:
- init-step:
plugin: kafka
with:
brokers:
- 192.168.1.3:9092
- 192.168.1.4:9092
brokersConnectionTimeout: 5
brokersConnectionRetriesInterval: 10
heartbeatsInterval: 3
sessionTimeout: 45
topics:
- example_topic
clientId: monq-agent
groupId: monq-agent
format: json
pullMode: current
pollIntervalMs: 500
chunkSize: 32768
bufferType: memory
streamKey: <your_stream_key>
bufferInputName: buffer-1
labels:
label1: value1
label2: value2
with-secured:
protocol: plaintext
sasl.mechanism: PLAIN
sasl.username: <username>
sasl.password: <password>

Параметры конфигурации используемые в сценарии

ПараметрТипОбязательный параметрЗначение по умолчаниюВозможные значенияОписание
brokersstring (array)да-Список брокеров Kafka. Обязательный параметр
brokersConnectionTimeoutintegerнет5 secТаймаут подключения к брокерам (в секундах)
brokersConnectionRetriesIntervalintegerнет10Пауза между провалившимися попытками подключения (в секундах). При неудачном подключении пауза между попытками удваивается после каждой следующей попытки (экспоненциальная задержка).К каждой паузе также будет прибавляться время таймаута подключения (brokersConnectionTimeout).Каждая неудачная попытка логируется с уровнем Error
heartbeatsIntervalintegerнет3 secПериод отправки heartbeats (в секундах)
sessionTimeoutintegerнет45 secНастройка таймаута сессии - время, за которое сессия не будет оборвана в случае отсутствия heartbeat (в секундах)
topicsstring (array)да-Список топиков, которые нужно прочесть. Числовое значение (<=16)
clientIdstringнет-Идентификатор агента в системе Kafka
groupIdstringнетНазвание агента (статического)Параметр позволяющий задать название группе потребителей в системе Kafka для распределенного чтения сообщений в случае подключения дополнительных агентов в эту же группу
formatstringнетjsonjson, rawОжидаемый формат получения данных
pullModestringнетcurrentall, current, forceAllРежим получения сообщений. Значения: current — только новые сообщения, история пропускается (офсет сохраняется); all — дочитывает всю историю с последнего сохранённого офсета, затем ждёт новые (офсет сохраняется); forceAll — при каждом запуске читает всё с начала топика (офсет не сохраняется).
pollIntervalMsintegerнет500 msИнтервал опроса брокеров Kafka (в миллисекундах)
chunkSizeintegerнет32768Любое числоЗадает максимальный размер "порций" данных для хранения входящих сообщений (в байтах)
bufferTypestringнетfilesystemmemory, filesystemОпределяет тип памяти для очереди. Доступно: memory - память агента, filesystem - на диске.
streamKeystringда-Ключ потока, в который необходимо отправлять собранные данные
bufferInputNamestringнетДинамическое названиеПараметр необходим если пользователь хочет с одного агента подключаться к разным брокерам Kafka
labelsobject-Дополнительные поля, которые будут добавлены к результирующим событиям
extraConfigobjectнет-Расширенные параметры конфигурации, доступные в используемой библиотеке Confluent.Kafka.
with-securedobjectнет-Настройки безопасности (функционал агента)
with-secured.protocolstringнетplaintextplaintext, sasl_plaintext, ssl, sasl_sslПротокол безопасности, используемый для связи с брокерами. Значения: plaintext - без аутентификации и шифрования; sasl_plaintext - с аутентификацией, без шифрования; ssl - без аутентификации, но с шифрованием; sasl_ss - с аутентификацией и шифрованием.
with-secured.sasl.mechanismstringнетPLAINPLAIN, SCRAM-SHA-256, SCRAM-SHA-512Механизм SASL для аутентификации
with-secured.sasl.usernamestringда (при использовании протокола sasl_plaintext)-Имя пользователя SASL для использования с механизмами PLAIN и SASL-SCRAM
with-secured.sasl.passwordstringда (при использовании протокола sasl_plaintext)-Пароль SASL для использования с механизмами PLAIN и SASL-SCRAM

Параметр brokers

Параметр brokers является обязательным в конфигурации и определяет список брокеров для плагина

Пример:

{
brokers:
- 192.168.1.3:9092
- 192.168.1.4:9092
}

Если в параметре задано больше одного брокера плагин будет пробовать подключиться к первому в списке. В случае неудачи - ко второму, и так далее.

При неудачном подключении плагин генерирует ошибку.

Таймаут подключения к брокерам настраивается пользователем.

Пример:

{
brokersConnectionTimeout: 5
}