私はElasticsearchでテキストファイルをインポートしたいと思います。テキストファイルには、1行に3つの値が含まれています。数時間の苦労の後、私はそれをやり遂げませんでした。ヘルプは非常に高く評価されます。logstashインデックスのテキストファイル
Elasticsearch 5.4.0とLogstashがインストールされています。
サンプルデータ:
username email hash
username email hash
username email hash
username email hash
username email hash
もPythonスクリプトを構築しましたが、その遅すぎる:
import requests
import json
from elasticsearch import Elasticsearch
es = Elasticsearch([{'host': 'localhost', 'port': 9200}])
i = 1
with open("my2") as fileobject:
for line in fileobject:
username, email, hash = line.strip('\n').split(' ')
body = {"username": username, "email": email, "password": hash}
es.index(index='dbs', doc_type='db1', id=i, body=body)
i += 1
編集: おかげでその作業が、私はそれを見てみたいので、私のフィルタが悪いと思います
{
"_index": "logstash-2017.06.01",
"_type": "db",
"_id": "AVxinqK5XRvft8kN7Q6M",
"_version": 1,
"_score": null,
"_source": {
"username": "Marlb0ro",
"email": "[email protected]",
"hash": "123456",
}
このようにデータを入れます:
{
"_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
]
}
数時間を過ごしていたら、ログストラッシュ設定をブートストラップしている可能性があります。 – Val
はこのパターンを思いついた: %{ワード:ユーザー名}%{ワード:メール}%{ワード:ハッシュ} しかし、私は設定ファイルでそれを設定する方法を理解していない – Marlb0ro
あなたはこれを見てみたいかもしれません質問:https://stackoverflow.com/questions/31884094/logstash-grok-filter-for-custom-logs/32132737#32132737 – Val