ES7环境下Kibana Discover索引时间选择器缺失问题咨询
ES7 + Kibana 配置自定义时间字段解决Discover无时间选择器问题
问题说明
Kibana 的时间筛选器不依赖ES原生的@timestamp字段,是和**Kibana索引模式(Index Pattern)**的配置绑定的,你当前的索引模式没有指定时间字段,才会导致Discover页面不显示时间选择器。你所持有的save_date字段已经配置为date类型,满足时间字段要求,不需要修改索引侧的mapping配置。
配置步骤
- 进入Kibana左侧菜单,找到
Stack Management→Kibana→索引模式 - 在索引模式列表中找到关联该ES索引的对应模式,点击进入详情页
- 点击详情页右上角的 编辑 按钮
- 在「时间字段」下拉选项中选择
save_date字段,保存修改 - 回到Discover页面刷新,即可看到时间选择器,默认按
save_date做时间筛选
可选兼容配置(适配旧版@timestamp使用习惯)
如果你需要和旧版日志方案兼容,统一用@timestamp作为全局时间字段,可以通过ES的ingest pipeline给新增文档自动补充该字段,无需修改存量数据的映射:
PUT _ingest/pipeline/add_timestamp { "processors": [ { "set": { "field": "@timestamp", "copy_from": "save_date" } } ] }
配置完成后给索引设置默认pipeline即可生效:
PUT 你的索引名称/_settings { "index.default_pipeline": "add_timestamp" }
存量文档如果需要补全
@timestamp字段,调用_update_by_query接口批量更新即可。
验证
回到Discover页面,确认时间选择器正常显示,选择时间范围后可以正常筛选出对应save_date区间的文档即配置成功。
内容的提问来源于stack exchange,提问作者Tommie Jones
相关产品推荐
相关产品推荐

