helloEson  
                (Hello Eson)
               
                 
              
                  
                    November 27, 2017,  8:17am
                   
                   
              1 
               
             
            
              I want to extract the params in a path style url, it's something like this: 
/cid/27/end/2017-12-15/format/json/pid/1600
and the result i want is like this: cid=27,end=2017-12-15,format=json,pid=1600
Is there any good filter plugin can doing this ?
Thanks guys.
             
            
               
               
               
            
            
           
          
            
            
              I think you might be able to do this using the dissect filter  and indirect field notation  option (see documentation).
             
            
               
               
               
            
            
           
          
            
              
                helloEson  
                (Hello Eson)
               
              
                  
                    November 27, 2017,  9:03am
                   
                   
              3 
               
             
            
              @Christian_Dahlqvist  Thanks for your kind response.
Because of the unsure position of these parameters, the dissect filter may not help. and I decide to change my goal. Below is my method to extract some of those fields:
input { 
file { 
path => [ "/data0/logs/nginx/test.log" ] 
} 
}
filter { 
grok { 
match => { 
"message" => "...(?<query_string>(/[a-zA-Z0-9-_]+)*)..." 
} 
overwrite => [ "host" ] 
} 
if [query_string] { 
grok { 
match => { 
"query_string" => "/pid/(?\d+)" 
} 
} 
grok { 
match => { 
"query_string" => "/cid/(?\d+)" 
} 
} 
} 
}
output { 
stdout { codec => rubydebug } 
}
======================================= 
And finally what the result looks like this:
{ 
"method" => "GET", 
"upstream_addr" => "172.16.1.12:9000", 
"body_bytes_sent" => "3415", 
"reqest_time" => "0.025", 
"pid" => "1600", 
"@timestamp " => 2017-11-27T08:53:24.315Z, 
"@version " => "1", 
"host" => "api.local.biz.com ", 
"client" => "127.0.0.1", 
"upstream_response_time" => "0.025", 
"time" => "24/Nov/2017:00:11:37 +0800", 
"query_string" => "/cid/27/start/2017-12-15/format/json/pid/1600", 
"status" => "200", 
"cid" => "27" 
}
             
            
               
               
               
            
            
           
          
            
              
                system  
                (system)
                  Closed 
               
              
                  
                    December 25, 2017,  9:03am
                   
                   
              4 
               
             
            
              This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.