Нет, к сожалению, это невозможно. Да, вы можете определить несколько процессоров для одного и того же входа, каждый из которых будет иметь свое собственное состояние, как вы описали (см. https://www.elastic.co/guide/en/beats/filebeat/current/defining-processors.html).
Проблема заключается в конфигурации хостовasticsearch в файле beat.yml. Каждое событие независимо от конкретного процессора будет распространяться на все хостыasticsearch, поскольку вы не можете определить конкретный хост casticsearch в самих входах / процессорах журнала.
I Подумайте о двух обходных путях, удовлетворяющих вашим требованиям:
установите несколько экземпляров / сервисов filebeat, каждый с выделенным входным и процессором. В этом файле filebeat.yml вы указываете только соответствующий хост, на который должны отправляться данные.
настройка Logsta sh в качестве промежуточного компонента между filebeat и эластичным поиском. После этого ваш filebeat отправит события в конвейер logsta sh. Там вы можете реализовать фильтр, который проверяет определенные критерии событий (например, теги, которые вы устанавливаете через процессор), а затем распространяете их на правильные хосты эластичного поиска. (Думайте об этом как о структуре if-else)
Я бы предложил вам go для обхода logsta sh, поскольку его легче масштабировать и выполнять будущие требования.
Я надеюсь, что смогу вам помочь.
РЕДАКТИРОВАТЬ:
Я изменил свой ответ, сосредоточившись на нескольких процессорах для одного входа вместо нескольких входов , Идея обходных путей все еще актуальна.