我使用文件拍打将日志从我的节点发送到logstash。有多种这样的节点,他们使用文件拍打将日志发送到logstash。
基本上,我想知道我的节点的公共IP地址,以便我可以在基于GEOIP的位置绘制Kibana的可视化。
并且由于我的节点在NAT后面,因此我无法将IP地址打印为日志条目的一部分(例如,Syslog条目);因为在本地我只知道节点的私有IP。
有什么方法可以自动知道我的节点的IP地址并将其插入弹性搜索字段?
理论上应该有可能,就像logstash从Beats获取信息时,他应该从他获得的位置了解IP地址。
预先感谢。
不可能使用当前的logstash beats输入来配置它以通过接收到该事件的远程IP丰富传入的事件。
过去,该功能是针对较旧的Logstash Lumberjack输入提出的,但是Beats Input中没有开放的功能请求。我建议您要求它。
https://github.com/logstash-plugins/logstash-input-beats/issues/180https://www.elastic.co/guide/en/logstash/current/plugins-inputs-beats.html#plugins-inputs-beats-ecs_metadata
input {
beats {
port => "5044"
add_field => { "remote_ip" => "%{[@metadata][input][beats][host].[ip]}" }
}
}