You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Elasticsearch @timestamp在Kibana显示当前时间而非日志时间的问题

Kibana数据视图@timestamp显示当前时间的排查与解决

1. 先检查数据视图的时间字段配置

  • 打开Kibana的Stack Management > Data Views,找到对应的索引视图
  • 查看「Time field」是否设置为@timestamp——如果误选了其他字段(比如event.created或自动生成的其他时间字段),就会显示错误时间
  • 若设置错误,直接编辑数据视图,将时间字段重新选择为@timestamp并保存

2. 验证Kibana时区设置

  • Kibana默认使用浏览器时区,虽不会直接显示当前时间,但仍需确认:
    • 进入Stack Management > Advanced Settings,找到dateFormat:tz配置项
    • 将时区设置为预期值(比如UTC或本地时区),调整后刷新视图

3. 确认所有索引文档的@timestamp一致性

  • 即使Dev Tools查询个别文档显示正确,仍可能存在部分文档的@timestamp为当前时间,导致视图显示混乱:
    • 在Dev Tools执行以下查询,批量检查文档:
      GET my-index-name/_search
      {
        "size": 100,
        "sort": [{"@timestamp": "desc"}],
        "_source": ["@timestamp", "log_timestamp"]
      }
      
    • 检查返回的所有文档,确认@timestamp是否均为日志时间,有无混入当前时间的异常文档
    • 若存在异常文档,查看Logstash日志中的_grokparsefailure标签——大概率是部分日志解析失败,date过滤器未生效,@timestamp保留了默认的当前时间

4. 刷新Kibana数据视图缓存

  • Kibana可能缓存了旧的字段信息,导致显示异常:
    • 在数据视图页面,点击右上角的Refresh field list按钮
    • 清除浏览器缓存后,重新打开Kibana视图

5. 检查Logstash输出到ES的配置

  • 确认Logstash的output配置未修改@timestamp字段:
    • 排查是否在output中对@timestamp进行了额外赋值,或使用其他插件修改了该字段
    • 确保output部分无干扰@timestamp的逻辑,示例正确的ES输出配置:
      output {
        elasticsearch {
          hosts => ["http://localhost:9200"]
          index => "my-index-name"
        }
        stdout { codec => rubydebug }
      }
      

内容的提问来源于stack exchange,提问作者Origin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 03:15:22