2016-10-12 4 views
1

Я новичок в Fluentd. У меня есть одна проблема относительно тега <match> и его формата. НапримерFluentd: несколько форматов в одном матче

  • Наша система возвращает 2 различных форматов: Формат1 и ФОРМАТ2 в то же тег: тег
  • Использование fluent.conf мы можем поймать предоставленный тег, но мы не можем для разделения этих двух форматов

Я пробовал fluent-plugin-multi-format-parser, но он не позволяет добавлять префиксы.

<match tag> 
    @type parser 
    format multi 

    <pattern> 
     format format1 
     add_prefix pattern1 
     ... 
    </pattern> 

    <pattern> 
     format format2 
     add_prefix pattern2 
     ... 
    </pattern> 
</match> 

Есть ли какое-либо решение для этого?

ответ

1

Я думаю, что ответ в this Google Groups conversation имеет решение:

В частности (упаковывают ссылка не работает, и сэкономить время для тех, кто менее интересно):

Для ваших целей, вы можете использовать плагин copy , Скопируйте все сообщение, а затем процеживают, как:

<match tag> 
    type copy 
    <store> 
    type grep 
    input_key format_type 
    regexp pattern1 
    add_tag_prefix pattern1 
    </store> 
    <store> 
    type grep 
    input_key format_type 
    regexp pattern2 
    add_tag_prefix pattern2 
    </store> 
</match> 
<match pattern1.tag> 
</match> 
<match pattern2.tag> 
</match> 

В input_key должен быть ключ, чтобы запустить регулярное выражение против.

Смежные вопросы