04Konst  
                (04Konst)
               
                 
              
                  
                    November 26, 2019,  9:52pm
                   
                   
              1 
               
             
            
              Hi,
I am facing an issue while transferiang a data with converted time. In the logstash output everithing looks fine, but in Kibana I can see _grokparsefailure. After few test I found out, that when I am deleting the "date" block from the configuration file everithing work.  So this means that issue is in that block.
Config File:
input { 
file { 
path => ["C:/ELK/LogFiles/Web/test.log"] 
start_position => "beginning" 
type => "rest_log" 
} 
} 
filter{ 
grok{ 
match => ["message","%{IP:client_ip}%{SPACE}-%{SPACE}-%{SPACE}[%{HTTPDATE:apache_timestamp}]%{SPACE}"%{WORD:request_method}%{SPACE}%{NOTSPACE:request_url}%{SPACE}%{NOTSPACE:http_version}"%{SPACE}%{NUMBER:response_code}%{SPACE}%{NOTSPACE:bytes}%{SPACE}%{NOTSPACE}D:%{NOTSPACE:responsetime_ms}%{SPACE}%{GREEDYDATA:user_string}""] 
} 
date{ 
match => [ "apache_timestamp" , "dd/MMM/yyyy:HH:mm:ss +0100", "dd/MMM/yyyy:HH:mm:ss Z", "ISO8601" ] 
target => "@timestamp " 
} 
mutate { 
convert => { 
"bytes" => "integer" 
"responsetime_ms" => "integer" 
} 
} 
} 
output{ 
stdout {codec => rubydebug} 
elasticsearch { 
hosts => ["http://localhost:9200 "] 
index => "my_index" 
} 
}
 
Log Example: 
11.12.13.14 - - [12/Nov/2019:21:40:22 +0100] "GET //user/login HTTP/1.1" 404 208 "D:75"
Logstash Output
"request_url" => "/user/login", 
"response_code" => "404", 
"http_version" => "HTTP/1.1", 
"request_method" => "GET", 
"responsetime_ms" => 75, 
"@timestamp " => 2019-11-12T20:40:30.000Z, 
"path" => "C:/ELK/LogFiles/Web/test.log", 
"host" => "CSTRL0047685567", 
"message" => "11.12.13.14 - - [12/Nov/2019:21:40:30 +0100] "GET /user/login HTTP/1.1" 404 208 "D:75"", 
"client_ip" => "11.12.13.14", 
"bytes" => 208, 
"apache_timestamp" => "12/Nov/2019:21:40:30 +0100", 
"@version " => "1" 
Blockquote
 
Thanks for your help!
             
            
               
               
               
            
            
           
          
            
              
                Badger  
                
               
              
                  
                    November 26, 2019, 10:24pm
                   
                   
              2 
               
             
            
              Try using
    grok{ match => { "message" => "%{IP:client_ip}%{SPACE}-%{SPACE}-%{SPACE}\[%{HTTPDATE:apache_timestamp}\]%{SPACE}\"%{WORD:request_method}%{SPACE}%{NOTSPACE:request_url}%{SPACE}%{NOTSPACE:http_version}\"%{SPACE}%{NUMBER:response_code}%{SPACE}%{NOTSPACE:bytes:int}%{SPACE}%{NOTSPACE}D:%{NOTSPACE:responsetime_ms:int}%{SPACE}%{GREEDYDATA:user_string}\"" } }
    date { match => [ "apache_timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ] } 
             
            
               
               
               
            
            
           
          
            
              
                04Konst  
                (04Konst)
               
                 
              
                  
                    November 27, 2019,  8:43am
                   
                   
              3 
               
             
            
              
 Badger:
 
Try using
 
 
Thanks for your reply.
2 issues:
Same error in Kibana ->  _grokparsefailure (in cmd everithing looks good) 
time wasn't parsed propperly "apache_timestamp" => "12/Nov/2019:21:40:12 +0100" 
 
I can't explain that. Today I openned this config file if VSCode and Code highlighting looks strange to me: 
I tryied to find issue in regex but without success.
             
            
               
               
               
            
            
           
          
            
              
                04Konst  
                (04Konst)
               
              
                  
                    November 27, 2019, 12:43pm
                   
                   
              4 
               
             
            
              Sorry have to correct myself. With this configuration I am getting the same issue (logstash output is ok), but _grokparsefailure in Kibana
grok{ match => { "message" => "%{IP:client_ip}%{SPACE}-%{SPACE}-%{SPACE}\[%{HTTPDATE:apache_timestamp}\]%{SPACE}\"%{WORD:request_method}%{SPACE}%{NOTSPACE:request_url}%{SPACE}%{NOTSPACE:http_version}\"%{SPACE}%{NUMBER:response_code}%{SPACE}%{NOTSPACE:bytes:int}%{SPACE}%{NOTSPACE}D:%{NOTSPACE:responsetime_ms:int}%{SPACE}%{GREEDYDATA:user_string}\"" } }
date { 
  match => [ "apache_timestamp", "dd/MMM/yyyy:HH:mm:ss Z" ] 
  target => "@timestamp"
} 
             
            
               
               
               
            
            
           
          
            
              
                04Konst  
                (04Konst)
               
              
                  
                    November 27, 2019,  1:22pm
                   
                   
              5 
               
             
            
              Ok, I found the issue (workaround).
I changed the target for apache_timestamp:
date { 
  match => [ "apache_timestamp" , "dd/MMM/yyyy:HH:mm:ss +0100", "dd/MMM/yyyy:HH:mm:ss Z", "ISO8601" ]
  target => "@my_timestamp"
}
 
Than in Kibana I selected "my_timestamp" as leading one by Idex creation.
@Badger : Thanks for your support!
             
            
               
               
               
            
            
           
          
            
              
                system  
                (system)
                  Closed 
               
              
                  
                    December 25, 2019,  1:23pm
                   
                   
              6 
               
             
            
              This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.