Supportnet / Forum / Linux
rrdtool: Frage zum mail zählen
Frage
Hallo,
ich versuche mich grade in rrdtool einzuarbeiten, stehe aber vor einem mir unerklährlichem Problem:
ich wollte testweise mal die mailviren pro Tag erfassen lassen und zwar geordnet nach üblichen Endungen, dafür hab ich folgende db erstellt:
[code]
rrdtool create <dbname> --start 1081036500 --step 86400 DS:gfiles:GAUGE:129600:U:U DS:gscr:GAUGE:129600:U:U DS:gpif:GAUGE:129600:U:U DS:gzip:GAUGE:129600:U:U DS:gexe:GAUGE:129600:U:U DS:gcom:GAUGE:129600:U:U DS:gspace:GAUGE:129600:U:U RRA:LAST:0.5:1:732 [/code]
--start liegt weiter zurück da ich auch noch alte Daten habe.
--step 86400 ist ein Tag
darunter sind spalten für alle/bestimmte dateien sowie der platzverbrauch.
Das ganze dan für 2 Jahre (732 Reihen). Da die Daten nur täglich erhoben werden hab ich den Vorteil von rrd alte Daten unschärfer zu machen nicht genutzt.
nun hab ich alte daten eingetragen:
[code]
rrdtool update rrd/mail_virus.rrd 1081036800:0:0:0:0:0:0:4096 1081123200:0:0:0:0:0:0:4096 1081209600:0:0:0:0:0:0:4096 ....
[/code]
(in den ersten Tagen kamen keine Viren stellt euch einfach ganzzahlige Werte vor wo dort die Nullen stehen)
Das funktioniert auch alles ganz schön und ich hab lauter ganzzahlige Werte in der DB die auch stimmen (stichprobenartig überprüft)
wenn ich nun täglich diese DB updaten möchte benutze ich folgendes:
[code]
#quarantine dir of the last day
qdir=<pfad zum quarantinedir>/`date -d '1 day ago' +%Y%m%d`
if [ -d $qdir ]
then
# used space in bytes
space=`du $qdir -s -b | awk '{print $1}'`
files=`find $qdir -type f | wc -l | awk '{print $1}'`
scr=`find $qdir -type f -name *.scr | wc -l | awk '{print $1}'`
pif=`find $qdir -type f -name *.pif | wc -l | awk '{print $1}'`
zip=`find $qdir -type f -name *.zip | wc -l | awk '{print $1}'`
exe=`find $qdir -type f -name *.exe | wc -l | awk '{print $1}'`
com=`find $qdir -type f -name *.com | wc -l | awk '{print $1}'`
rrdtool update <pfad/datenbank> N:$files:$scr:$pif:$zip:$exe:$com:$space
#echo N:$files:$scr:$pif:$zip:$exe:$com:$space:$files:$scr:$pif:$zip:$exe:$com:$
space
else
echo N::$qdir::"does not exist" >> <logdatei>
fi
[/code]
nun das merkwürde: obwohl das script alle 86400 sekunden ausgeführt wird, bekomme ich immer 0 oder eine ungrade Anzahl Viren aus der DB heraus, obwohl das script nur gradzahlige produzieren kann, was mache ich falsch, an was könnte es liegen?
ich bekomme z.B. solche Werte:
[code]
1093996800: 8.1531250000e-01 8.1531250000e-01 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 0.0000000000e+00 3.4151680000e+04
[/code]
am 01.09. war aber nur ein Virus da, und nicht 0,81...
auch sollten es 40960 byte und nicht 34151,68 sein.
Antwort 1 von Nicolas
achja ich hab rrdtool version 1.0.35-2
falls jemand zwar keine Antwort kennt, aber ein forum wo das besser rein passt würde mir das sicher auch helfen.
falls jemand zwar keine Antwort kennt, aber ein forum wo das besser rein passt würde mir das sicher auch helfen.