date {
match => ['logtime', 'yyyy-MM-dd HH:mm:ss']
timezone => 'Asia/Shanghai'
}
Kibana 选 Last 1 hour 搜不到刚打的日志,把时间往前拨八小时才出现,文档里 @timestamp 和正文时间正好差 28800 秒。这类现象通常不是突然出现的,往前翻半天日志能看到苗头。
追下去是这么回事:应用打的是本地时间又不带时区,采集端按 UTC 解析,展示端再按东八区转一次,同一个值被加了两次偏移,怎么查都对不上。
围绕「日志时区错位」排查时,命令行跑一遍比在面板里点十次有用,面板会替你做掉不少隐式操作。同一份配置存在多处的,先确认改的是被加载的那一份。
新版本先放一台机器上跑一天再全量,问题一般在这段时间暴露。备份不是备了就行,恢复一次才算数,很多备份文件打开才发现是空的。
接口问题先分清是没发出去、发出去了没收到,还是收到了处理失败。
处理上按这个顺序:让应用统一输出带时区偏移的 ISO 时间;采集端的 date 插件里显式写清楚时区;Kibana 里确认排序和过滤用的是 @timestamp。
确认没问题再收工,刚打的日志在 Last 15 minutes 里立刻出现,时间线和应用侧对得上。
