如何在Fluentd中用特定字符串替换键值字符串

4
我是一名初学者,想要使用record_modifier来替换字符串,当特定的字符串出现在键值中时。

示例

1)输入:

{"message":"how are you"}

输出:

{"message":"who are you"}

当输入键值为“how”时,我希望用“who”替换该字符串。
2)输入:
{"message":"he is a bad boy"}

输出:

{"message":"he is a good boy"}

当输入的键值包含"bad"时,我希望用"good"替换该字符串。

@type record_modifier #auto_typecast true enter code here 键名 message 表达式 ????? 替换为 ?????

提前感谢。


你好,欢迎来到SO。您发布的问题似乎没有任何尝试解决该问题的行动。StackOverflow希望您首先尝试解决自己的问题,因为您的尝试有助于我们更好地理解您的需求。请编辑问题以显示您已经尝试的内容,以说明您在最小化、完整化和可验证示例https://stackoverflow.com/help/mcve中遇到了具体的问题。更多信息,请参见如何提问https://stackoverflow.com/help/how-to-ask并参观导览<stackoverflow.com/tour>。 - quant
1
我正在使用以下代码来解决上述问题,但它没有起作用 <filter **> @type record_modifier #auto_typecast true <replace> key message expression ^.\b(bad)\b.

replace "good"

</replace> </filter>
- user1514423
你解决了吗? - Sreyas
我认为这个可以在这里使用 - https://github.com/repeatedly/fluent-plugin-record-modifier - Sumeet Patil
1个回答

0

你可以在 record_transformer 中使用 gsub

<filter yourTag>
  @type record_transformer
  enable_ruby
  <record>
    log ${record["log"].gsub('how', 'who')}   
  </record>
</filter>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接