故障发生在凌晨,第二天想复盘当时的 CPU 和 IO 曲线,sar 却提示没有那天的数据文件,只能靠业务日志猜。

把日志和配置对完,能解释这个现象的基本就这几处。数据采集服务没有启用,采集任务压根没跑;历史保留天数配置太短,文件被自动清掉;采集间隔太长,短时故障被平均值掩盖。

第一件事是确认采集服务状态

systemctl status sysstat

随后看间隔和保留天数

grep -E 'HISTORY|INTERVAL' /etc/sysstat/sysstat

接着启用并立即采集一次

systemctl enable --now sysstat

剩下的就是确认数据文件已生成

ls -l /var/log/sa/

同一份数据我导出了两份,一份留底,一份拿来试。

这类问题以前遇到过,但这次的触发条件和上次不一样。

改完先别撤,确认这几项。第二天能看到完整的历史曲线,采集间隔和保留天数符合预期,复盘有据可查。

提醒一点。云监控和本机采集要同时留着,云监控粒度粗,本机数据能细到十秒级,故障定位时差别很大。报错文案容易误导,真正的原因往往在相邻那一层的日志里。

作者 9823189