Fluentd создать тег на основе значения ключа - PullRequest
0 голосов
/ 12 июня 2018

Доставка журналов из Кубернетеса в агрегатор Fluentd.

Есть ли способ преобразовать одно из значений ключа в значение тега?Например, есть ключевое значение для application_name.Если бы это могло быть преобразовано в значение тега, было бы возможно направить к различным выходам.

Спасибо,

Ответы [ 2 ]

0 голосов
/ 12 июня 2018

Нет способа отредактировать тег после создания записи.

Способ сделать это - переиздать запись с помощью фильтра перезаписи тегов

Вы можете сделать что-то вроде этого:

<match kubernetes_logs>
  @type rewrite_tag_filter
  <rule>
    key application_name
    pattern (.+)
    tag $1
  </rule>
</match>
* 1009Тем не менее, этот метод позволяет свободно обрабатывать вдвое больше записей.Если вам нужно только направить записи на разные конечные точки, обычно выходные плагины позволяют фильтровать записи по ключу.
0 голосов
/ 12 июня 2018

Есть плагин fluentd record_transformer.https://docs.fluentd.org/v1.0/articles/filter_record_transformer

<filter foo.bar>
  @type record_transformer
  <record>
    hostname "#{Socket.gethostname}"
    tag ${tag}
  </record>
</filter>

Пример ввода: {"message": "hello world!"}

Пример вывода: {"message": "hello world!", "Hostname":"db001.internal.example.com", "tag": "foo.bar"}

...