Hi experts!

I know of a lot of post talk about NAN, but I can't resolve it.

I try this:
rrdtool create temperature.rrd --step 300 \
DS:temp:GAUGE:600:-273:5000 \
RRA:AVERAGE:0.5:1:1200 \
RRA:MIN:0.5:12:2400 \
RRA:MAX:0.5:12:2400 \
RRA:AVERAGE:0.5:12:2400

and this (with different value)
rrdtool update temperature.rrd N:25

And I obtain this:
nsp-nms:/usr/local/cacti/rra# rrdtool fetch temperature.rrd MAX
timestamp    temp

1211392800:  nan
1211396400:  nan
1211400000:  nan
1211403600:  nan
1211407200:  nan
1211410800:  nan
1211414400:  nan
1211418000:  nan
1211421600:  nan
1211425200:  nan
1211428800:  nan
1211432400:  nan
1211436000:  nan
1211439600:  nan
1211443200:  nan
1211446800:  nan
1211450400:  nan
1211454000:  nan
1211457600:  nan
1211461200:  nan
1211464800:  nan
1211468400:  nan
1211472000:  nan
1211475600:  nan
1211479200:  nan
1211482800:  nan

rrdtool fetch temperature.rrd LAST
ERROR: the RRD does not contain an RRA matching the chosen CF

nsp-nms:/usr/local/cacti/rra# rrdtool info temperature.rrd
filename = "temperature.rrd"
rrd_version = "0001"
step = 300
last_update = 1211482587
ds[temp].type = "GAUGE"
ds[temp].minimal_heartbeat = 600
ds[temp].min = -2.7300000000e+02
ds[temp].max = 5.0000000000e+03
ds[temp].last_ds = "UNKN"
ds[temp].value = 5.7800000000e+02
ds[temp].unknown_sec = 64
rra[0].cf = "AVERAGE"
rra[0].rows = 1200
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[1].cf = "MIN"
rra[1].rows = 2400
rra[1].pdp_per_row = 12
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = 2.4792592593e+01
rra[1].cdp_prep[0].unknown_datapoints = 10
rra[2].cf = "MAX"
rra[2].rows = 2400
rra[2].pdp_per_row = 12
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = 2.4792592593e+01
rra[2].cdp_prep[0].unknown_datapoints = 10
rra[3].cf = "AVERAGE"
rra[3].rows = 2400
rra[3].pdp_per_row = 12
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = 2.4792592593e+01
rra[3].cdp_prep[0].unknown_datapoints = 10

So this is bad, but not so bad because in rrdtool info I found:
rra[3].cdp_prep[0].value = 2.4792592593e+01

________________________________________________________________________________

My realy problem is:
I make this script for cacti:
nsp-nms:/usr/local/cacti/scripts# ./snmp_netflow.pl 172.16.255.105
32:0 64:27nsp-nms:/usr/local/cacti/scripts#

nsp-nms:/usr/local/cacti/rra# rrdtool fetch pod5_32_765.rrd LAST
timestamp    32                64

1211396580:  nan  nan
1211396760:  nan  nan
1211396940:  nan  nan
1211397120:  nan  nan
1211397300:  nan  nan
1211397480:  nan  nan
1211397660:  nan  nan
1211397840:  nan  nan
1211398020:  nan  nan
1211398200:  nan  nan
1211398380:  nan  nan
1211398560:  nan  nan
....
1211478840:  nan  nan
1211479020:  nan  nan
1211479200:  nan  nan
1211479380:  nan  nan
1211479560:  nan  nan
1211479740:  nan  nan
1211479920:  nan  nan
1211480100:  nan  nan
1211480280:  nan  nan
1211480460:  nan  nan
1211480640:  nan  nan
1211480820:  nan  nan
1211481000:  nan  nan
1211481180:  nan  nan
1211481360:  nan  nan
1211481540:  nan  nan
1211481720:  nan  nan
1211481900:  nan  nan
1211482080:  nan  nan
1211482260:  nan  nan
1211482440:  nan  nan
1211482620:  nan  nan
1211482800:  nan  nan
1211482980:  nan  nan

