对于ELK(Kibana是v3)设置,我从一些防火墙提供日志,src_ip / dst_ip字段被定义为类型" ip"。例如
"dst_ip" : {"type" : "ip"}
映射也是正确的:
curl -XGET http://localhost:9200/logstash-2015.03.10/_mapping/field/src_ip?pretty
{
"logstash-2015.03.10" : {
"mappings" : {
"screenos" : {
"src_ip" : {
"full_name" : "src_ip",
"mapping":{"src_ip":{"type":"ip"}}
}
},
"cisco-fw" : {
"src_ip" : {
"full_name" : "src_ip",
"mapping":{"src_ip":{"type":"ip"}}
}
},
"checkpoint" : {
"src_ip" : {
"full_name" : "src_ip",
"mapping":{"src_ip":{"type":"ip"}}
}
}
}
}
}
问题是,在任何条款面板中,我想要显示topN SRC / DST IP地址,而不是IP地址的点分十进制表示,我有int / long表示。
例如:而不是192.168.66.6,它显示3232252422
在Kibana v3或v4中有解决方法吗?
谢谢, 亚当
答案 0 :(得分:1)
这是因为' ip'内部存储为数字。要获得ip地址的字符串版本,您需要将其添加到映射中,然后在面板中使用ip.raw:
"MY_FIELD" : {
"index" : "analyzed",
"type" : "ip",
"fields" : {
"raw" : {
"index" : "not_analyzed",
"type" : "string"
}
}
}