0

ねえ、私は多くの行にそれぞれの行を含むテキストファイルを持っているスペースで区切って3つの値含まれていますlogstashテキストファイル出力構成

username email hash 
username email hash 
username email hash 
username email hash 
username email hash 

を私は、この設定を使用してlogstashとリストのインデックスを作成しようとした:

input { 
     file { 
       path => "/path/to/your/file.log" 
       start_position => beginning 
       sincedb_path => "/dev/null" 
     } 
} 
filter { 
     grok { 
       match => {"message" => "%{WORD:username} %{WORD:email} %{WORD:hash}" } 
     } 
} 
output { 
     elasticsearch { 
       hosts => ["localhost:9200"] 
     } 
} 

私の問題は、そのようなことlogstashインデックス、それを次のとおりです。

 { 
    "_index": "logstash-2017.06.01", 
    "_type": "logs", 
    "_id": "AVxinqK5XRvft8kN7Q6M", 
    "_version": 1, 
    "_score": null, 
    "_source": { 
    "path": "C:/Users/user/Desktop/user/log.txt", 
    "@timestamp": "2017-06-01T07:46:22.488Z", 
    "@version": "1", 
    "host": "DESKTOP-FNGSJ6C", 
    "message": "username email password", 
    "tags": [ 
     "_grokparsefailure" 
    ] 
    }, 
    "fields": { 
    "@timestamp": [ 
     1496303182488 
    ] 
    }, 
    "sort": [ 
    1496303182488 
    ] 
} 

と私はそれをbにしたいですそうですね:

 { 
    "_index": "logstash-2017.06.01", 
    "_type": "db", 
    "_id": "AVxinqK5XRvft8kN7Q6M", 
    "_version": 1, 
    "_score": null, 
    "_source": { 
    "username": "Marlb0ro", 
    "email": "[email protected]", 
    "hash": "123456", 
} 

私はそれをどのように変更できますか?任意のヘルプは謝罪されます

答えて

1

http://grokconstructor.appspot.comでgrokをテストしようとすると解析エラーが発生します。スペースが区切り文字であるので、私は、ユーザー名と電子メールのNOTSPACEを使用してみました:

%{NOTSPACE:username} %{NOTSPACE:email} %{WORD:hash} 
+0

申し訳ありませんが、GhostCat、正直な間違いでした。私は答えを与えると思われたが、私はコメントをクリックした。私はそれを編集した。 :) – Yee

+0

はい、今より良く見えます。 – GhostCat

0

私はあなたのGROKパーサが動作しないことをかなり確信しています。パターン "Word"はハッシュまたはEメールアドレスと一致しないためです。

あなたは彼らのgithubのページ(here

が「EMAILADDRESS」のパターンがあると、ハッシュのために、私は、「ユーザー名」を使用する上での事前定義されたパターンを確認することができます。

関連する問題