logsta sh - загрузка однострочного и многострочного журнала одновременно - PullRequest
1 голос
/ 24 января 2020

Я загружаю данные из двух лог-файлов вasticsearch. Первые строки моего logsta sh -file.conf:

input {
    file {
        path => ["/LOGS/BBC/current_log.log",
            "/LOGS/CSI/current_log.log"]
        start_position => "beginning"
}

First ("/LOGS/BBC/current_log.log") - это однострочный файл и загрузка в elasti c без ошибок. Второй ("/LOGS/CSI/current_log.log") является многострочным. Я хочу использовать плагин Multiline code c, но не могу понять - как отделить однострочный файл от многострочного файла в секции ввода.

1 Ответ

2 голосов
/ 24 января 2020

Вы правы, что вы можете применить один код c -опцию на вход. При этом, ничто не мешает вам определить несколько входных плагинов. Таким образом, вы можете указать один входной плагин для ваших однострочных файлов и другой для ваших многострочных файлов, например:

logsta sh .conf:

input {
  file {
    path => ["/LOGS/BBC/current_log.log"]
    start_position => "beginning"
}

input {
  file {
    path => ["/LOGS/CSI/current_log.log"]
    start_position => "beginning"
    codec => "multiline"
}

filter{
  ...
}

output{
  ...
}

Имейте в виду, что если один из входных плагинов выходит из строя, весь конвейер блокируется. Таким образом, вы можете подумать о разделении конвейеров путем определения нескольких конвейеров. Взгляните на эту документацию о реализации нескольких конвейеров.

...