elasticsearch Logstash-将我的图案交给主持人
我的想法是将一些目录(主要是ip地址)放到“主机”上,这样我就知道这个日志来自这个主机。可能吗?我在文档中找不到它:( 问题是客户端上有rsyslog,服务器上有rsyslog。在我的服务器上,它看起来像:elasticsearch Logstash-将我的图案交给主持人,elasticsearch,centos,logstash,rsyslog,elasticsearch,Centos,Logstash,Rsyslog,我的想法是将一些目录(主要是ip地址)放到“主机”上,这样我就知道这个日志来自这个主机。可能吗?我在文档中找不到它:( 问题是客户端上有rsyslog,服务器上有rsyslog。在我的服务器上,它看起来像: [root@logstash]# 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-
[root@logstash]# 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
(...)
到目前为止,我的日志存储配置是:
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"
}
我的问题是,我希望在“主机”=>中包含该客户端的IP地址,在本例中为192.168.10.11。解决方案是添加grok: 格罗克{ match=>{path'=>'%{path}/%{IP:host} 覆盖=>“主机” } 谢谢