使用分隔符拆分字符串并分配给新密钥 - logstash

时间:2017-07-29 23:30:23

标签: elasticsearch split logstash kibana data-ingestion

我正在尝试使用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"] 
}                 

对此有何建议?

0 个答案:

没有答案