0

私は現在、このようなファイル名を持っています。[シリアル番号][2014_12_04][00_45_22][141204T014214]AB​​_DEF.log

私は基本的に、ファイルから年 (2014) を抽出し、logstash conf ファイルのインデックス名に追加したいと考えています。logstash.conf 以下は私のconfファイルです。

input {
    file {
        path => "C:/ABC/DEF/HJK/LOGS/**/*"
         start_position => beginning
        type => syslog
    }
}
filter {


    grok {
        match => { "message" => "%{COMBINEDAPACHELOG}"}
    }




}

output {
    elasticsearch {
    index => "type1logs"
    }
    stdout {}    
}

助けてください。ありがとう

4

1 に答える 1

0

IIRC、「パス」と呼ばれるフィールドを取得します。次に、「パス」を入力として使用し、必要なデータを抽出して、別の grok{} フィルタを実行できます。

既存の構成での COMBINEDAPACHELOG の使用に基づいて、ログ エントリには既に日付が含まれています。日付フィルターでこのタイムスタンプ フィールドを使用して @timestamp フィールドを変更するのが、より一般的な方法です。{} 次に、デフォルトの elasticsearch{} 出力設定により、「logstash-YYYY.MM.DD」というインデックスが作成されます。{}

このように毎日のインデックスを作成すると (通常)、データの保持が容易になります。

于 2016-04-16T14:49:03.347 に答える