logstash如何使用普通格式化程序正确处理nil值

时间:2017-10-10 09:21:05

标签: logstash

我正在使用logstash从mysql读取数据到kafka。为了节省磁盘空间,我将输出配置写为:

kafka {
    codec => plain {
        format => "%{key1},%{key2},%{key3}"
    }
}
正如我所料,通过提供这样的输入数据:

{
    key1: value1,
    key2: nil,
    key3: value3
}

输出应如下:

value1,,value3

但实际输出是:

value1,%{key2},value3

如何设置输出配置以用“”转换nil,谁都知道?

1 个答案:

答案 0 :(得分:1)

在您的过滤器中,添加:

if [key2] { } else {
    mutate {
        remove_field => ["key2"]
    }
    mutate {
        add_field => ["key2", ""]
    }
}

如果字段key2缺失或为null,则将其替换为空字符串作为值。