2017-12-20 6 views
0

ich meine nginx Protokolle in folgendem FormatUm HTTP_REFERER URL-Parameter und Abfrage-String in ein für Menschen lesbaren Daten geteilt

165.225.106.84 - - [20/Dec/2017:12:44:45 +0530] "POST /api/auction/auctionmaster/onauctionmasterfilter HTTP/1.1" 200 3227 "http://auction-dev.iquippo.com/viewauctions?type=upcoming" "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/63.0.3239.84 Safari/537.36" "115.112.162.2" "{\x22auctionType\x22:\x22upcoming\x22,\x22addAuctionType\x22:true}" 

Ich mag meinen HTTP_REFERER Wert wie diese

domain:- http://auction-dev.iquippo.com 
param1 :- viewauctions 
param2:- if any 
query_param1:- upcoming 
and so on.. 

I gespalten bin habe versuche diesen Beitrag auf elastische Suche Diskussionsforum: - https://discuss.elastic.co/t/extracting-domain-from-url/36219

Aber es funktioniert nicht für mich.

Antwort

0

HINWEIS: Es kann Tippfehler geben und Sie können nicht direkt kopieren, aber es ist ein Anfang von dem, was Sie versuchen zu tun.

Beginnen Sie mit der Speicherung Ihres Verweises in einer Variablen und fügen Sie ein Tag mit add_tag ​​hinzu, später machen Sie ein if-Tag in Tags.

grok { 
    match => { "access_log_line" => "%{LINE_WITH_REFERAL}"} 
    add_tag => [ "referal" ] 
} 

if "referal" in [tags] { 
    grok { 
     match => { "referal" => "%{POST0}" } 
     add_tag => [ "referal_step2" ] 
    } 
} 

if "referal" in [tags] { 
    grok { 
     match => [ "referal_uri" => "%{POST_COMP}" ] 
    } 
} 

Beispiel Linien:

3227 "http://auction-dev.iquippo.com/viewauctions?type=upcoming"  
2522 "http://auction-dev.iquippo.com/viewauctions?foo?type=upcoming"  
327 "http://auction-dev.iquippo.com/viewauctions?foo?bar?type=upcoming" 

Erste GROK Muster für die gesamte Linie:

POST0 %{INT} "http://%{IPORHOST}/%{WORD:uri}\?%{GREEDYDATA:data} 

GrokPatterns, die Ihren params übereinstimmen:

POST1 type=%{WORD:query_param}" 
POST2 %{WORD:param1}?type=%{WORD:query_param}" 
POST3 %{WORD:param1}?%{WORD:param2}?type=%{WORD:query_param}" 
POST4 %{WORD:param2}?%{WORD:param2}?%{WORD:param3}?type=%{WORD:query_param}" 

POST_COMP %{POST1}|%{POST2}|%{POST3}|%{POST4} 
Verwandte Themen