(Logstash) установка значения @timestamp с использованием метки времени из журналов - PullRequest
1 голос
/ 20 июня 2019

Мне нужно использовать метку времени моего журнала как @timestamp. Я пробовал разные методы из Интернета, но ни один из них не работал в моем случае

input {
    s3 {
        bucket => "*"
        access_key_id => "*"
        secret_access_key => "*"
        prefix => "*"
        backup_to_bucket => "*"
        backup_add_prefix => "*"
        region => "*"
        delete => *
    }
}

filter {
    grok {
        match => { "message" => "%{IPORHOST:clientip} \[%{TIMESTAMP_ISO8601:logtimestamp}\] %{WORD:protocol} %{GREEDYDATA:uri_path} \"%{WORD:verb} %{DATA:partial_request} HTTP/%{NUMBER:httpversion}\" \"%{GREEDYDATA:User_Agent}\" \"%{GREEDYDATA:request}\" %{NUMBER:response} %{NUMBER:ret1} %{NUMBER:ret2} "}
    }



date {
    match => ["logtimestamp", "ISO8601"]
    target => "@timestamp"
  }

mutate
    {
         remove_field => [ "message" ]
    }
}
output {
    elasticsearch {
        hosts => ["endpoint:9200"]
        index => "mywebsite.com"
    }
    stdout {
        codec => rubydebug
    }

}

пример записи в журнале:

46.229.168.134 [17/Jun/2019:08:00:19 +0000] https www.mywebsite.com "GET /somefolder/somefolder/request HTTP/1.1" "Mozilla/5.0 (compatible; someBot/3~bl; +http://www.somebot.com/bot.html)" "" 200 48260 8  

он не показывает никаких ошибок, но @timestamp отличается от метки времени журнала, хотя я пытался преобразовать ее в часовой пояс моего браузера, который так настроен в кибане.

...