我正在关注this教程。
我的logstash配置的一部分看起来像(这一切都在过滤器里面):
grok {
match => {
"message" => '%{IPORHOST:clientip} %{USER:ident} %{USER:auth} \[%{HTTPDATE:timestamp}\] "%{WORD:verb} %{DATA:request} HTTP/%{NUMBER:httpversion}" %{NUMBER:response:int} (?:-|%{NUMBER:bytes:int}) %{QS:referrer} %{QS:agent}'
}
}
geoip {
source => "clientip"
target => "geoip"
database => "/Users/purajain/Desktop/purak/GeoLiteCity.dat"
add_field => [ "[geoip][coordinates]", "%{[geoip][longitude]}" ]
add_field => [ "[geoip][coordinates]", "%{[geoip][latitude]}" ]
}
mutate {
convert => [ "[geoip][coordinates]", "float"]
}
映射包括:
"geoip": {
"dynamic": true,
"properties": {
"location": {
"type": "geo_point"
}
},
"type": "object"
},
现在我跑kibana:
这里我没有获得地理信息,因此我无法创建平铺地图可视化。它只是说没有数据。
我在这里做错了什么?请问我是否错过了提供任何重要信息。
答案 0 :(得分:0)
将我的logstash配置文件中的grok模式更改为此解决了我的问题:
grok {
match => {
"message" => '%{COMMONAPACHELOG} %{QS}%{QS}'
}
}