问题描述
当事件从logstash发送到具有默认indexName的elasticsearch时,
geoip.location
的数据类型为geo_point
。由于geoip.location
具有geo_point
数据类型,因此我可以在kibana中查看地图中位置的绘图,因为kibana在寻找地图的geo_point
数据类型。
geoip.location
变为geoip.location.lat
,geoip.location.lon
的数据类型为number
。因此,我无法在kibana的地图中查看位置的绘图。
当我尝试将数据添加到ModifyedNameName时,我不明白为什么Elasticsearch的行为会有所不同。这是Elasticsearch的错误吗?
对于我的用例,我需要使用修改后的索引名,因为我每天都需要新的索引。该计划是将特定日期的日志存储在单个索引中。因此,如果有7天,那么我需要有7个索引,其中包含每天的日志(应该基于currentdate创建新索引)。
我到处寻找解决方案,但是我无法理解并使其起作用。请帮我解决这个问题
更新(阅读xeraa的答案后我做了什么?)
在kibana的devtools中,
GET _template/logstash
-在index_patterns
属性中显示允许的模式以及其他属性
我将我的模式(dave *)包含在index_patterns
内并触发了PUT
请求。您必须在body
请求中传递完整的现有GET
内容(您将在PUT
请求中收到)以及所需的index_patterns
,否则默认设置将消失因为PUT
api将替换您在PUT
正文中传递的所有数据
PUT _template/logstash
{
...
"index_patterns": [
"logstash-*","dave*"
],...
}
解决方法
我想默认名称有一个模板集,如果您重命名它就不会发生。
使用GET _template
检查是否与您的旧索引名匹配,并更新设置,以便将其也应用于新索引。