私は、logstashを通じてElasticSearchでドキュメントのインデックスを作成しようとしています。LogstashのKVフィルタの問題
GET firstname=john&lastname=smith 400
私の目標は、私がこれまで
filter {
grok{
match => {"message" => "%{WORD:HttpMethod} %{GREEDYDATA:KVText} %{NUMBER:time:int}"}
}
kv {
source => "KVText"
value_split => "&"
remove_field => [ "KVText" ]
}
を以下のなかった、以下の
HTTPMethod: GET
firstname : john
lastname: smith
query_time : 400
ようになりますインデックスを作成することです、次のように私はインデックスにしようとしているファイルの例です。
ただし、logstash confファイルを実行すると、次のようなメッセージが表示されます。
"query_time": 400,
"message": "GET firstname=john&lastname=smith 400\r",
"HttpMethod": "GET",
"firstname=john": "lastname=smith"
インデックスを離散値としてkey1 = value1形式として取得していません。例えばfirstname = john lastname = smith
また、ログファイルを変更すると、logstashプロセスはリアルタイムでインデックス付けの変更を選択しません。私はファイルの名前を変更し、logstashを再起動する必要があります。私はそれが私のlogstash.confのsince_dbパスと関係があることを理解しています。
すべてのポインタは本当に感謝しています。
おかげ ニック
遅延応答が非常に残念です。私たちは数週間前に赤ちゃんを納入しました。おむつ交換の忙しさだった:)。 あなたの解決策は正しいです。 Keyの値のペアを正しく索引付けすることができました。しかし、レコードのインデックスを作成しようとすると、常に最後のレコードがログアウトされます。理由は分かりません。例えば、 firstname = john&lastname = smith firstname = mack&lastname = roger 3番目のレコードを追加すると、3番目のレコードが追加されますが、3番目のレコードは追加されますが、3番目のレコードは削除されます。何か案は? – Nick