2016-09-19 11 views
1

異なる目的の異なるサーバを使用しているため、サーバごとに1つの特定のインデックスにログを送信するようにFIlebeatを設定しました。 ベータランキング:ベータテスト ランキング:テスト ビルドランキング:ジェンキンス複数のインデックスlogstashテンプレート

すべてのフィルタが正常に動作しますが、私は、テンプレートが正しく設定されていなかったと信じた.rawフィールドを取得しようとしています。誰もが唯一logstash-インデックスを使用しているようですので、今、私は苦労に直面しています

私の出力は次のようになります。また

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

、私はfilebeatテンプレートをインストールしますが、再び、それは「filebeatを待っています - "私が作成したものではなく、インデックス。

+1

質問は何ですか? –

+0

logstashまたはfilebeatと異なるインデックスを持つ場合、フィールドまたは.rawを分析しない方法。しかし、私は昨日、Kibanaの "センス"アプリを発見して解決策を得ました。ジオガッシュは機能していませんが。 –

答えて

0

あなたのmanage_template = false設定が原因であると感じています。あなた自身のインデックステンプレートを作成していますか?そうでない場合は、Elasticsearchにテンプレートを管理させてください。

https://www.elastic.co/guide/en/logstash/current/plugins-outputs-elasticsearch.html#plugins-outputs-elasticsearch-manage_template

の.rawフィールドは、フィールドのnot_anazlyedバージョンです。文字列マッピングのデフォルト設定が解析されます(long、dateなどのデフォルト設定はnot_analyzedです)。デフォルトでは、文字列には解析されたメインフィールドとnot_analyzed(.raw)フィールドがあります。

https://www.elastic.co/guide/en/elasticsearch/reference/current/default-mapping.html

+0

はい、manage_templateをtrueに変更しました。さらに、ファイルビートテンプレートの編集バージョンを追加し、elasticsearchに 'curl -XPUT 'http:// localhost:9200/_template/beta' -d @/etc/filebeat/filebeat.template.json'を追加しました。 簡単にテンプレートを作成し、以前のコードでファイルビートテンプレートをコピーします。テンプレート "filebeat-"を "beta-"(あるいはあなたのインデックスが呼ばれます)に変更してjsonファイルを変更するだけで、各インデックス今、私は必要なnot_analyzed文字列を持っていますが、私は余分な.rawフィールドを取得しませんでした –

+0

木場のインデックスフィールドリストをリロードしようとしましたか? (あなたがこれを木場で見ていると仮定して) – fylie

+0

ええ、私はこれを行う必要があり、以前のインデックスも削除しなければなりません。他に分析されないように変更したくなかった。 –

関連する問題