Мы пытаемся поместить данные в эластичный поиск, используя файл .conf и .json (файл шаблона) в ELK версии 6.3. Изначально мы успешно поместили данные в версию ELK 4.x, используя файл шаблона, и смогли отобразить точки на карте. Но в новой версии, с / без использования файла шаблона, в Кибане лат и лон видятся только как число.
Как мы нажимаем lat, lon, чтобы он имел тип геопункта? Мы пытаемся передать данные с помощью файла конфигурации logstash.
Вот наш файл .conf:
[input
{
file
{
path => "/home/ubuntu/file.csv"
start_position => "beginning"
}
}
filter {
csv {
separator => ","
columns => \[
"CASCADE",
"Accessibility",
"Sustainability",
"CONNECTION_FAIL_per",
"RRC_CONNECTION_ATTEMPT",
"eCSFB_to_CDMA1XRTT_Exe_Succ_Count",
"eCSFB_Preparation_Success_Rate",
"eCSFB_Overall_Success_Rate",
"CSFB_Attempts",
"Total_PUCCH_PRB_UL_per",
"lat",
"lon"
\]
}
mutate { convert => {"lat" => "float"} }
mutate { convert => {"lon" => "float"} }
mutate { rename => {"lat" => "\[location\]\[lat\]"} }
mutate { rename => {"lon" => "\[location\]\[lon\]"} }
}
output {
elasticsearch {
template => "/usr/share/elasticsearch/new.json"
template_overwrite => true
hosts => "localhost:9200"
index => "new"
workers => 1
}
stdout {}
}
template file : new.json
{
"template" : "new",
"settings" : {
"index.refresh_interval" : "5s"
},
"mappings" : {
"_default_" : {
"_all" : {"enabled" : true, "omit_norms" : true},
"dynamic_templates" : \[ {
"message_field" : {
"match" : "message",
"match_mapping_type" : "string",
"mapping" : {
"type" : "string", "index" : "analyzed", "omit_norms" : true,
"fielddata" : { "format" : "disabled" }
}
}
}, {
"string_fields" : {
"match" : "*",
"match_mapping_type" : "string",
"mapping" : {
"type" : "string", "index" : "analyzed", "omit_norms" : true,
"fielddata" : { "format" : "disabled" },
"fields" : {
"raw" : {"type": "string", "index" : "not_analyzed", "ignore_above" : 256}
}
}
}
} \],
"properties" : {
"@timestamp": { "type": "date" },
"@version": { "type": "string", "index": "not_analyzed" },
"geoip" : {
"dynamic": true,
"properties" : {
"ip": { "type": "ip" },
"location" : { "type" : "geo_point" },
"lat" : { "type" : "float" },
"lon" : { "type" : "float" }
}
},
"location" : { "type": "geo_point" }
}
}
}
}]
Пожалуйста, дайте нам знать, как конвертировать в Geo-point