你能在logstash中检查一个空数组吗?

时间:2014-09-09 13:58:32

标签: arrays logstash logstash-grok

我有一个正在添加/合并标签数组的变种。

if [context][tags] {
  mutate {
    merge => [ "tags", "context[tags]" ]
    remove_field => [ "context[tags]" ]
  }
}

问题是,在[tags]为空的情况下,我最终得到一个数组...... [ nil, 'something1', 'something2']

有没有办法在合并之前测试[tags]为null,如果是,那么替换而不是合并?

1 个答案:

答案 0 :(得分:1)

Alcanzar拥有它。修改后的代码:

if [context][tags] {
    if [tags] {
        mutate {
            merge => [ "tags", "context[tags]" ]
            remove_field => [ "context[tags]" ]
        }
    } else {
        mutate {
            rename => [ "context[tags]", "tags" ]
            remove_field => [ "context[tags]" ]
        }
    }
}

事实证明,我无法使用replacecontext[tags]切换为tags,但rename工作正常。