Portál AbcLinuxu, 12. května 2025 11:49

Dotaz: rrdtool

petka avatar 9.2.2009 16:19 petka | skóre: 25 | blog: heydax | Klasterec N/O
rrdtool
Přečteno: 650×
Odpovědět | Admin

Mam problem s vkladanim namerenych hodnot do databaze , ulozi se mi akorat datove razitko a v hodnotach je jen 'nan'  zkousel jsem do skriptu napsat natvrdo hodnoty ale vysledek je stejny

#!/bin/sh

rrdtool='/usr/bin/rrdtool'
databaze='/var/www/rrd/speed_eth/traffic.rrd'


# Vytvorit rrd soubor, pokud neexistuje
if [ ! -e "$rrd" ]; then
  $rrdtool create "$databaze" -s 300 \
       DS:in_wan:DERIVE:600:U:125000000 \
       DS:out_wan:DERIVE:600:U:125000000 \
       DS:in_lan:DERIVE:600:U:125000000 \
       DS:out_lan:DERIVE:600:U:125000000 \
       DS:in_wif:DERIVE:600:U:125000000 \
       DS:out_wif:DERIVE:600:U:125000000 \
       RRA:AVERAGE:0.5:1:576

fi
# Zmerit
     start=`date +%s`
     in_wan=`awk 'BEGIN {FS="[ :]+"} /eth1/ {print $3}' /proc/net/dev`
     out_wan=`awk 'BEGIN {FS="[ :]+"} /eth1/ {print $11}' /proc/net/dev`
     in_lan=`awk 'BEGIN {FS="[ :]+"} /eth0/ {print $3}' /proc/net/dev`
     out_lan=`awk 'BEGIN {FS="[ :]+"} /eth0/ {print $11}' /proc/net/dev`
     in_wif=`awk 'BEGIN {FS="[ :]+"} /ath0/ {print $3}' /proc/net/dev`
     out_wif=`awk 'BEGIN {FS="[ :]+"} /ath0/ {print $11}' /proc/net/dev`

# Hodnoty zapiseme do databaze
     $rrdtool update $databaze $start:1111:2222:3333:4444:5555:6666
      #$rrdtool update $databaze $start:$in_wan:$out_wan:$in_lan:$out_lan:$in_wif:$out_wif    


echo 'in_wan' $in_wan 'out_wan' $out_wan
echo 'in_lan' $in_lan 'out_lan' $out_lan
echo 'in_wif' $in_wif 'out_wif' $out_wif
exit 0
 

vysledek

 

rrdtool fetch traffic.rrd  AVERAGE -r 900 -s -1h
                         in_wan             out_wan              in_lan             out_lan              in_wif             out_wif

1234188600: nan nan nan nan nan nan
1234188900: nan nan nan nan nan nan
1234189200: nan nan nan nan nan nan
1234189500: nan nan nan nan nan nan
1234189800: nan nan nan nan nan nan
1234190100: nan nan nan nan nan nan
1234190400: nan nan nan nan nan nan
1234190700: nan nan nan nan nan nan
1234191000: nan nan nan nan nan nan
1234191300: nan nan nan nan nan nan
1234191600: nan nan nan nan nan nan
1234191900: nan nan nan nan nan nan
1234192200: nan nan nan nan nan nan
 

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

petka avatar 9.2.2009 19:14 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: rrdtool
Odpovědět | | Sbalit | Link | Blokovat | Admin

opravdu nikdo nevi v cem delam chybu , zkousel jsem vsechno

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
petka avatar 10.2.2009 23:02 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: rrdtool
Odpovědět | | Sbalit | Link | Blokovat | Admin

Jsem zoufalej opravdu nikdo neporadi jak na RRDTOOL jeste prilozim vypis databaze

