[elasticesearch] index pattern does not contain any of the following field types: geo_point

nginx-access로그를 이용하여 Tile map dashboard를 구성하려는데 아래와 같은 메시지 발생.

index pattern does not contain any of the following field types: geo_point

filebeat를 사용하여 nginx-access로그를 가져오는데 기본으로 제공하는 filebeat.template.json를 아래와 같이 수정하여 해결.

{
"mappings": {
"_default_": {
"_all": {
"enabled": true,
"norms": {
"enabled": false
}
},
"dynamic_templates": [
{
"template1": {
"mapping": {
"doc_values": true,
"ignore_above": 1024,
"index": "not_analyzed",
"type": "{dynamic_type}"
},
"match": "*"
}
}
],
"properties": {
"@timestamp": {
"type": "date"
},
"message": {
"type": "string",
"index": "analyzed"
},
"offset": {
"type": "long",
"doc_values": "true"
},
"geoip" : {
"type" : "object",
"dynamic": true,
"properties" : {
"location" : { "type" : "geo_point" }
}
}

}
}
},
"settings": {
"index.refresh_interval": "5s"
},
"template": "nginx-access-*"
}

curl -XPUT template

[root@arch ~]# curl -XPUT ‘http://localhost:9200/_template/nginx-access?pretty' -d@/etc/filebeat/nginx-access.template.json
{
“acknowledged” : true
}

일단 해결은 했는데… 어떻게 동작하는지 잘 모르겠음 ㅠ

Like what you read? Give Logan.81k a round of applause.

From a quick cheer to a standing ovation, clap to show how much you enjoyed this story.