Hjälp med RRD/bandbredd.

RRDTool är en Linuxmjukvara som kan användas för att lagra data i Round-Robin Databaser för att sedan generera grafer utifrån den lagrade datan.
Kategoriregler
Vill du visa bilder i ditt inlägg? Använd funktionen "Ladda upp bilaga" nedanför textrutan!
Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Hjälp med RRD/bandbredd.

Inlägg av Niklas »

Hej,

Jag loggar min bandbredd så här:
Bild

Den visar dock bara några timmar trots att den är ställd till -24h.

Så här ser koden ut som skapar DBn:

Kod: Markera allt

rrdtool create bandwidth5.rrd --start N DS:in:COUNTER:600:U:U DS:out:COUNTER:600:U:U RRA:AVERAGE:0.5:1:432
och koden som stoppar in datan i dbn:

Kod: Markera allt

in=`/usr/bin/snmpget -v 1 -c public -Oqv 192.168.1.1 IF-MIB::ifInOctets.5`
out=`/usr/bin/snmpget -v 1 -c public -Oqv 192.168.1.1 IF-MIB::ifOutOctets.5`
rrdupdate bandwidth5.rrd N:$in:$out
Imorse så började den på 06:00.
Någon som ser något fel?
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Hjälp med RRD/bandbredd.

Inlägg av elf98 »

Du har inte specat något step (-s --step), och defaultvärdet på 300sek kankse är borttappat?

Vad ger

Kod: Markera allt

rrdtool info bandwidth5.rrd
för info?
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Hjälp med RRD/bandbredd.

Inlägg av Niklas »

elf98 skrev:Du har inte specat något step (-s --step), och defaultvärdet på 300sek kankse är borttappat?

Vad ger

Kod: Markera allt

rrdtool info bandwidth5.rrd
för info?
Umm.. jo. Step sattes till 55 sekunder... är det dumt? Jag kan ju ha missuppfattat vad step är till för. ;)

Kod: Markera allt

filename = "bandwidth5.rrd"
rrd_version = "0003"
step = 55
last_update = 1233081543
ds[in].type = "COUNTER"
ds[in].minimal_heartbeat = 600
ds[in].min = NaN
ds[in].max = NaN
ds[in].last_ds = "434097054"
ds[in].value = 2.0122122078e+06
ds[in].unknown_sec = 0
ds[out].type = "COUNTER"
ds[out].minimal_heartbeat = 600
ds[out].min = NaN
ds[out].max = NaN
ds[out].last_ds = "79270001"
ds[out].value = 5.1480227822e+04
ds[out].unknown_sec = 0
rra[0].cf = "AVERAGE"
rra[0].rows = 432
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
Det blir väldigt dumt om jag startar om routern också.
Då blir det väldigt höga överföringssiffror eftersom att räknaren då går tillbaka och startar från 0 igen i routern.
Hur kommer man tillrätta med det problemet?
PerM
Hemautomation - det är mer än en hobby
Inlägg: 822
Blev medlem: 23 feb 2007, 14:46
Ort: Vallentuna
Kontakt:

Re: Hjälp med RRD/bandbredd.

Inlägg av PerM »

Kort fråga bara, vad är det för router ni kör detta på och vad är det för mjukvara i den?
Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Hjälp med RRD/bandbredd.

Inlägg av Niklas »

PerM skrev:Kort fråga bara, vad är det för router ni kör detta på och vad är det för mjukvara i den?
Jag kör det inte på routern.
Jag har dock tellsticken och lite annat kopplat till routern. I mitt fall är det en ASUS WL500gP som även finns här i shoppen.
Den är flashad med x-wrt (OpenWRT i utvecklingsversion). Med lite pill så skulle jag även kunna köra OWFS på den.
Bandbredden får jag fram på alla gränssnitt genom att hämta data från routern via SNMP.
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Hjälp med RRD/bandbredd.

Inlägg av CirruZZ »

  • Jag tror du får skapa en ny RRD fil med rätt STEP satt.
  • Använd rrddump för att få ut den redan sparade datan.
  • Sen använd rrdrestore för att stoppa tillbaka det i den nya filen.
Jag har inte testat själv så jag vet inte om det funkar :shock:
PerM
Hemautomation - det är mer än en hobby
Inlägg: 822
Blev medlem: 23 feb 2007, 14:46
Ort: Vallentuna
Kontakt:

Re: Hjälp med RRD/bandbredd.

Inlägg av PerM »

Aha, nu är jag med. Jag måste kolla om min stödjer gör det :)
Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Hjälp med RRD/bandbredd.

Inlägg av Niklas »

CirruZZ skrev:
  • Jag tror du får skapa en ny RRD fil med rätt STEP satt.
  • Använd rrddump för att få ut den redan sparade datan.
  • Sen använd rrdrestore för att stoppa tillbaka det i den nya filen.
Jag har inte testat själv så jag vet inte om det funkar :shock:
Men vad ska STEP vara bra för? Varför är det viktigt att den är rätt?
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Hjälp med RRD/bandbredd.

Inlägg av CirruZZ »

Niklas skrev:.... I mitt fall är det en ASUS WL500gP som även finns här i shoppen.
Ok vart då? :roll:
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Hjälp med RRD/bandbredd.

Inlägg av elf98 »

step är databasens upplösning. Du lägger in värden med 55 sekunders intervall i din databas. Om du inte skickar in data med exakt 55 sekunders intervaller kommer rrdtool att räkna fram lämpliga värden och lägga in i databasen. Dina datakällor har en heartbeat på 600 sekunder. Heartbeat är hur länge det tillåts att inte komma värden innan en datakälla sätts som unknown. Om du skickar in data med 5 minuters intervall (300sekunder) kommer rrdtool att räkna fram ett gildande värde (eller vad man nu skall kalla det) över de 5 datapunkter som inte fått data på sina "riktiga" tidsstämplar.

