我正在使用logstash从mysql读取数据到kafka。为了节省磁盘空间,我将输出配置写为:
kafka {
codec => plain {
format => "%{key1},%{key2},%{key3}"
}
}
正如我所料,通过提供这样的输入数据:
{
key1: value1,
key2: nil,
key3: value3
}
输出应如下:
value1,,value3
但实际输出是:
value1,%{key2},value3
如何设置输出配置以用“”转换nil,谁都知道?
答案 0 :(得分:1)
在您的过滤器中,添加:
if [key2] { } else {
mutate {
remove_field => ["key2"]
}
mutate {
add_field => ["key2", ""]
}
}
如果字段key2
缺失或为null,则将其替换为空字符串作为值。