2014-06-20 2 views
0

Mon idée est de prendre quelques répertoires (principalement des adresses IP) et de les mettre à l'hôte afin que je sache que ce journal provient de cet hôte. C'est possible? . Je ne peux pas trouver la documentation :(Logstash - mettre mon modèle à l'hôte

Le problème est que je rsyslog sur les clients et rsyslog sur le serveur Sur mon serveur, il ressemble à:

[[email protected]]# ls -al /var/log-remote/ 
total 12 
drwxr-xr-x 3 root root 4096 Jun 20 09:50 . 
drwxr-xr-x. 18 root root 4096 Jun 20 09:48 .. 
drwx------ 2 root root 4096 Jun 20 10:01 192.168.10.11 
drwx------ 2 root root 4096 Jun 20 10:01 192.168.20.12 
drwx------ 2 root root 4096 Jun 20 10:01 192.168.30.13 
(...) 

Et ma configuration de logstash jusqu'à présent est :

input { 
    file { 
    type => "linux-syslog" 
    path => [ "/var/log-remote/*/*.log" ] 
    } 
} 

output { 
    stdout { 
    codec => rubydebug 
    } 
elasticsearch { 
    host => localhost 
    } 
} 

La sortie que j'ai est:

{ 
     "message" => "Test", 
     "@version" => "1", 
    "@timestamp" => "2014-06-20T09:01:23.335Z", 
      "type" => "linux-syslog", 
      "host" => "0.0.0.0", 
      "path" => "/var/log-remote/192.168.10.11/user.log" 
} 

Ma question est à nouveau tha Je voudrais avoir dans "host" => adresse IP de ce client qui est dans ce cas: 192.168.10.11.

Répondre

0

La solution est d'ajouter grok:

grok { match => { 'path' => '% {PATH} /% {IP: host}} Ecraser => 'hôte' }

Merci