filename = "traffic.rrd"
rrd_version = "0003"
step = 300
last_update = 1234302601
ds[in_wan].type = "DERIVE"
ds[in_wan].minimal_heartbeat = 600
ds[in_wan].min = 0.0000000000e+00
ds[in_wan].max = 1.2500000000e+08
ds[in_wan].last_ds = "1691054274"
ds[in_wan].value = NaN
ds[in_wan].unknown_sec = 1
ds[out_wan].type = "DERIVE"
ds[out_wan].minimal_heartbeat = 600
ds[out_wan].min = 0.0000000000e+00
ds[out_wan].max = 1.2500000000e+08
ds[out_wan].last_ds = "2507883818"
ds[out_wan].value = NaN
ds[out_wan].unknown_sec = 1
ds[in_lan].type = "DERIVE"
ds[in_lan].minimal_heartbeat = 600
ds[in_lan].min = 0.0000000000e+00
ds[in_lan].max = 1.2500000000e+08
ds[in_lan].last_ds = "827606646"
ds[in_lan].value = NaN
ds[in_lan].unknown_sec = 1
ds[out_lan].type = "DERIVE"
ds[out_lan].minimal_heartbeat = 600
ds[out_lan].min = 0.0000000000e+00
ds[out_lan].max = 1.2500000000e+08
ds[out_lan].last_ds = "3074825887"
ds[out_lan].value = NaN
ds[out_lan].unknown_sec = 1
ds[in_wif].type = "DERIVE"
ds[in_wif].minimal_heartbeat = 600
ds[in_wif].min = 0.0000000000e+00
ds[in_wif].max = 1.2500000000e+08
ds[in_wif].last_ds = "2250789"
ds[in_wif].value = NaN
ds[in_wif].unknown_sec = 1
ds[out_wif].type = "DERIVE"
ds[out_wif].minimal_heartbeat = 600
ds[out_wif].min = 0.0000000000e+00
ds[out_wif].max = 1.2500000000e+08
ds[out_wif].last_ds = "4475234"
ds[out_wif].value = NaN
ds[out_wif].unknown_sec = 1
rra[0].cf = "AVERAGE"
rra[0].rows = 576
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[0].cdp_prep[2].value = NaN
rra[0].cdp_prep[2].unknown_datapoints = 0
rra[0].cdp_prep[3].value = NaN
rra[0].cdp_prep[3].unknown_datapoints = 0
rra[0].cdp_prep[4].value = NaN
rra[0].cdp_prep[4].unknown_datapoints = 0
rra[0].cdp_prep[5].value = NaN
rra[0].cdp_prep[5].unknown_datapoints = 0
rra[1].cf = "AVERAGE"
rra[1].rows = 672
 

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
11.2.2009 08:52 Dušan Hokův | skóre: 43 | blog: Fedora a další...
Rozbalit Rozbalit vše Re: rrdtool
Odpovědět | | Sbalit | Link | Blokovat | Admin
Zkuste naznacit jake typy hodnot chcete sledovat a ujasnete si zda jsou to treba countery(typicky sledovani trafficu), nebo chcete sledovat nejake rozdilove hodnoty apod. Zkuste nejdrive priklady na strankach rrdtools a trochu si s tim pohrajte. Kdyz se do toho dostanete, brzy najdete kde mate chybu.
petka avatar 11.2.2009 20:45 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: rrdtool

Neni mi jasne co delam spatne zkousel jsem spoustet i hotove skripty se stejnym vysledkem NAN , pritom v poslednim zaznamu je napriklad hodnota ds[in_wif].last_ds = "2250789" ale ve vytahu AVERAGE je NAN ?

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
12.2.2009 07:46 Jan Kůs
Rozbalit Rozbalit vše Re: rrdtool

Osobne nic podezreleho nevidim. Ale pokud to nezapise ani natvrdo dane hodnoty, pak by me napadla otazka, jestli ma skript pristup do databaze pro zapis (soubor *.rrd). Pokud je spousten cronem, mohl by to byt problem. Zkus v terminalu spustit:

/usr/bin/rrdtool update /var/www/rrd/speed_eth/traffic.rrd cislo:1111:2222:3333:4444:5555:6666

kde cislo nahrad cislem ktere ti vygeneruje:

date +%s

a uvidis, co ti to vypise. Pokud nevypise nejakou chybu a presto nezapise hodnoty, pak bych tipoval nejaky problem nekde v definici databaze. Pokud to zapise, hledal bych problem v pravech, pripadne ve vystupu prikazu, ktery generuje hodnoty.

petka avatar 12.2.2009 08:11 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: rrdtool

prikaz probehne bez chybove hlasky /usr/bin/rrdtool update /var/www/rrd/traffic/traffic.rrd 1234421816:1111:2222:3333:4444:5555:6666 datum vygenerovany

databazi vytvarim

