我正在尝试通过Perl创建我的第一个rrd图。 我已经尝试了RRD::Simple和rrds,但却无法让任何一个工作。
这是我到目前为止所拥有的:
use strict;
use RRD::Simple ();
# Create an interface object
my $rrd = RRD::Simple->new( file => "server.rrd" );
# Put some arbitary data values in the RRD file for the same
# 3 data sources called bytesIn, bytesOut and faultsPerSec.
$rrd->create(
EqSearch => "DERIVE",
MfSearch => "DERIVE",
EQCostBasis => "DERIVE",
MFCostBasis => "DERIVE"
);
$rrd->update(
EqSearch => 2,
MfSearch => 3,
EQCostBasis => 10,
MFCostBasis => 15
);
# Generate graphs:
# /var/tmp/myfile-daily.png, /var/tmp/myfile-weekly.png
# /var/tmp/myfile-monthly.png, /var/tmp/myfile-annual.png
my %rtn = $rrd->graph(
destination => "/Users/cmuench/Documents/Code/perl",
title => "Server A",
vertical_label => "",
interlaced => "",
periods => [qw(hour)]
);
输出结果为:
graph http://www.mediafire.com/imgbnc.php/a39e2bd662adefa823dca66351db637c5g.jpg
答案 0 :(得分:0)
从上面的脚本中,主要问题是您没有足够的数据显示在图表中。你可以使用'rrdtool fetch`来查看rrd中的数据。
如果你可以使用bash而不是perl。看看这个“Round Trip and Packet Loss stats with rrdtool”
如果您仍想使用perl模块RRD::Simple,请查看此模块提供的示例,例如RRD::Simple::Examples或提供有关您所面临问题的更多详细信息。