博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用 gnuplot 绘制图 sar搜集数据
阅读量:6278 次
发布时间:2019-06-22

本文共 2130 字,大约阅读时间需要 7 分钟。

  hot3.png

1. 利用gnuplot工具对sar 搜集的数据绘图

[root@nd3 ~]# sar -b -f /var/log/sa/sa26 |gawk '/^[^a-z]+$/{print $1"\t"($NF+$(NF-1))}' >/tmp/block.tmp

[root@nd3 ~]# cat /tmp/block.tmp 

11:50:01        104.3

12:00:01        6.08

12:10:01        14.99

12:20:01        31.66

12:30:01        8.35

12:40:01        53.13

12:50:01        13.61

13:00:01        250.68

[root@nd3 ~]# sar -q|gawk '/^[^a-z]+$/{print $1,$4,$5,$6}'>/tmp/cpuload.tmp

[root@nd3 ~]# cat /tmp/cpuload.tmp 

11:50:01 0.00 0.03 0.05

12:00:01 0.00 0.00 0.00

12:10:01 0.00 0.00 0.00

12:20:01 0.00 0.00 0.00

12:30:01 0.00 0.00 0.00

12:40:01 0.00 0.00 0.00

12:50:01 0.00 0.00 0.00

13:00:01 0.00 0.01 0.00

13:10:01 0.00 0.00 0.00

[root@nd3 ~]# yum install gnuplot -y

第一种方法:

#gnuplot

gnuplot> set xdata time

gnuplot> set timefmt "%H:%M:%S"

gnuplot> set xlabel "Time"

gnuplot> set ylabel "Load Average"

gnuplot> plot "/tmp/cpuload.tmp" using 1:2 title "1min" with lines,"/tmp/cpuload.tmp" using 1:3 title "5mins" with lines,"/tmp/cpuload.tmp" using 1:4 title "15mins" with lines

第二种方法,把常用的命名保存到文件中执行;

[root@nameserver Desktop]# gnuplot -persist cpu.gnuplot 

[root@nameserver Desktop]# cat cpu.gnuplot 

set xdata time

set timefmt "%H:%M:%S"

set xlabel "Time"

set ylabel "Load Average"

plot "/tmp/cpuload.tmp" using 1:2 title "1min" with lines,"/tmp/cpuload.tmp" using 1:3 title "5mins" with lines,"/tmp/cpuload.tmp" using 1:4 title "15mins" with lines

2. 终极使用,搜集每天12:00到14点I/O情况,并生成对应的图片,放置到/var/www/html/stat/io.`date +%F`.png

# sar -b -s 12:00:00 -e 14:00:00 |gawk '/^[^a-z]+$/{print $1,$5,$6}' >/tmp/block.`date +%F` 

# cat /tmp/block.gnuplot 

set xdata time

set timefmt "%H:%M:%S"

set xlabel "Time"

set ylabel "I/O stat"

set term png size 1024,768

set output "/var/www/html/stat/io.`date +%F`.png"

plot "/tmp/block.`date +%F`" using 1:2 title "bread/s" with lines,"/tmp/block.`date +%F`" using 1:3 title "bwrite/s" with lines

# 把它用计划任务每天运行就好了

[root@nameserver Desktop]# crontab -l

10 14 * * * sar -b -s 12:00:00 -e 14:00:00 |gawk '/^[^a-z]+$/{print $1,$5,$6}'>/tmp/block && gnuplot /shell/block.gnuplot >/dev/null 2>&1

3. Sar 的用法

sar -b 1 磁盘I/O.每一秒刷新一次

# sar -q 1 负载

sar -P 1 -f /var/log/sa/sa22 查指定的CPU

转载于:https://my.oschina.net/eloops/blog/111087

你可能感兴趣的文章
在MPAndroidChart库K线图的基础上画均线
查看>>
Gradle 1.12用户指南翻译——第四十四章. 分发插件
查看>>
查询远程或本地计算机的登录账户
查看>>
chk cloud
查看>>
asp.net事件顺序
查看>>
即时数据模块设计 版本V2
查看>>
CCNP-6 OSPF试验2(BSCI)
查看>>
Excel 2013 全新的图表体验
查看>>
openstack 制作大于2TB根分区自动扩容的CENTOS镜像
查看>>
Unbuntu安装遭遇 vmware上的Easy install模式
查看>>
几个常用的ASP木马
查看>>
python分析postfix邮件日志的状态
查看>>
Mysql-5.6.x多实例配置
查看>>
psutil
查看>>
在git@osc上托管自己的代码
查看>>
机器学习算法:朴素贝叶斯
查看>>
小五思科技术学习笔记之扩展访问列表
查看>>
使用Python脚本检验文件系统数据完整性
查看>>
使用MDT部署Windows Server 2003 R2
查看>>
Redhat as5安装Mysql5.0.28
查看>>