Как отформатировать дату системного журнала в формате даты и времени logstash

Я пытаюсь преобразовать формат даты системного журнала в отметку времени даты, которую распознает кибана, поскольку она всегда отображается в виде строки после обработки журнала для эластичного поиска.

Это то, что я пробовал до сих пор

input {
    file {
        path => "C:/Elasitcity/File Destination/logs2/*.*"
        start_position => "beginning"
        sincedb_path => "NUL"
         }
      }


filter {
        grok { 
            match => {"message" =>"%{SYSLOGTIMESTAMP:logstamp}.*POST for %{URIPATH:ServiceURI}"}
             }

         date {
    match => [ "logstamp", "MMM dd HH:mm:ss" ]

                       }    
             }
output  {
    elasticsearch {
                    hosts => "localhost"
                    index => "nextgen2" 
                    document_type => "netboading"
              }
            stdout {}
        }

Я пытаюсь извлечь дату из этого журнала ниже

Jun 12 04:27:35 1560306455 INCOMING: information 22.244.42.41 Jun 12 04:27:22 DPPRD01 [host_services][0x80e0013a][mpgw][info] source-https(IMS_SSL_29982): trans(2797190703)[12.6.1.16]: Received HTTP/1.1 POST for /services/NHgetInternetLimitsV1 from 10.6.17.166

Я просто пытаюсь заставить эластичный поиск признать метку журнала как метку времени, которую кибана может использовать для целей информационной панели.


person Red Baron    schedule 10.07.2019    source источник
comment
Похоже, что это работает, при попытке вашей конфигурации @timestamp получает следующее значение 2019-06-12T02:27:35.000Z, которое эквивалентно Jun 12 04:27:35, однако вы можете добавить параметр часового пояса в фильтр date.   -  person Val    schedule 10.07.2019
comment
В Kibana, похоже, он не признает отметку времени и предлагает ее, которую я отклоняю, потому что знаю, что она будет использовать свою собственную отметку, основанную на том, когда журнал был интегрирован с эластичным поиском. Как узнать, что @timestamp получает это значение?   -  person Red Baron    schedule 11.07.2019
comment
2019-06-12T02:27:35.000Z = Jun 12 04:27:35... это говорит само за себя (за исключением часового пояса, который вы можете установить где-то в CEST)   -  person Val    schedule 11.07.2019


Ответы (1)


Я думаю, вам нужно установить цель следующим образом:

date{
  match => ["logstamp", "MMM dd HH:mm:ss", "ISO8601"]
  timezone => "Europe/Berlin"
  target => "@timestamp"
}
person LinPy    schedule 11.07.2019