rrdtool create traffic.rdd -s 300  \
       DS:inwan:DERIVE:600:0:12500000 \
       DS:outwan:DERIVE:600:0:12500000 \
       DS:inlan:DERIVE:600:0:12500000 \
       DS:outlan:DERIVE:600:0:12500000 \
       DS:inwif:DERIVE:600:0:12500000 \
       DS:outwif:DERIVE:600:0:12500000 \
       RRA:AVERAGE:0.5:1:600 \
       RRA:AVERAGE:0.5:6:700 \
       RRA:AVERAGE:0.5:24:775 \
       RRA:AVERAGE:0.5:288:797 \
       RRA:MAX:0.5:1:600 \
       RRA:MAX:0.5:6:700 \
       RRA:MAX:0.5:24:775 \
       RRA:MAX:0.5:288:797 \
       RRA:MIN:0.5:1:600 \
       RRA:MIN:0.5:6:700 \
       RRA:MIN:0.5:24:775 \
       RRA:MIN:0.5:288:797
 

vypis z databaze

rrdtool fetch traffic.rrd AVERAGE -r 900 -s -1h
                          inwan              outwan               inlan              outlan               inwif              outwif

1234418400: nan nan nan nan nan nan
1234418700: nan nan nan nan nan nan
1234419000: nan nan nan nan nan nan
1234419300: nan nan nan nan nan nan
1234419600: nan nan nan nan nan nan
1234419900: nan nan nan nan nan nan
1234420200: nan nan nan nan nan nan
1234420500: nan nan nan nan nan nan
1234420800: nan nan nan nan nan nan
1234421100: nan nan nan nan nan nan
1234421400: nan nan nan nan nan nan
1234421700: nan nan nan nan nan nan
1234422000: nan nan nan nan nan nan
 

vse delam jak je napsano v manualu ' jsem na dne ' :-(

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
AraxoN avatar 12.2.2009 08:40 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: rrdtool

Keď používaš DERIVE, tak sa ukladá rozdiel medzi dvoma hodnotami, ktoré sú od seba vzdialené jeden step (-s 300). Takže ak uložíš len jednu hodnotu, tak z toho nič nevytiahneš.

petka avatar 12.2.2009 08:52 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: rrdtool

Ja nevim zkousel jsem i GAUGE a COUNTER a vysledek stejny ale co zkusim to jeste jednou .

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
petka avatar 12.2.2009 17:21 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: rrdtool

Jeste jedna vec kdyz spoustim skript cronem tak promena z programu sensors se mi nezapise jako jedina a hodnoty z programu hddtemp se mi zapisi korektne .

A kdyz spustim skript cronem tak databaze je prazdna , ale zase kdyz spustim skript sam jako root tak se naplni hodnotou .

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
petka avatar 12.2.2009 20:03 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: rrdtool

Zmena restartoval jsem PC a zaznam uz funguje ? jen kdyz to poustim cronem tak hodnota ze sensors se nezapisuje , ostatni jo . Jeste jedna vec je na skodu poustet shell script jako demona a v urcitych intervalech ?

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
petka avatar 16.2.2009 21:52 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: rrdtool

Zde jsou plody meho snazeni http://93.91.157.25       a jak tu uz napsalo vice lidi , vec si osahat pak uz to jde samo , diky vsem .

 

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
AraxoN avatar 16.2.2009 23:41 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: rrdtool
Příloha:

Gratulujem! :-) Celkom pekné, mám len jednu pripomienku: keď si spravíš RRAčka trochu dlhšie, tak grafy za dlhšie obdobie (deň) potom neobsahujú také schody - viď príloha.

petka avatar 17.2.2009 08:53 petka | skóre: 25 | blog: heydax | Klasterec N/O
Rozbalit Rozbalit vše Re: rrdtool

Koukal jsem vsude po ruznych nastaveni databaze , mohl by jsi sem pastnout tvuj priklad databaze ?

Ubuntu server - Asus E35M1​-M ​- AMD Hudson M1 , 2x Technisat Skystar2 , 2x 1GB Lan , WiFi mod AP ,vdr,mysql,apache2...
AraxoN avatar 17.2.2009 18:35 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
Rozbalit Rozbalit vše Re: rrdtool

V tomto jednom prípade to mám ako RRA:AVERAGE:0.5:1:576 , t.j. s 5=minútovou presnosťou je uložených posledných 48 hodín. Graf potom robím s príznakom -E , potom je menej zubatý. ;-)

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.