Я пытаюсь создать карту плитки на Кибане с точками местоположения GEO. По какой-то причине, когда я пытаюсь создать карту, я получаю следующее сообщение об Kibana:ELK - Kibana не распознает поле geo_point
Нет Совместимость полей: «Журналы» Индекс шаблон не содержит какие-либо из следующих типов полей: geo_point
Мои настройки:
Logstash (версия 2.3.1):
filter {
grok {
match => {
"message" => "MY PATTERN"
}
}
geoip {
source => "ip"
target => "geoip"
add_field => [ "location", "%{[geoip][latitude]}, %{[geoip][longitude]}" ] #added this extra field in case the nested field is the problem
}
}
output {
stdout { codec => rubydebug }
elasticsearch {
hosts => ["localhost:9200"]
index => "logs"
}
}
Когда входной журнал приходит, я могу видеть его разобрать его, как следует, и я получаю данные GeoIP для данного IP:
"geoip" => {
"ip" => "XXX.XXX.XXX.XXX",
"country_code2" => "XX",
"country_code3" => "XXX",
"country_name" => "XXXXXX",
"continent_code" => "XX",
"region_name" => "XX",
"city_name" => "XXXXX",
"latitude" => XX.0667,
"longitude" => XX.766699999999986,
"timezone" => "XXXXXX",
"real_region_name" => "XXXXXX",
"location" => [
[0] XX.766699999999986,
[1] XX.0667
]
},
"location" => "XX.0667, XX.766699999999986"
ElasticSearch (версия 2.3.1):
GET/журналы/_mapping возвращается:
{
"logs": {
"mappings": {
"logs": {
"properties": {
"@timestamp": {
"type": "date",
"format": "strict_date_optional_time||epoch_millis"
},
.
.
.
"geoip": {
"properties": {
.
.
.
"latitude": {
"type": "double"
},
"location": {
"type": "geo_point"
},
"longitude": {
"type": "double"
}
}
},
"location": {
"type": "geo_point"
}
}
}
}
}
}
Kibana (версия 4.5.0):
Я вижу все данные, и кажется, что все будет в порядке. Просто, когда я иду в «Визуализация» -> «Tile карта» -> «С нового поиска» -> «Гео координаты», я получаю сообщение об ошибке:
No Compatible Fields: The "logs" index pattern does not contain any of the following field types: geo_point
Даже Тхо я вижу в elasticsearch отображения что тип местоположения - geo_point. Что мне не хватает?
Это быстрое решение, но не затрагивает проблему, если ваше имя индекса отличается. Это возможно, но вам нужно добавить шаблон - детали которого я не совсем уверен. –
интересно ... если вы только читали из индекса, называли «logs», мне интересно, почему Kibana потребовал, чтобы шаблон индекса «logstash-logs» правильно читал ваши данные. Кажется, это сбой или некоторые неочевидные функциональные возможности. – Shuklaswag