首页/安全/取证与溯源速查/sar 历史性能数据回溯
Linux 取证135 条

sar 历史性能数据回溯

sysstat 按周期采样并保存到 /var/log/sa/,可回看事件时段的主机负载、磁盘与网络指标,为时间线提供旁证。

取证与溯源速查安全更新于 2026-10-13

按周期采样的历史性能数据

sysstat 套件由计划任务按固定间隔采集系统指标并写入二进制文件,默认保存在 /var/log/sa/ 目录下,文件名形如 sa15(表示当月第 15 天)。这些数据能回溯事件时段的主机状态:CPU 占用、磁盘读写、网络流量、进程活动等,为时间线提供旁证,尤其是判断某个时段主机是否处于异常高负载。

二进制文件要用专用命令读

sa 系列文件是二进制格式,直接用编辑器或 cat 打开是乱码,必须用 sar -f 指定文件读取。可以只取某个时间区间,避免在无关时段上浪费时间。默认保留周期通常只有数周,历史深度取决于配置中的保留份数。

基本信息

适用平台Linux(sysstat 套件,安装后由计划任务采集)
数据目录/var/log/sa/,文件名按当月日期编号
读取命令sar -f 文件 -s 起点 -e 终点
常用类型-u CPU、-d 磁盘、-n DEV 网络接口、-q 负载
保留深度由配置决定,默认一般数周

典型使用场景

  • 判断数据外传时段:看网络接口流量在某时段是否陡增
  • 排查加密勒索行为:磁盘写入量在短时间内的异常抬升
  • 确认主机是否被用作计算资源:CPU 在非工作时段持续高占用
  • 核对服务中断:负载骤降或指标缺失对应停机时段
  • 为时间线补充旁证:把性能拐点与日志事件对齐

回溯历史指标

回溯历史指标
# 列出可用的数据文件,文件名中的数字是当月日期
ls -l /var/log/sa/ | head

# 查看某天的 CPU 指标,限定时间段
sar -u -f /var/log/sa/sa15 -s 09:00:00 -e 11:00:00 | head -30

# 网络接口流量:判断是否有大量外传
sar -n DEV -f /var/log/sa/sa15 -s 09:00:00 -e 11:00:00 | head -20

# 磁盘写入量:判断是否有批量打包行为
sar -d -f /var/log/sa/sa15 -s 09:00:00 -e 11:00:00 | head -20

# 查看采集配置与保留份数
cat /etc/default/sysstat /etc/sysconfig/sysstat 2>/dev/null | head

常用指标与含义

指标含义异常表现
%user / %system用户态与内核态 CPU 占用非工作时段持续偏高
%iowait等待 IO 的时间占比明显抬升说明磁盘成为瓶颈
rkB/s / wkB/s磁盘读写速率写入突增常与批量打包相关
rxkB/s / txkB/s网络收发速率发送突增可能与数据外传相关
ldavg-1一分钟平均负载突变时刻可对应事件起点
系统未安装 sysstat 或计划任务被禁用时,历史数据文件根本不存在;在报告里要把「没有历史指标」与「指标正常」区分开来。
采样间隔通常为十分钟,短促的爆发行为可能落在两次采样之间而被平均掉;解读峰值时要结合采样间隔说明分辨能力。

易错点

  • 直接打开数据文件:二进制内容显示为乱码,误以为文件损坏
  • 把采样间隔当精度:突发行为被平均化,峰值被严重低估
  • 未确认采集是否启用:没有数据文件被误读成指标正常
  • 只看 CPU 不看网络与磁盘:不同类型行为需要对应指标佐证
  • 忽略数据保留深度:想回溯长期历史时发现文件已被轮转删除

数据来源与参考

  • sysstat 官方文档(sar 与 sa 数据文件)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