2014-06-20 71 views
0

我的想法是採取一些目錄(主要是IP地址)並放到「主機」,所以我會知道這個日誌是從這個主機。可能嗎?我不能在文件:(Logstash - 將我的模式放到主機

的問題是,我已經rsyslog現在在客戶端和rsyslog現在在服務器上找到我的服務器上,它看起來像:

[[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 
(...) 

而且我logstash配置至今:

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

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

,我有輸出是:

{ 
     "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" 
} 

我的問題再次THA我想在「主機」=>該客戶端的IP地址,在這種情況下是:192.168.10.11。

回答

0

的解決方案是增加神交:

神交{ 匹配=> { '路徑'=> '%{PATH} /%{IP:主機}'} 重寫=> '主機' }

感謝