2016-08-08 1 views
3

に後で渡されたlogstashにフェッチされた異なるログの分割インデックスを作成する方法を知りたいので、kibanaに2つのインデックスを定義して検出できます。Filebeat/ELKの異なるログ用に別々のインデックスを定義する方法は?

私のケースでは、いくつかのクライアントサーバー(それぞれfilebeatがインストールされています)と集中ログサーバー(ELK)があります。各クライアントサーバは、異なる種類のログを有する。 redis.logpython logs、mongodbログ、私はそれらを異なるインデックスに並べ替えて、elasticsearchに保存したいと思います。

各クライアントサーバーは、さまざまな目的でも機能します。データベース、UI、アプリケーション。したがって、私は彼らに異なるインデックス名を与えることも(filebeat.ymlの出力インデックスを変更することによって)?

答えて

4

をごFilebeat構成では、あなたが持っているさまざまなログを識別するためにdocument_typeを使用することができます。 Logstashの内部では、typeフィールドの値を設定して宛先インデックスを制御できます。

ログを異なるインデックスに分割する前に、それらを単一のインデックスに残して、ログタイプを区別するためにtypeまたはcustom fieldのいずれかを使用することを検討する必要があります。 index vs typeを参照してください。

例Filebeatのプロスペクターの設定:

filebeat: 
    prospectors: 
    - paths: 
     - /var/log/redis/*.log 
     document_type: redis 

    - paths: 
     - /var/log/python/*.log 
     document_type: python 

    - paths: 
     - /var/log/mongodb/*.log 
     document_type: mongodb 

例Logstash設定:

input { 
    beats { 
    port => 5044 
    } 
} 

output { 
    # Customize elasticsearch output for Filebeat. 
    if [@metadata][beat] == "filebeat" { 
    elasticsearch { 
     hosts => "localhost:9200" 
     manage_template => false 
     # Use the Filebeat document_type value for the Elasticsearch index name. 
     index => "%{[@metadata][type]}-%{+YYYY.MM.dd}" 
     document_type => "log" 
    } 
    } 
} 
+0

はあなたがfilebeatでdocument_type'がで '[@metadata] [タイプ]'フィールドを作成します 'と確信していますlogstashイベントで、 '[type]'フィールドではありませんか?私は 'index =>"%{type} - %{+ YYYY.MM.dd} "と読み替えるべきだと思います。 – Val

+1

'document_type'の値は、' [@metadata] [type]と '[type]'の両方に使われます。どちらのフィールドもインデックスに使用できます。 –

+0

Gotcha、確認していただきありがとうございます。 – Val

1

logstashでは、タグの助けを借りて、複数の入力、フィルタや出力プラグインを定義することができます。

input { 
    file { 
      type => "redis" 
      path => "/home/redis/log" 
    } 
    file { 
      type => "python" 
      path => "/home/python/log" 
    } 
} 
filter { 
    if [type] == "redis" { 
      # processing ....... 
    } 
    if [type] == "python" { 
      # processing ....... 
    } 
} 
output { 
    if [type] == "redis" { 
      # output to elasticsearch redis 
      index => "redis" 
    } 
    if [type] == "python" { 
      # output to elasticsearch python 
      index => "python" 
    } 
} 
関連する問題