2017-05-25 1 views
0

Je suis nouveau avec grok et logstash j'ai un fichier journal qui est séparé avec un espace comme celui-ciignorer une partie de fin de journal dans grok

1477879888.908 728 486704579 TCP_REFRESH_UNMODIFIED/304 254 GET http://security.ubuntu.com/ubuntu/dists/precise-security/main/i18n/Index - HIER_DIRECT/91.189.88.162 - 

je veux juste filler mon journal pour que cette partie et ignorer les autres partie

1477879888.908 728 486704579 TCP_REFRESH_UNMODIFIED/304 254 GET http://security.ubuntu.com/ubuntu/dists/precise-security/main/i18n/Index 

ignorer autre part (je veux seulement 7 données séparées de l'espace et ignoree autres données

Répondre

0

Vous pouvez utiliser ce modèle de grok.

%{BASE10NUM:number1}%{SPACE}%{INT:number2}%{SPACE}%{INT:number3}%{SPACE}%{WORD:msg}/%{INT:number4}%{SPACE}%{INT:number5}%{SPACE}%{WORD:protocol}%{SPACE}%{URI:action} 

Entrée

1477879888.908 728 486704579 TCP_REFRESH_UNMODIFIED/304 254 GET http://security.ubuntu.com/ubuntu/dists/precise-security/main/i18n/Index - HIER_DIRECT/91.189.88.162 - 

Sortie

number1  477879888.908 
number2  728 
port  
number5  254 
number4  304 
msg   TCP_REFRESH_UNMODIFIED 
action  http://security.ubuntu.com/ubuntu/dists/precise-security/main/i18n/Index 
protocol GET 
number3  486704579 

Vous pouvez ensuite fusionner msg et number4 pour obtenir un nouveau champ tcpMsg. Enfin, vous supprimez msg, number4 et port.

mutate { 
    add_field => { 
    "tcpMsg" => "%{msg}/%{number4}" 
    } 
    remove_field => ["msg", "number4","port"] 
} 

Espérons que cela aide.