многопрофильный решатель logstash - PullRequest
0 голосов
/ 19 марта 2019

Ниже приведен мой вариант использования, Основываясь на некоторой бизнес-логике во время выполнения, мне нужно публиковать события, сгенерированные из файла журнала, в разные конечные точки эластичного поиска. Входной плагин (имя файла) будет таким же, но выходной плагин (эластичная конечная точка) может измениться. Я не могу передать эти данные, созданные во время выполнения в каждой строке журнала. Например, как thread1, так и thread2 генерируют журналы в app.log. Я хочу протолкнуть журналы из потока 1 в эластичную конечную точку 1 и журналы из потока 2 в эластичную конечную точку 2. В этом случае вход (app.log) одинаков для обоих. Это достижимо?

1 Ответ

1 голос
/ 19 марта 2019

Да, просто используйте if условия в выходных данных.

Вам потребуется поле для фильтрации, например, поле с именем thread, которое будет иметь значение потока, thread1 или thread2, тогда вам нужно что-то вроде этого:

output {
    if [thread] == "thread1" {
        elasticsearch to endpoint1
    }
    if [thread] == "thread2" {
        elasticsearch to endpoint2
    }
}
...