#match #fluent #fluentd
#совпадение #свободно #fluentd
Вопрос:
Я новичок в Fluentd. У меня есть одна проблема, связанная с <match>
тегом и его форматом. Например
- Наша система возвращает 2 разных формата: format1 и format2 с одним и тем же тегом: tag
- Используя 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:
Я думаю, что ответ в этом разговоре Google Groups имеет решение:
В частности (если ссылка не работает и для экономии времени для тех, кто менее заинтересован):
Для ваших целей вы можете использовать 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
должен быть ключом для запуска регулярного выражения.
Ответ №2:
Вы можете использовать ‘rewrite_tag_filter’
https://docs .fluentd.org/output/rewrite_tag_filter#configuration-example