sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #78869
Re: Opsummering af data fra RRD ?
"Peter Makholm" <peter@xxxxxxxxxxx> wrote in message
news:871xdpxsaq.fsf@xxxxxxxxxxxxx...
> "Brian Ipsen" <bipsen@xxxxxxxxxx> writes:
>>> perl kan (dohhhh):
>>>
>>> perl -lnaF: -e '$sum += $F[1]; END {print $sum}'
>
>> Det ser jo ud til at løse problemet - i første omgang... Jeg har her i
>> dag
>> fået en underlig værdi ud, og besluttede mig for at grave lidt mere i
>> det.... Ved at undersøge data fra RRD fik nu nu følgende ud:
>>
>> 1103241000: 9.5200000000e-01
>> 1103241300: nan
>> 1103241600: nan
>> 1103241900: 3.3133333333e+00
>
> Er du sikker på at det er det der giver dig problemet? Perl bør
> opfatte tekststrengen 'nan' som havende talværdien 0 og når jeg
> forsøger at sende disse fire linjer gennem perl får jeg samme resultat
> som hvis jeg kune sender første og sidste linje igennem.
Problemet synes at være lokaliseret - jeg kan dog ikke gennemskue, hvad der
går galt.... Jeg har i mit script følgende:
TR_DATE=`date +%d`
TR_MONTH=`date +%m`
TR_YEAR=`date +%Y`
for i in `seq 129 191`;
do
BYTESSENT=0
BYTESRCVD=0
if [ -d
/usr/share/ntop/rrd/interfaces/NetFlow-device/hosts/xxx/yyy/zzz/$i ]; then
mkdir -p /root/rrd-data/$TR_YEAR-$TR_MONTH-$TR_DATE/xxx.yyy.zzz.$i
if [ -f
/usr/share/ntop/rrd/interfaces/NetFlow-device/hosts/xxx/yyy/zzz/$i/bytesSent.rrd
]; then
BYTESSENT=`TIME=$(date +%s); RRDRES=300; rrdtool fetch
/usr/share/ntop/rrd/interfaces/NetFlow-device/hosts/xxx/yyy/zzz/$i/bytesSent.rrd
AVERAGE -r $RRDRES -e $(echo $(($TIME/$RRDRES*$RRDRES))) -s n-1d |
perl -lnaF: -e '$sum += $F[1]; END {printf "%d\n",$sum * 300}'`
# echo 'Sent: '$BYTESSENT
cp -f
/usr/share/ntop/rrd/interfaces/NetFlow-device/hosts/xxx/yyy/zzz/$i/bytesSent.rrd
/root/rrd-data/$TR_YEAR-$TR_MONTH-$TR_DATE/xxx.yyy.zzz.$i/bytesSent.rrd
fi
fi
done
Af en eller anden grund går noget galt ved den if statement, som skal checke
om rrd-filen eksisterer - for jeg får fejl på min copy kommando (filen
eksisterer nemlig ikke):
cp: cannot stat
`/usr/share/ntop/rrd/interfaces/NetFlow-device/hosts/xxx/yyy/zzz/173/bytesSent.rrd':
No such file or directory
Hvad gør jeg galt, der hvor jeg checker, om filen eksisterer ?
/Brian
Follow ups
References