我可以从Logstash中删除消息字段吗?

时间:2014-09-24 00:49:12

标签: elasticsearch logstash

我有一个基本的Logstash - > Elasticsearch设置,它发现了'消息' logstash过滤器完成其工作后不需要该字段 - 将此原始消息字段存储到elasticsearch只是将不必要的数据添加到存储imo。

我可以安全地删除此字段吗?这会给ES造成任何麻烦吗?欢迎提出建议或阅读,谢谢大家。

3 个答案:

答案 0 :(得分:29)

不,它不会给ES造成任何麻烦。如果message字段是冗余或未使用,则可以将其删除。

您可以将此filter添加到过滤器的末尾。

mutate
{
     remove_field => [ "message" ]
}

答案 1 :(得分:7)

您也可以在json过滤器中执行此操作。

filter {
  json {
    source => "message"
    remove_field => ["message"]
  }
}

答案 2 :(得分:0)

我会在Ben Lim的答案中添加以下内容作为评论,但我不知道如何在评论中添加代码块,或者甚至是否可能...

如果您可以使用不创建message字段的输入和编解码器组合,则无需将其删除。

例如,以下输入和编解码器组合(TCP上的JSON行)不会创建message字段:

input {
  tcp {
    port => 5044
    codec => json_lines
  }
}
output {
  elasticsearch {
    hosts => ["localhost"]
    document_type => "mytype"
    index => "myindex"
  }
}