2016-02-29 424 views
0

我在Logstash中配置了一个tcp服务器,以便多个服务器可以将日志数据推送到Logstash。但是,我想将消息所来自的服务器的IP地址添加为消息中的属性。在Logstash中获取tcp输入的客户端IP

在Logstash中使用TCP服务器时,是否有可以找到客户端IP的变量或插件?

+0

什么是推动数据? –

+0

@AlainCollins,rsyslog正在推送数据。 –

+0

为什么不使用syslog输入? https://www.elastic.co/guide/en/logstash/current/plugins-inputs-syslog.html – 7171u

回答

0

我认为你可以使用ruby过滤器将主机名解析为IP

ruby { 
     code => " 
       require 'resolv' 
       event['ip'] = Resolv.getaddress event['SYSLOGHOST'] 
       " 
} 

event['SYSLOGHOST']解析从日志文件grok过滤器。新字段ipruby过滤器一起使用。

+0

主机名称不是FQDN。由于rsyslog与logstash不在同一台服务器上,因此无法将主机名解析为IP地址,因为主机名未必在logstash服务器上已知。 –

+0

然后发送日志与FQDN:http://serverfault.com/a/448413/204896 – 7171u

+0

谢谢我还没有找到该选项。在Logstash中使用这个ruby代码而不是DNS插件有没有什么特别的理由? –