Syslog 时间错乱是运维中很常见的问题,通常表现为:日志时间与本地时间不一致、时间跳变、时区错误、或不同主机时间对不上。下面按“现象 → 原因 → 排查步骤”系统说明。
不同表现对应不同原因:
date 命令不一致
date
确认:
CST, UTC)timedatectl
或
cat /etc/timezone
ls -l /etc/localtime
如果时区不对:
timedatectl set-timezone Asia/Shanghai
timedatectl status
关注:
System clock synchronized: yesNTP service: activechronyc sources -v
chronyc tracking
异常表现:
?systemctl restart chronyd
# 或
systemctl restart ntpd
查看:
/etc/rsyslog.conf
示例:
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat
如果用了自定义 template,确认时间字段:
%timereported%
如果是 远程 syslog:
建议:
RSYSLOG_FileFormat(含毫秒和时区)解决:
systemctl enable chronyd
容器常使用 宿主机时间或 UTC 检查:
docker exec -it xxx date
解决:
/etc/localtimeTZ=Asia/Shanghaidate
timedatectl
chronyc sources -v
cat /etc/timezone
systemctl status rsyslog
| 现象 | 原因 |
|---|---|
| 差 8 小时 | 时区不对 |
| 时间抖动 | NTP 异常 |
| 日志时间未来 | 系统时间被改 |
| 多机不一致 | NTP 源不同 |
| 容器日志错 | TZ 未设置 |
如果你愿意,可以告诉我:
我可以直接帮你定位到配置项。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。