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