sadf本身不生成可视化图表,仅将sar二进制日志转换为csv/json/xml等结构化格式,供gnuplot、python绘图或grafana等平台进一步可视化。

直接用 sadf 本身不能生成可视化图表,它只是把 sar 记录的二进制数据(如 /var/log/sa/saXX)转换成结构化文本(CSV、JSON、XML 等),为后续绘图做准备。真正实现“可视化”的环节在导出后的数据处理阶段。
sadf 导出结构化数据
sadf 的核心作用是格式转换。常用方式有:
-
sadf -d /var/log/sa/sa15:输出为默认的 CSV 格式,字段用分号分隔,含时间戳、CPU、内存、I/O 等列 -
sadf -j /var/log/sa/sa15:导出为 JSON,适合程序解析或导入 Grafana/Prometheus -
sadf -x /var/log/sa/sa15:导出为 XML,兼容性好但体积大 -
sadf -g /var/log/sa/sa15 -- -C:生成 Gnuplot 脚本(需配合 gnuplot 工具渲染)
用 CSV 数据快速绘图(免安装 GUI 工具)
导出 CSV 后,可借助轻量工具即时可视化:
- 用
gnuplot直接画图:sadf -d /var/log/sa/sa15 | gnuplot -e "set terminal png; set output 'cpu.png'; plot '-' using 1:3 with lines title 'CPU %user'" - 用 Python + pandas + matplotlib(一行命令启动):
sadf -d /var/log/sa/sa15 | python3 -c "import pandas as pd, matplotlib.pyplot as plt; df = pd.read_csv('/dev/stdin', sep=';', parse_dates=[0]); df.plot(x=df.columns[0], y=df.columns[2]); plt.savefig('cpu_plot.png')"
对接专业可视化平台
生产环境中更推荐将 sadf 输出接入成熟平台:
-
Grafana + InfluxDB:用
sadf -j流式写入 InfluxDB,再配置仪表盘 -
ELK Stack:用 Logstash 解析
sadf -d的 CSV,存入 Elasticsearch,Kibana 做趋势分析 -
自建 Web 展示页:用
sadf -d定时生成 CSV,前端用 Chart.js 渲染动态折线图
注意事项
导出前确保数据已采集且文件存在:
-
ls -l /var/log/sa/sa$(date -d yesterday +%d)查看昨日数据文件 -
sar -f /var/log/sa/sa15 | head -5先确认内容可读 -
sadf不支持实时流式导出,只能处理已保存的二进制日志











