基本的なLogstash-> Elasticsearchセットアップがありますが、logstashフィルターが機能した後は 'message'フィールドは不要であることがわかります。このrawメッセージフィールドをelasticsearchに保存すると、不要なデータがストレージimoに追加されるだけです。
このフィールドを安全に削除できますか?ESに問題が発生しますか?アドバイスや読み物は大歓迎です。
いいえ、ESに問題は発生しません。 message
フィールドが冗長または未使用の場合は削除できます。
この filter をフィルターの最後に追加できます。
mutate
{
remove_field => [ "message" ]
}
これは、json
フィルター内でも実行できます。
filter {
json {
source => "message"
remove_field => ["message"]
}
}
私はベンリムの回答にコメントとして次を追加しましたが、コメントにコードブロックを追加する方法、またはそれが可能かどうかさえわかりません...
message
フィールドを作成しない入力とコーデックの組み合わせを使用できる場合は、それを削除する必要はありません。
たとえば、次の入力とコーデックの組み合わせ(JSON Lines over TCP)では、message
フィールドは作成されません。
input {
tcp {
port => 5044
codec => json_lines
}
}
output {
elasticsearch {
hosts => ["localhost"]
document_type => "mytype"
index => "myindex"
}
}