我有一个基本的Logstash - > Elasticsearch设置,它发现了'消息' logstash过滤器完成其工作后不需要该字段 - 将此原始消息字段存储到elasticsearch只是将不必要的数据添加到存储imo。
我可以安全地删除此字段吗?这会给ES造成任何麻烦吗?欢迎提出建议或阅读,谢谢大家。
答案 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"
}
}