suchen

Heim  >  Fragen und Antworten  >  Hauptteil

php – So beheben Sie Datenverluste, wenn Logstash Daten in Elasticsearch schreibt

Mein Protokoll enthält mehr als 600 Daten, aber nur mehr als 300 werden in Elasticsearch geschrieben.
Kennt jemand den Grund dafür?
Dies ist meine Konfiguration
Eingabe {

file {
    path => ["/usr/local/20170730.log"]
    type => "log_test_events"
    tags => ["log_tes_events"]
    start_position => "beginning"
    sincedb_path => "/data/logstash/sincedb/test.sincedb"
    codec => "json"
    close_older => "86400"
    #1 day
    ignore_older => "86400"
}
beats{port => 5044}

}
filter {

urldecode {
    all_fields => true
}

}

Ausgabe{

   elasticsearch {
      hosts  => "localhost:9200"
      index  => "logstash_%{event_date}"
}

stdout { codec => json }
}

欧阳克欧阳克2744 Tage vor1112

Antworte allen(1)Ich werde antworten

  • 过去多啦不再A梦

    过去多啦不再A梦2017-07-01 09:13:55

    因为读日志的时候es的模版根据数据的格式自动创建数据类型 比如字段a的值为int和字符串 他创建的索引第一个读取到是数字就是int类型 索引

    修改配置 做映射
    output {

          elasticsearch {
            hosts  => "localhost:9200"
            index  => "test1"
            manage_template => true
            template_overwrite => true
            template => "/usr/local/logstash/templates/stat_day.json"
         }
         

    stat_day.json模版格式

         {

    "order" : 1,
    "template" : "test1",
    "mappings" : {

     "log_test": {
          "properties" : {
                "event_id": { "type": "string"}
           }
      }

    }
    }

    Antwort
    0
  • StornierenAntwort