## 适用场景
凌晨三点发生过什么,业务方说昨天下午系统卡了一阵,这类事后追问没有历史数据就只能靠猜。sar 属于 sysstat 工具包,后台定时把 CPU、内存、IO、网络等指标采样落盘,事后按时间点回放,是运维人手一份的行车记录仪。顺云云服务器装机初始化清单里,sysstat 应该排在前列。
## 步骤清单
先确认安装与开启状态,部分发行版装好后采集默认关闭,要把配置里的开关改为启用并重启服务。开启后系统每隔十分钟写一份二进制采样文件,目录通常是 /var/log/sysstat 或 /var/log/sa,文件名按日期编号,保留天数可配。
sar -u # 今日CPU sar -u -f /var/log/sysstat/sa23 # 指定日期 sar -r # 内存 sar -d -p # 磁盘设备 sar -n DEV | grep eth0 # 网卡流量
## 验证方法
装好当天即可查询当日数据,次日再用 f 参数指定昨天的文件验证留存完整。把保留期调整到覆盖典型故障回顾窗口,例如一个月,并确认磁盘空间足够。
## 注意事项
十分钟粒度捕捉不到秒级毛刺,细颗粒排查要在事发时上 vmstat 与 pidstat 补充,两者定位分工不同。默认间隔改动会增加写盘量,要权衡。云环境的宿主争抢体现在 sar 的 steal 列,排查性能问题时别漏看这一列。sar 还有一个实时模式,加间隔秒数直接滚动输出当前指标,相当于顺手的临时仪表盘。
采集配置的关键参数是频率与保留期。默认十分钟一次对趋势分析足够,捕捉短尖峰可以把关键指标加密到每分钟,代价是写盘量上升。保留期按审计与回溯需求定,一个月是常见起点,存储紧张时把旧数据汇总降采样,日级汇总保留一年,细粒度保留两周,两头兼顾。
同家族的配套命令也值得认识:sadf 把二进制数据转成表格与图形格式,方便导入报表;pidstat、iostat、mpstat 与 sar 同属一套,口径一致,交叉引用不会打架。日常把高频查询写成别名,查任意日期的 CPU 与负载一条命令搞定,用得顺手的工具才会被真正用起来。