RH442攻略之gnuplot
2014-03-16 23:46
295 查看
gnuplot用于根据已有的数据生成二维图表
1、安装
2、运行
因为需要打开图片,所以需要在runlevel5下,或者将图片生成到http或ftp中,在其他图形界面的主机上打开。
用gnuplot生成系统运行状态图表钱,需要整理出以时间维度排序的数据表,
效果如下图,(因为是测试数据,起伏比较大且比较规律,请无视之)
当然,每次这么输命令生成图表肯定是不方便,也不实用,所以,脚本化它
如果还需要进一步脚本化,将获取数据的命令和gnuplot生成图表的命令(此时不需要-persist参数)一并脚本化,然后crond执行,生成的图片放在web页面上,就可以通过web浏览器查看最新的监控数据了。
这里,生成图片到指定目录,需要在gnuplot的脚本中定义,以下是一个较完整gnuplot脚本示例
当然,这只是最基础的监控,数量级上和专业的监控工具肯定没得比了,但大概原理就是这么的一个过程。
1、安装
[root@server7 ~]# yum -y install gnuplot ... ... Dependencies Resolved ========================================================================================= Package Arch Version Repository Size ========================================================================================= Installing: gnuplot x86_64 4.2.6-2.el6 base 473 k Installing for dependencies: gd x86_64 2.0.35-10.el6 base 142 k gnuplot-common x86_64 4.2.6-2.el6 base 555 k libXpm x86_64 3.5.8-2.el6 base 59 k Transaction Summary ========================================================================================= Install 4 Package(s) Total download size: 1.2 M Installed size: 3.1 M ... ... Complete!
2、运行
因为需要打开图片,所以需要在runlevel5下,或者将图片生成到http或ftp中,在其他图形界面的主机上打开。
用gnuplot生成系统运行状态图表钱,需要整理出以时间维度排序的数据表,
sar -d -p |grep vgsrv-root| awk '/^[0-2]/ {print $1,$4}' > diskdata #生成磁盘数据读取的信息(单位:扇区/每秒,每扇区512字节,除以2即为KB/s)有了原始数据之后就可以通过gnuplot来生成图表了
gnuplot #进入gnuplot编辑界面 gnuplot> set xdata time #设置x轴为时间 gnuplot> set timefmt "%H:%M:%S" #设置时间的格式,记得加引号(单双均可),并且和数据源中的时间格式匹配。 #可以通过help命令输入timefmt来查询时间格式的字母定义。 gnuplot> set format x "%H:%M" #设置x轴显示格式为%H:%M,否则时间跨度过长可能自动变为日期格式 gnuplot> set xlabel "Time" #设置x轴标签 gnuplot> set ylabel "Read_Rate" #设置y轴标签 gnuplot> plot "/root/diskdata" using 1:2 title "rd_sec" with line #生成图表,数据来源为"/root/diskdata" #using 1:2 对应数据来源中的第1、2列,冒号左边为x轴,右边为y轴 #title 为数据标签可省略可自定义,加引号(单双均可) #with line 表示在数据点间用直线连接起来注意,如果需要生成多条数据曲线,请在plot成图的一条命令后面追加,除了前面plot不用重复写之后,后面的部分都是一样的格式。每条曲线的命令之间用逗号分隔它们。
效果如下图,(因为是测试数据,起伏比较大且比较规律,请无视之)
当然,每次这么输命令生成图表肯定是不方便,也不实用,所以,脚本化它
[root@server7 ~]# vim disk.gnuplot [root@server7 ~]# cat disk.gnuplot set xdata time set timefmt "%H:%M:%S" set format x "%H:%M" plot "/root/diskdata" using 1:2 title "rd_sec" with line #还是前面的那几条命令脚本有了之后,执行命令
gnuplot -persist disk.gnuplot记得参数 -persist (这个和其他linux命令的参数相比显得有点异类,非单字符参数却用的单-号),此参数使gnuplot生成的图表在gnuplot执行完毕后仍然保留在屏幕上,否则生成的图表将一闪即逝。
如果还需要进一步脚本化,将获取数据的命令和gnuplot生成图表的命令(此时不需要-persist参数)一并脚本化,然后crond执行,生成的图片放在web页面上,就可以通过web浏览器查看最新的监控数据了。
这里,生成图片到指定目录,需要在gnuplot的脚本中定义,以下是一个较完整gnuplot脚本示例
set xdata time set timefmt '%H:%M:%S' set xlabel 'Time' set ylabel 'Load' set yrange [0:4] #y轴的取值范围,根据实际情况进行设置,方括号内是最小值和最大值,可以只设置其中一个,比如[0:] set term png size 1024,768 font '/usr/share/fonts/liberation/LiberationsSans-Regular.ttf' #暂时不知道如何修改可以直接使用字体名字而不用绝对路径 set output "/var/www/html/stat/`data +%F`.png" plot '/tmp/cpuload.data' using 1:2 title '1 Min' with line, \ '/tmp/cpuload.data' using 1:3 title '5 Min' with line, \ '/tmp/cpuload.data' using 1:4 title '15 Min' with line
当然,这只是最基础的监控,数量级上和专业的监控工具肯定没得比了,但大概原理就是这么的一个过程。
相关文章推荐
- RH442攻略之awk
- RH442攻略之vmstat
- RH442攻略之sar
- RH442攻略之module
- RH442攻略之tuned
- RH442攻略之iostat
- RH442攻略之mpstat
- RH442攻略之资源限制
- RH442 - 通过cgroup来限制kvm虚拟机只使用host的某个cpu和内存大小
- rh442 - Linux下性能监控命令vmstat的简单理解
- RHCA学习笔记:RH442-Unit9内核定时与进程延时
- RH442-3 队列技术
- RH442-7 调度域和CPU集之三
- RH442 - 如何通过lvm快照克隆一个kvm虚拟机
- rh442 - Linux下cpu使用率load average的简单理解
- RHCA学习笔记:RH442-Unit8进程与调度
- RH442-4 利用sar收集系统性能
- RHCA教程:rh442-1 利用snmp和mrtg监控linux服务器的网络流量
- RH442-6 Linux进程调度
- RHCA学习笔记:RH442-Unit5 队列原理