nsp-nms:/usr/local/cacti/rra# rrdtool info pod5_32_765.rrd
filename = "pod5_32_765.rrd"
rrd_version = "0001"
step = 30
last_update = 1211482807
ds[32].type = "GAUGE"
ds[32].minimal_heartbeat = 60
ds[32].min = 0.0000000000e+00
ds[32].max = 1.0000000000e+02
ds[32].last_ds = "UNKN"
ds[32].value = 0.0000000000e+00
ds[32].unknown_sec = 7
ds[64].type = "GAUGE"
ds[64].minimal_heartbeat = 60
ds[64].min = 0.0000000000e+00
ds[64].max = 1.0000000000e+02
ds[64].last_ds = "UNKN"
ds[64].value = 0.0000000000e+00
ds[64].unknown_sec = 7
rra[0].cf = "AVERAGE"
rra[0].rows = 600
rra[0].pdp_per_row = 1
rra[0].xff = 5.0000000000e-01
rra[0].cdp_prep[0].value = NaN
rra[0].cdp_prep[0].unknown_datapoints = 0
rra[0].cdp_prep[1].value = NaN
rra[0].cdp_prep[1].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 700
rra[1].pdp_per_row = 6
rra[1].xff = 5.0000000000e-01
rra[1].cdp_prep[0].value = NaN
rra[1].cdp_prep[0].unknown_datapoints = 0
rra[1].cdp_prep[1].value = NaN
rra[1].cdp_prep[1].unknown_datapoints = 0
rra[2].cf = "AVERAGE"
rra[2].rows = 775
rra[2].pdp_per_row = 24
rra[2].xff = 5.0000000000e-01
rra[2].cdp_prep[0].value = NaN
rra[2].cdp_prep[0].unknown_datapoints = 0
rra[2].cdp_prep[1].value = NaN
rra[2].cdp_prep[1].unknown_datapoints = 0
rra[3].cf = "AVERAGE"
rra[3].rows = 797
rra[3].pdp_per_row = 288
rra[3].xff = 5.0000000000e-01
rra[3].cdp_prep[0].value = NaN
rra[3].cdp_prep[0].unknown_datapoints = 264
rra[3].cdp_prep[1].value = NaN
rra[3].cdp_prep[1].unknown_datapoints = 264
rra[4].cf = "MIN"
rra[4].rows = 600
rra[4].pdp_per_row = 1
rra[4].xff = 5.0000000000e-01
rra[4].cdp_prep[0].value = NaN
rra[4].cdp_prep[0].unknown_datapoints = 0
rra[4].cdp_prep[1].value = NaN
rra[4].cdp_prep[1].unknown_datapoints = 0
rra[5].cf = "MIN"
rra[5].rows = 700
rra[5].pdp_per_row = 6
rra[5].xff = 5.0000000000e-01
rra[5].cdp_prep[0].value = NaN
rra[5].cdp_prep[0].unknown_datapoints = 0
rra[5].cdp_prep[1].value = NaN
rra[5].cdp_prep[1].unknown_datapoints = 0
rra[6].cf = "MIN"
rra[6].rows = 775
rra[6].pdp_per_row = 24
rra[6].xff = 5.0000000000e-01
rra[6].cdp_prep[0].value = NaN
rra[6].cdp_prep[0].unknown_datapoints = 0
rra[6].cdp_prep[1].value = NaN
rra[6].cdp_prep[1].unknown_datapoints = 0
rra[7].cf = "MIN"
rra[7].rows = 797
rra[7].pdp_per_row = 288
rra[7].xff = 5.0000000000e-01
rra[7].cdp_prep[0].value = NaN
rra[7].cdp_prep[0].unknown_datapoints = 264
rra[7].cdp_prep[1].value = NaN
rra[7].cdp_prep[1].unknown_datapoints = 264
rra[8].cf = "MAX"
rra[8].rows = 600
rra[8].pdp_per_row = 1
rra[8].xff = 5.0000000000e-01
rra[8].cdp_prep[0].value = NaN
rra[8].cdp_prep[0].unknown_datapoints = 0
rra[8].cdp_prep[1].value = NaN
rra[8].cdp_prep[1].unknown_datapoints = 0
rra[9].cf = "MAX"
rra[9].rows = 700
rra[9].pdp_per_row = 6
rra[9].xff = 5.0000000000e-01
rra[9].cdp_prep[0].value = NaN
rra[9].cdp_prep[0].unknown_datapoints = 0
rra[9].cdp_prep[1].value = NaN
rra[9].cdp_prep[1].unknown_datapoints = 0
rra[10].cf = "MAX"
rra[10].rows = 775
rra[10].pdp_per_row = 24
rra[10].xff = 5.0000000000e-01
rra[10].cdp_prep[0].value = NaN
rra[10].cdp_prep[0].unknown_datapoints = 0
rra[10].cdp_prep[1].value = NaN
rra[10].cdp_prep[1].unknown_datapoints = 0
rra[11].cf = "MAX"
rra[11].rows = 797
rra[11].pdp_per_row = 288
rra[11].xff = 5.0000000000e-01
rra[11].cdp_prep[0].value = NaN
rra[11].cdp_prep[0].unknown_datapoints = 264
rra[11].cdp_prep[1].value = NaN
rra[11].cdp_prep[1].unknown_datapoints = 264
rra[12].cf = "LAST"
rra[12].rows = 600
rra[12].pdp_per_row = 1
rra[12].xff = 5.0000000000e-01
rra[12].cdp_prep[0].value = NaN
rra[12].cdp_prep[0].unknown_datapoints = 0
rra[12].cdp_prep[1].value = NaN
rra[12].cdp_prep[1].unknown_datapoints = 0
rra[13].cf = "LAST"
rra[13].rows = 700
rra[13].pdp_per_row = 6
rra[13].xff = 5.0000000000e-01
rra[13].cdp_prep[0].value = NaN
rra[13].cdp_prep[0].unknown_datapoints = 0
rra[13].cdp_prep[1].value = NaN
rra[13].cdp_prep[1].unknown_datapoints = 0
rra[14].cf = "LAST"
rra[14].rows = 775
rra[14].pdp_per_row = 24
rra[14].xff = 5.0000000000e-01
rra[14].cdp_prep[0].value = NaN
rra[14].cdp_prep[0].unknown_datapoints = 0
rra[14].cdp_prep[1].value = NaN
rra[14].cdp_prep[1].unknown_datapoints = 0
rra[15].cf = "LAST"
rra[15].rows = 797
rra[15].pdp_per_row = 288
rra[15].xff = 5.0000000000e-01
rra[15].cdp_prep[0].value = NaN
rra[15].cdp_prep[0].unknown_datapoints = 264
rra[15].cdp_prep[1].value = NaN
rra[15].cdp_prep[1].unknown_datapoints = 264

