我正在尝试使用logstash将csv导入elasticsearch。 我在csv中有一个字段是IP:端口对。我想拆分IP和端口,并通过logstash配置文件将它们分配给两个新密钥。
我查看了kv,但是kv似乎需要字符串中的键和值对。我只是价值。
示例csv数据:
hostname1,172.20.28.11:8080,proxy_web,false
hostname2,172.20.28.20:443,web_https,false
在上面的例子中,我已经将第二个字段映射为" IP_Port" (使用csv =>列) 现在,我想将172.20.28.11:8080拆分为IP = 172.20.28.11,并将端口= 8080(密钥= IP,值= 172.20.28.11)和端口相似。然后将IP的数据类型改为' ip数据类型'。
之后,如果我想转换提取的IP并使用它进行地理映射,我可以使用以下代码段将IP包含到geoip转换中。
geoip {
source => "Source IP"
target => "geoip"
database => "/etc/logstash/GeoLiteCity.dat"
add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]
}
mutate {
convert => [ "[geoip][coordinates]", "float"]
}
对此有何建议?