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

TCP

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

Название плагина: tcp

Описание:

Плагин предназначен для прослушивания TCP портов на агенте.

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

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

continuous-jobs:
- init-step:
plugin: tcp
with:
listen: 0.0.0.0
port: 5170
separator: \n
bufferType: memory
bufferInputName: tcp.job1
bufferSize: 20
chunkSize: 20
format: none
streamKey: "ключ потока"

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

ПараметрТипОбязательный параметрЗначение по умолчаниюВозможные значенияОписание
listenstringнет0.0.0.0IP-адресЗадает интерфейс, на котором будет прослушиваться порт. Значение 0.0.0.0 означает прослушивание на всех доступных сетевых интерфейсах.
portstringнет5170Число от 1 до 65535Параметр указывает порт, на котором плагин будет ожидать входящие соединения. Обычно этот параметр должен быть уникальным для каждого плагина, чтобы избежать конфликтов с другими плагинами или сервисами, которые также слушают определенные порты.
separatorstringнет\nЛюбая строкаУказывается разделитель записей. По умолчанию используется символ новой строки
bufferTypestringнетmemorymemory/filesystemОпределяет тип памяти для очереди
bufferInputNamestringнет-Любая строкаПараметр необходим если пользователь хочет слушать разные порты по одному протоколу на агенте. Определяет название папок для хранения порций, если указан bufferType=filesystem и дает плагину возможность идентифицировать буфер если используется bufferType=memory.
bufferSizestringнет= chunkSizeЛюбое числоОпределяет максимальный размер буфера в килобайтах для приема сообщения. Если не задано, по умолчанию будет использовано значение chunkSize.
chunkSizestringнет32768Любое числоЗадает максимальный размер "порций" данных для хранения входящих сообщений
formatstringнетjsonjson/noneПользователю необходимо указать ожидаемый формат получения данных
streamKeystringда-Любая строкаКлюч потока, в который необходимо отправлять собранные данные
  • При указании format=json следует учесть следующие особенности:

    • Полученные данные в формате json не будут дополнительно обрабатываться и будет отправлен в коллектор как есть.

    • Если указан json, однако входящие пакеты приходят в другом формате, сработает валидация и агент сообщит об ошибке.

    • Если json содержит массив, такой json будет считаться валидным (например {"list_int": [1,2,3,500]}), однако [{"obj1":11},{"obj2":22}] - будет считаться невалидным.

  • При указании separator=\n следует учесть следующие особенности:

    • Если в ходе прослушивания логов с порта плагин встретит указанный символ (\n) это будет означать что лог закончен и вся последующая информация относится к новому логу.