ElasticSearch中的数据类型IP

时间:2015-09-16 11:35:51

标签: elasticsearch logstash

我们正在通过logstash推送ElasticSearch中的数据。问题是对于IP地址,它被存储为字符串而不是IP数据类型。是否可以通过grok指定它?我已经尝试过以下代码,但它似乎不起作用。

ip {             match => [ "ip", "IPV4" ]     }

1 个答案:

答案 0 :(得分:1)

无法在logstash中实现映射,因为无法在grok内设置复杂类型:

  

默认情况下,所有语义都保存为字符串。如果你想转换   语义的数据类型,例如将字符串更改为整数   用目标数据类型后缀它。例如%{NUMBER:num:int}   它将num语义从字符串转换为整数。的目前   唯一支持的转换是int和float。

但是,有thoughts about that feature

目前,您需要指定自定义elasticsearch template。从logstash's default elasticsearch template开始,在属性部分添加一行:

<!DOCTYPE HTML>
<html manifest="cache.manifest">
<head>

在您的logstash配置的elasticsearch output中设置"ip": { "type": "ip"}, 的文件路径:

template.json

请注意,模板仅适用于新索引。