fluentd - 当特定值可以用作键但不重新编码时
fluentd - When a specific value can be used as a key but not recoded
在下面的例子中,
我可以使用 $ ["kubernetes"]["aaa"]["bbb"] 作为键值,
但它不能用作标记值。
$ {recode ["kubernetes"]["aaa"]["bbb"]} 也不起作用。
如何将其用作标签??
为什么如此不同?
<match **>
@type rewrite_tag_filter
<rule>
key $["kubernetes"]["aaa"]["bbb"]
pattern ".*"
tag ${recode["kubernetes"]["aaa"]["bbb"]}
</rule>
</match>
如果您将正则表达式模式放在分组括号内 ()
,则整个匹配文本可用于第一组结果。
示例 -
表达式 - (.*)
匹配文本 - 一些文本
第 1 组 - 一些文本
所以使用上面的内容,下面将是您更新的 fluentd conf。
<match **>
@type rewrite_tag_filter
<rule>
key $["kubernetes"]["aaa"]["bbb"]
pattern "(.*)"
tag
</rule>
</match>
在下面的例子中, 我可以使用 $ ["kubernetes"]["aaa"]["bbb"] 作为键值,
但它不能用作标记值。 $ {recode ["kubernetes"]["aaa"]["bbb"]} 也不起作用。
如何将其用作标签??
为什么如此不同?
<match **>
@type rewrite_tag_filter
<rule>
key $["kubernetes"]["aaa"]["bbb"]
pattern ".*"
tag ${recode["kubernetes"]["aaa"]["bbb"]}
</rule>
</match>
如果您将正则表达式模式放在分组括号内 ()
,则整个匹配文本可用于第一组结果。
示例 -
表达式 - (.*)
匹配文本 - 一些文本
第 1 组 - 一些文本
所以使用上面的内容,下面将是您更新的 fluentd conf。
<match **>
@type rewrite_tag_filter
<rule>
key $["kubernetes"]["aaa"]["bbb"]
pattern "(.*)"
tag
</rule>
</match>