2016-04-29 17 views
1

私はELKスタックが動作しており、インデックス圧縮を有効にしたいと考えています。Logstash Elasticsearch圧縮

公式store compression documentationは、インデックス作成時に行う必要があることを示しています。私は店の圧縮または関連logstash output documentation以下

でも、インデックスの設定に関連する何かを見つけることができませんでした

は私のlogstash出力構成です:

output { 
    elasticsearch { 
    hosts => [ "localhost:9200" ] 
    sniffing => true 
    manage_template => false 
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
    document_type => "%{[@metadata][type]}" 
    } 
} 

し、作成したインデックスの設定:

{ 
    "filebeat-2016.04.28": { 
    "settings": { 
     "index": { 
     "creation_date": "1461915752875", 
     "uuid": "co8bvXI7RFKFwB7oJqs8cA", 
     "number_of_replicas": "1", 
     "number_of_shards": "5", 
     "version": { 
      "created": "2030199" 
     } 
     } 
    } 
    } 
} 
+0

どのバージョンのlogstashを使用していますか? – Val

+0

Logstash 2.3、Elasticsearch 2.3 –

答えて

4

インデックス圧縮を有効にするには、独自のインデックステンプレートファイルを用意する必要があります。

このように、filebeat-template.jsonファイルを作成する必要があります。このファイルは、新しいファイルビートインデックスを作成するときにlogstashによって使用されます。

{ 
    "template" : "filebeat-*", 
    "settings" : { 
    "index.codec" : "best_compression" 
    } 
} 

次に、あなたのelasticsearch出力は次のように変更する必要があります。

output { 
    elasticsearch { 
    hosts => [ "localhost:9200" ] 
    sniffing => true 
    index => "%{[@metadata][beat]}-%{+YYYY.MM.dd}" 
    document_type => "%{[@metadata][type]}" 
    template_name => "filebeat-template" 
    template => "/path/to/filebeat-template.json" 
    } 
} 

次に、あなたがあなたの既存のfilebeat-2016.04.28インデックスを削除し、logstashを再起動することができます。後者は/_template/filebeat-templateと呼ばれるindex templateという名前を作成し、その名前がfilebeat-で始まる新しい索引を作成する必要があり、その中にテンプレート内の設定(ストア圧縮を含む)が適用されます。

+0

ああ、私はelasticsearchテンプレートについて知りませんでした。今すぐこのテストをお試しください! –

+0

完全に動作しています、ありがとう! –

+0

すごく、うれしかった!!! – Val