Медленный вывод из Logstash в концентраторы событий - PullRequest
0 голосов
/ 26 июня 2018

В настоящее время я разрабатываю плагин вывода концентраторов событий Azure для Logstash, и у меня возникла проблема, когда после работы в течение примерно 30 минут logstash на некоторое время застревает, поскольку вывод в концентраторы событий занимает слишком много времени.

Мой технологический стек:

Телеграф отправляет в logstash по tcp.

Logstash использует параметры конвейера по умолчанию.

Logstash выводится в концентраторы событий с использованием методов java createSync, sendSync.

Как создать соединение:

connection_builder = EventHubs::ConnectionStringBuilder.new()
connection_builder.setNamespaceName(@service_namespace)
connection_builder.setEventHubName(@event_hub)
connection_builder.setSasKeyName(@sas_key_name)
connection_builder.setSasKey(@sas_key)

@executor_service = java::util::concurrent::Executors.newSingleThreadExecutor()
@eventhub_client = EventHubs::EventHubClient.createSync(connection_builder.toString(), @executor_service)

Как отправить событие:

event_data = EventHubs::EventData.create(body.to_java_bytes)
partition_key = get_partition_key(event)
        @eventhub_client.sendSync(event_data, partition_key)

Почему отправка в концентраторы событий такая медленная?

Как вы думаете, будут ли проблемы с производительностью при отправке через AMQP?

Если вам нужно больше контекста или кода, просто спросите, и я опубликую ниже.

...