Как я могу использовать Perl и RRD для построения графика времени пинга?

Я пытаюсь сделать свой первый график rrd через Perl. Я пробовал 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)]
        );

Результат:

http://www.mediafire.com/imgbnc.php/a39e2bd662adefa823dca66351db637c5g.jpg


person Chris Muench    schedule 21.04.2010    source источник
comment
Можете ли вы показать нам, что вы пробовали до сих пор, вместе с вашим образцом вывода?   -  person brian d foy    schedule 21.04.2010
comment
codebin: code-bin.homedns.org/602 и вывод png mediafire.com/file/4jdrymiyhmm/server-hourly.png   -  person Chris Muench    schedule 22.04.2010
comment
Гораздо приятнее сделать это частью вопроса на Stackoverflow, чтобы он не исчез.   -  person brian d foy    schedule 22.04.2010


Ответы (1)


Из приведенного выше сценария основная проблема заключается в том, что у вас недостаточно данных для отображения на графиках. вы можете просмотреть данные в своем rrd, используя 'rrdtool fetch`.

Если вы можете использовать bash вместо perl. Посмотрите на это "Статистика кругового пути и потери пакетов с помощью rrdtool"

Если вы все еще хотите использовать модуль Perl RRD::Simple, пожалуйста, посмотрите примеры, предоставленные с этим модулем, т.е. RRD::Simple::Examples Или предоставьте более подробную информацию о проблеме, с которой вы столкнулись.

person Space    schedule 22.04.2010
comment
К сожалению, мне действительно нужно использовать Perl, так как другие части моего скрипта написаны на Perl. никто другой? - person Chris Muench; 22.04.2010
comment
Каковы другие части и с какими проблемами/ошибками вы столкнулись. - person Space; 23.04.2010
comment
Ну, в основном я генерирую график, но внутри него не отображаются данные. - person Chris Muench; 23.04.2010
comment
с какой частотой вы обновляете rrd и как вы получаете ответ. Я не вижу всего этого в предоставленном коде. Я хотел бы предложить вам взглянуть на приведенный мной пример bash и простые примеры rrd. Также посмотрите документацию RRDTool для данных. - person Space; 23.04.2010