Step bör vara en jämn multipel av 60 för att databasen skall vara effektiv samt för att du "enkelt" skall kunna plocka ut värden med valfri samplingsrate (om du har flera RRAer)

I ditt fall har du 432 datapunkter, din databas kommer därmed att täcka 432*55=23760 sekunder. Eller drygt 6.5h.

Gällande counter wraps:
NOTE on COUNTER vs DERIVE

by Don Baarda <don.baarda@baesystems.com>

If you cannot tolerate ever mistaking the occasional counter reset for a legitimate counter wrap, and would prefer "Unknowns" for all legitimate counter wraps and resets, always use DERIVE with min=0. Otherwise, using COUNTER with a suitable max will return correct values for all legitimate counter wraps, mark some counter resets as "Unknown", but can mistake some counter resets for a legitimate counter wrap.

For a 5 minute step and 32-bit counter, the probability of mistaking a counter reset for a legitimate wrap is arguably about 0.8% per 1Mbps of maximum bandwidth. Note that this equates to 80% for 100Mbps interfaces, so for high bandwidth interfaces and a 32bit counter, DERIVE with min=0 is probably preferable. If you are using a 64bit counter, just about any max setting will eliminate the possibility of mistaking a reset for a counter wrap.
Dvs använd DERIVE med min=0 eller counter med ett max motsvarande din bandbredd.

Jag har för mig att ifInOctets är byte-värden.

Ex:
DS:in:COUNTER:600:U:1310720 (om du har en 10Mbits lina (10Mbit=10*1024Kbit=10*1024^2bit=10*1024^2/8Byte=1310720Byte))
DS:in:DERIVE:600:0:U
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Hjälp med RRD/bandbredd.

Inlägg av Niklas »

CirruZZ skrev:
Niklas skrev:.... I mitt fall är det en ASUS WL500gP som även finns här i shoppen.
Ok vart då? :roll:
http://shop.temperatur.nu/mat-temperatu ... -p-83.html
Men den är liksom.. fixad. :-) Den finns ju på andra ställen.. billigare om man vill göra det själv.
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Hjälp med RRD/bandbredd.

Inlägg av CirruZZ »

STEP är kan man säga grundupplösningen på den sparade informationen. Dvs hur noga vill du att datasamlingen skall vara. Sen måste du se till att uppdatera i samma frekvens (lika ofta). Vad du sen kan göra är att sätta heartbeat (i definitionen av DS), dvs hur långt får det dra över innan det blir ett hål/glapp i serien. Lät det tillräckligt flummigt?! :shock:
Användarvisningsbild
CirruZZ
Master Moderator
Inlägg: 1621
Blev medlem: 13 feb 2008, 16:46
Ort: Ystad

Re: Hjälp med RRD/bandbredd.

Inlägg av CirruZZ »

Niklas skrev:...
Någon som ser något fel?
Jag ser i alla fall ett nytt domännamn! :wink:
Niklas
Moderator
Inlägg: 1019
Blev medlem: 22 mar 2008, 21:13
Ort: Stockholm
Kontakt:

Re: Hjälp med RRD/bandbredd.

Inlägg av Niklas »

CirruZZ skrev:
Niklas skrev:...
Någon som ser något fel?
Jag ser i alla fall ett nytt domännamn! :wink:
Ja, jag tröttnade på min no-ip-adress. ;)
elf98 skrev: *mycket text som jag ska försöka göra något bra av*
Om det är byte-värden eller ej vet jag inte men det ökar bara när det är trafik på porten. Det minskar aldrig förutom vid omstart.
Edit: Klart det är byte-värden. Vet inte vad jag svamlar om.
Min lina är på 2 Mbit (vilket jag får till 262144).
Ut har jag 0.5 (65536 om jag räknar på 512).

Om jag kör med standard, dvs 300 sekunder så är det alltså var 5e minut jag ska stoppa in data? Är det viktigt att det är exakt då alltså?
Jag vill gärna köra varje minut.

Hur ska min rrdtool create se ut exakt? ;)
Idag ser den ju ut så här:
rrdtool create bandwidth5.rrd --start N DS:in:COUNTER:600:U:U DS:out:COUNTER:600:U:U RRA:AVERAGE:0.5:1:432
Användarvisningsbild
elf98
Hemautomation - det är mer än en hobby
Inlägg: 5434
Blev medlem: 27 okt 2006, 13:49
Ort: Linköping
Kontakt:

Re: Hjälp med RRD/bandbredd.

Inlägg av elf98 »

Kod: Markera allt

rrdtool create bandwidth5.rrd --step 60 --start N DS:in:COUNTER:600:U:262144 DS:out:COUNTER:600:U:65536 RRA:AVERAGE:0.5:1:1440 RRA:AVERAGE:0.5:5:8640 RRA:AVERAGE:0.5:30:17520
Bör skapa en databas:
  • Som förväntar sig data med 60 sekunders intervall.
  • Som ser till att värden inte kan sticka iväg (om det blir knasiga värden vid en omstart sparas de helt enkelt inte)
  • Som sparar 1min värden i 1440minuter (1dygn)
  • Som sparar 5min medel 8640 gånger (30 dygn)
  • Som sparar 30min medel 17520 gånger (1 år)
Jag kanske har tänkt fel, men du kan ju alltid testa!

Edit: Man kankse vill öka maxvärdena med en faktor ~1,5, så man inte missar något extremvärde?
Senast redigerad av elf98 den 27 jan 2009, 22:23, redigerad totalt 1 gånger.
Anledning: Kommentar gällande maxvärden
Grundade m.nu & temperatur.nu

Driver temperatur.nu

Bild
Skriv svar