The main probleme is this:
.cdp_prep[0].value = NaN

I hope of I'm clear...
I'm newbee with rrdtool!


Just for info:
I want display in cacti the number of IP packet with a size of 32 and 64.
My script called by cacti:
#!/usr/bin/perl

if (!$ARGV[0]){
print "error: Bad argument\n";
print "usage: ./snmp_netflow.pl [IP Address]\n";
exit 1;
}
open(PROCESS, "snmpget -m all -c public -v2c $ARGV[0]
cnfPSPacketSizeDistribution.0|");
@snmpget = <PROCESS>;
close(PROCESS);

chomp(@snmpget); # enleve les '\n' a la fin des lignes
my $string = join(" ",@snmpget);
if ($string =~ m/Hex-STRING:(.*)/) {
        my $hex = $1;
        #print "$hex\n";
        my $i = 0;
        # Tant que l'on trouve deux nombres (separés par des blancs)
        while ($hex =~ m/(\w{2})\s+(\w{2})/g) {
                if ($i >= 1024) {
                        $i = $i + 512;
                }
                else {
                        $i += 32;
                        if ($i == 576+32){
                                $i = 1024;
                        }
                }
                if ($i < 64){
                print "$i:" . sprintf("%d",hex("$1$2") / 10) . " ";
                }
                if ($i == 64){
                print "$i:" . sprintf("%d",hex("$1$2") / 10);
                }
                if ($i > 64){
                exit 1;
                }
        }}

I hope of I didn't post 2 times, if I did it, I'm really sorry!

_______________________________________________
rrd-users mailing list
[email protected]
https://lists.oetiker.ch/cgi-bin/listinfo/rrd-users

Reply via email to