Syslog 时间显示异常通常由时区不一致、时间源不同步、系统时间错误、日志接收端配置差异等原因导致。下面按常见场景逐一说明(以 Linux 常见环境为主)。
Syslog 默认使用所在系统的本地时间(除非显式配置为 UTC)。
典型现象
date 正确,但日志里的时间不对排查
date
ls -l /etc/localtime
解决 统一时区,例如设为 Asia/Shanghai:
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
timedatectl set-timezone Asia/Shanghai
现象
排查
timedatectl
解决
ntpdate ntp.aliyun.com
hwclock --systohc
现象
排查
timedatectl status
chronyc sources
解决 启用 NTP:
timedatectl set-ntp true
某些发行版或容器环境中,rsyslog 默认使用 UTC。
解决
在 /etc/rsyslog.conf 中设置:
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
或强制使用本地时间:
$template TraditionalFormat,"%timegenerated% %HOSTNAME% %syslogtag%%msg:::sp-if-no-1st-sp%%msg:::drop-last-lf%\n"
现象
原因
解决
现象
原因 容器默认继承宿主机 UTC,不继承时区配置。
解决
-v /etc/localtime:/etc/localtime:ro
-v /etc/timezone:/etc/timezone:ro
或设置环境变量:
TZ=Asia/Shanghai
现象
解决
date 是否正确?Syslog 时间异常,90% 是时区或 NTP 问题,10% 是日志转发/格式问题。
如果你愿意,可以告诉我:
我可以给你更精确的定位方案。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。