2016-04-11 12 views
0

私たちが解決しようとしている基本的な使い方は、ユーザーがログファイルの内容から検索できるようにすることです。弾性検索文書の保存

ユーザーがキーワードを検索し、これをログファイルに表示してユーザーに返したいという単純な状況を考えてみましょう。

これを処理するためにElasticSearchを使用する予定です。私が念頭に置いている考え方は、インデックス付きログファイルを格納するメカニズムとして弾性検索を使用することです。心の中でこの概念を持つ

は、私が持っている質問のhttps://www.elastic.co/guide/en/elasticsearch/reference/current/index.html

カップル、 1)を経て、私は、弾性検索に提供された入力は、JSONドキュメントであることを理解します。このJSONがスキャンされ、インデックスが作成/更新されます。だから私はJSONに私の入力ログファイルを変換するためのメカニズムが必要ですか?

2)弾性検索はこの入力文書をスキャンし、逆インデックスを作成/更新します。これらの逆インデックスは実際には正確なドキュメントを指しています。つまり、ESはこれらのドキュメントをどこかに保存しますか? JSONのドキュメントとして保存するのですか?純粋にメモリ内にあるのか、ファイルシステム/データベース上にあるのでしょうか?

3)いいえユーザーがキーワードを検索すると、ESは検索キーワードを含む文書を返します。今私は、このJSONのドキュメントを元のログ文書に変換する機能が必要ですか?

明らかに私は何かが不足しています..この愚かな質問をして申し訳ありませんが、私のスキルとそのWIPを改善しようとしています。

また、ELKスタックがあることを理解しています。いくつかの私たちはESはなく、スタックのLogStashとKibana一部を利用したい理由の..

おかげ

答えて

1
  1. のログは、彼らがすべてのElasticsearch
  2. に挿入することができます前に、JSONを解析する必要がありますドキュメントはファイルシステムに保存され、一部のデータはメモリに保存されますが、すべてのデータは永続的です。
  3. Elasticsearchを検索すると、一致するJSONドキュメントが返されます。元のエラーメッセージを表示したい場合は、元のメッセージをJSONフィールドの1つに保存し、それを表示することができます。

    { "message": "This is my log message" } 
    

    ログを解析するには、ブレーク:だから、あなただけのログメッセージを保存していないフィールドか何かにそれらを破るしたい場合、あなたは、単にそのようElasticsearchする各行を取ると、それを送ることができます

それらをフィールドに追加してロジックを追加するには、Logstashのようなアプリを使用する必要があります。