我得到了最新的Kibana 5.4.0和Docs说:
https://www.elastic.co/guide/en/kibana/current/index-patterns.html#settings-create-pattern
要在索引名称中使用事件时间,请将静态文本括在模式中,并使用下表中描述的标记指定日期格式。
例如,
[logstash-]YYYY.MM.DD
匹配名称的前缀为YYYY.MM.DD
的{{1}}形式的所有索引,例如logstash-
和logstash-2015.01.31
当我尝试创建模式logstash-2015-02-01
或[testx_]YYYY-MM-DD_HH-mm
或[testx_]YYYY-MM-DD_HH
时,Kibana无法找到@timstamp字段,并且没有任何索引符合这些模式。
[testx_]YYYY-MM-DD
另一方面,GET _cat/indices
yellow open testx_2017-06-19_14 dHAfSzAuSEKpYLuA8p5EIw 1 1 1 0 4.6kb 4.6k
yellow open testx_2017-06-19_13-59 hfGkELCsSUavaX8GuLPuMQ 1 1 1 0 4.6kb 4.6kb
yellow open testx_2017-06-19 lbsdW18cSIuZ2bNn1Fw7WA 1 1 1 0 4.6kb 4.6kb
模式Kibana找到testx_*
字段并匹配100%的索引......
最新的Kibana支持基于时间的索引名称吗?
如果它仍然合适,我希望从索引命名架构中获得性能优势......
更新
更新2 我发现https://www.elastic.co/blog/managing-time-based-indices-efficiently宣传了“翻转模式”。维护索引名称中的日期/时间不再是推荐的方式,但我怀疑新的API会让生活更轻松((
答案 0 :(得分:0)
根据这些问题:
Kibana 4.3.0 应该为您解决这个问题:它会自动优化通配符索引模式,例如logstash- *,就像之前只能通过手动配置基于时间的索引模式一样与您的基础索引方案匹配的名称(例如[logstash-] YYYY.MM.DD)。
Elasticsearch 1.6 引入了_field_stats API,这将首次允许我们搜索包含给定范围内字段的索引。例如,我们可以搜索包含X和Y之间的@timestamp的索引。
这意味着将不再要求用户在UTC午夜滚动索引,也不再使用日期模式。他们可以根据需要有效地命名索引。和Kibana可以通过触发指数的飞行前请求来自动优化请求。我们可能需要在这里添加一些缓存,但它应该会大大增强可用性。
不需要基于时间的名称来提高性能,但保留基于时间的索引名称对于归档旧索引仍然有用。
更新创建了从文档中删除基于时间的模式的问题。 https://github.com/elastic/kibana/issues/12406
答案 1 :(得分:0)
以前版本的Elasticsearch允许自动添加像@timestamp这样的字段。 https://www.elastic.co/guide/en/elasticsearch/reference/current/breaking_50_mapping_changes.html 因此,索引不包含基于时间的事件,或者在其他术语中没有包含日期时间字段的字段。 我将json日志直接转储到elasticsearch并在添加到elasticsearch之前添加时间戳。因此,在创建索引时,我选择我定义的时间戳字段。