Logstash を使用して CSV ログを取得する前に、CSV ログフィールドが解析されるよう、構成ファイルを修正する必要があります。 CSV ログの収集は、ログを収集した時点のシステム時間とログ内に記載される時間をログをアップロードする時間として使用できます。ログ時間の各定義方法においては、CSV ログを収集するための Logstash の構成方法が 2 種類あります。

ログのアップロード時間をシステム時間に

  • ログサンプル
    10.116.14.201,-,2/25/2016,11:53:17,W3SVC7,2132,200,0,GET,project/shenzhen-test/logstore/logstash/detail,C:\test\csv\test_csv.log
    
  • ログ収集の設定
    input {
      file {
        type => "csv_log_1"
        path => ["C:/test/csv/*.log"]
        start_position => "beginning"
      }
    }
    filter {
      if [type] == "csv_log_1" {
      csv {
        separator => ","
        columns => ["ip", "a", "date", "time", "b", "latency", "status", "size", "method", "url", "file"]
      } 
      }
    }
    output {
      if [type] == "csv_log_1" {
      logservice {
            codec => "json"
            endpoint => "***"
            project => "***"
            logstore => "***"
            topic => ""
            source => ""
            access_key_id => "***"
            access_key_secret => "***"
            max_send_retry => 10
        }
        }
    }
    • 構成ファイルは、BOM なしの UTF-8 でエンコードする必要があります。Notepad++ をダウンロードして、ファイルのエンコード形式を変更します。
    • pathにはファイルパスを指定します。C:/test/multiline/*.logのように Unix 形式のファイル区切り文字を使用します。Unix 形式以外のファイル区切り文字を使用すると、ファジー一致を使用できません。
    • typeフィールドは統一させ、ファイル全体で一貫性が保たれている必要があります。また、マシンに Logstash 構成ファイルが複数ある場合、各構成ファイルの type フィールドは統一させます。統一されていない場合、データは正しく処理されません。
    関連するプラグイン:fileおよびcsv
  • Logstash を再起動して設定を適用

    confディレクトリに構成ファイルを作成し、Logstashを再起動してファイルを適用します。 詳細については、「Logstash を Windows サービスに登録」をご参照ください。

ログフィールドの内容をアップロードされたログ時刻として使用する

  • ログサンプル
    10.116.14.201,-,Feb 25 2016 14:03:44,W3SVC7,1332,200,0,GET,project/shenzhen-test/logstore/logstash/detail,C:\test\csv\test_csv_withtime.log
  • 収集の設定
    input {
      file {
        type => "csv_log_2"
        path => ["C:/test/csv_withtime/*.log"]
        start_position => "beginning"
      }
    }
    filter {
      if [type] == "csv_log_2" {
      csv {
        separator => ","
        columns => ["ip", "a", "datetime", "b", "latency", "status", "size", "method", "url", "file"]
      } 
      date {
        match => [ "datetime" , "MMM dd YYYY HH:mm:ss" ]
      }
      }
    }
    output {
      if [type] == "csv_log_2" {
      logservice {
            codec => "json"
            endpoint => "***"
            project => "***"
            logstore => "***"
            topic => ""
            source => ""
            access_key_id => "***"
            access_key_secret => "***"
            max_send_retry => 10
        }
        }
    }
    • 構成ファイルは、BOM なしの UTF-8 でエンコードする必要があります。Notepad++ をダウンロードして、ファイルのエンコード形式を変更します。
    • pathにはファイルパスを指定します。C:/test/multiline/*.logのように Unix 形式のファイル区切り文字を使用します。Unix 形式以外のファイル区切り文字を使用すると、ファジー一致を使用できません。
    • typeフィールドは統一させ、ファイル全体で一貫性が保たれている必要があります。また、マシンに Logstash 構成ファイルが複数ある場合、各構成ファイルの type フィールドは統一させます。統一されていない場合、データは正しく処理されません。
    関連プラグイン: fileおよびcsv
  • Logstash の再起動で設定を適用

    confディレクトリに構成ファイルを作成し、Logstash を再起動すると、構成ファイルが適用されます。 詳細については、「Logstash を Windows サービスに登録をご参照ください。