rrdtool学习系列-4

今天这讲是讲如何用rrdtool 进行绘图(接近成功)

rrdtool graph 文件名,一般文件名我们都用 *.png 格式;后面的参数比较多,咱们慢慢说
1、[-s|–start time] [-e|–end time] [-S|–step seconds]
你可以理解为你这个图做出了要显示的一个时间段,比如
–start=now-7200 \
–end=now \
意识是这个图是从2个小时前开始画起,到当前时间结束;step可省略,按rrd生成时候的step默认

2、[-t|–title string] [-v|–vertical-label string]
这个就不详细介绍了,-t 是图的标题,-v是图的Y轴注释

3、[-w|–width pixels] [-h|–height pixels] [-j|–only-graph]
图的宽度高度,-j这个参数有点意思,如果你指定-j,并设置高度<32像素,那么你会得到一个icon。

4、[-u|–upper-limit value] [-l|–lower-limit value] [-r|–rigid]
设定Y轴上下限,默认情况下,RRDtool 会和 MRTG 一样自动调整 Y 轴的数字,来配合当前的数值大小。如果想禁止该特性,可以通过lower-limit 来做限制,表示Y轴显示的值从多少到多少。如果没有指定 –rigid ,则在图表的上下边界处还是会有一些延伸,但如果指定了–rigid ,则严格按照 -lower-limit 绘制。在使用 lower-limit 时要注意,如果数据中有负数,如果 lower-limit 为 0,则负数部分是显示不出来的。便于理解,请参考下图

5、X/Y 轴刻度(Grid)
[-x|–x-grid GTM:GST:MTM:MST:LTM:LST:LPR:LFM]
[-x|–x-grid none]
[-y|–y-grid grid step:label factor]
[-y|–y-grid none]
[-Y|–alt-y-grid]
[-X|–units-exponent value]
说实话,一般不用改这个,我从来没改过,所以下面的注解是从网上COPY来的,大家看看。

看上图,在垂直的线中,红色的线称为 Major Grid(主要网格线),灰色的线称为 Base Grid (次要网格线)。 X 轴下面的时间文字成为 Label 。了解这三样东西后,就可以动手调整刻度了。
有两种方法可以快速去掉 X/Y 轴的刻度,就是 –x-grid none 和 –y-grid none
GTM:GST :控制次要格网线的位置。GTM 是一个时间单位,可以是 SECOND、MINUTE、HOUR、DAY 、WEEK、MONTH、YEAR 。
GST 则是一个数字,控制每隔多长时间放置一根次要格线。例如我们要画一个1天的图表,决定每15分钟一根次要网格线,则格式为 MINUTE:15
MTM:MST :控制主要网格线的位置。MTM 同样是时间单位,MST 是一个数字。接上面的例子,决定一个小时1根主要网格线。则格式为 HOUR:1
LTM:LST :控制每隔多长时间输出一个label 。决定为1小时1个 label 。则格式为 HOUR:1
LPR:LFM :LTM:LST 只是决定了 label 的显示位置了,没有指定要显示什么内容。LPR 指的是如何放置 label 。如果LPR 为0,则数字对齐格线(适用于显示时间)。如果不为0,则会做一些偏移(适用于显示星期几、月份等)。至于LFM 则需要熟悉一下 date 命令的参数,常用的有 %a(星期几)、%b(月份)、%d(天)、%H(小时)、%M(分)、%Y(年)。我们决定显示小时和分,所以用 %H%M
综合起来,X 轴的刻度定义就是 –x-grid MINUTE:15:HOUR:1:HOUR:1:0:’%H:%M’。最好把 %H:%M 括起来
建议 MST是 GST 的2-6倍,MST 和 LST 相同。这样画出来的图比较美观一些

Y 轴刻度的设置又不一样了
grid step :用于控制Y轴每隔多少显示一根水平线
label factor :默认为1,也就是在每根水平线的高度那里显示一个值。
Y 轴还有一个很方便的选项就是 –Y ,它可以最大限度的优化 Y 轴的刻度,建议每次绘图都加上去。
Y 轴另外一个有用的选项就是 –X (虽然选项名是 -X ,但确实是用来设置 Y 轴刻度值的)
以 k 为单位显示。但如果你不想以 k 显示,而是想固定以某个单位来显示(M,b)该怎么办呢?这就要用到 –X 选项了。-X 后面跟一个参数,参数值范围是 -18、-15、-12、-9、-6 、-3、0、3、6、9、12、15、18 。
0 表示以原值显示,3 表示数值除以1000,也就是以 k 为单位显示,6 就是以M 显示,9 就是以 G 显示。如果你给出1或者2,则 RRDtool 也可以接受,但会被“静悄悄”的改为0。

 今天就到这里吧,今天介绍的都是rrdtool画图的杂项,大家先看看,有个基础。

 
 

 

原创文章,转载请注明: 转载自混沌

本文链接地址: rrdtool学习系列-4