提问人:vijay varma 提问时间:12/14/2022 最后编辑:Azeemvijay varma 更新时间:12/15/2022 访问量:933
Fluentd 记录转换器条件语句,用于添加键(如果不存在)
Fluentd record transformer conditional statements to add key if not present
问:
如果日志中不存在消息字段,我想将该字段添加到日志中。
下面是相关的 fluentd 配置:
<filter **>
@type record_transformer
enable_ruby true
<record>
message ${ if record.has_key?('message'); then record ["message"]; else record["message"] == "nomsg"; end}
</record>
</filter>
但是当消息字段不存在时,我得到,当它存在时得到.message=false
message=actual_msg
不知道为什么它没有采取.message=nomsg
请帮忙和建议。
来回尝试了上述语法,但没有运气。
答:
3赞
Amol Mohite
12/15/2022
#1
只需按如下方式更改条件:else
<filter **>
@type record_transformer
enable_ruby true
<record>
message ${ if record.has_key?('message'); then record ["message"]; else "nomsg"; end}
</record>
</filter>
我希望这对你有所帮助。
评论
1赞
vijay varma
12/15/2022
我还添加了 msg 字段,例如 message ${ record [“message”] || record [“msg”] ||“无日志消息”],它与TD-Agent在本地完美运行。再次🥰感谢你
评论
message ${ if record.has_key?('message'); then record['message']; else 'nomsg'; end }
else
record["message"] == "nomsg"
false
nomsg
message ${ record['message'] || 'nomsg' }