This shows you the differences between two versions of the page.
saisp:labs:03:contents:05 [2014/04/04 10:53] razvan.deaconescu [05. [20p] Baze de date Round Robin (RRD)] |
saisp:labs:03:contents:05 [2014/04/05 12:08] (current) mihai.carabas [05. [20p] Baze de date Round Robin (RRD)] |
||
---|---|---|---|
Line 37: | Line 37: | ||
O altă arhivare configurată este dată media a 60 de valori (deci 300 de secunde), fiind ținute 12 de astfel de medii. Această arhivare acoperă ''300 secunde x 12 = 60 minute''. Deci baza noastră de date ne poate oferi statistici ale traficului pe o interfață de rețea la diferite nivele de granularitate (în ultimele 10 minute este calculată media la nivel de 10 secunde, iar în ultima oră este calculată media la 1 minut). | O altă arhivare configurată este dată media a 60 de valori (deci 300 de secunde), fiind ținute 12 de astfel de medii. Această arhivare acoperă ''300 secunde x 12 = 60 minute''. Deci baza noastră de date ne poate oferi statistici ale traficului pe o interfață de rețea la diferite nivele de granularitate (în ultimele 10 minute este calculată media la nivel de 10 secunde, iar în ultima oră este calculată media la 1 minut). | ||
- | Copiați și completați scriptul de mai jos pentru a obține valorile pentru variabilele ''octetsIn'' și ''octetsOut''. Acestea reprezintă numărul de octeți (trimiși și primiți) de pe interfața ''eth0'' a stației ''gateway'' (**Hint**: ''snmpwalk'', ''IF-MIB::ifInOctets'' urmat de numărul instanței). Scriptul colectează numărul de octeți din 5 în 5 secunde și îl introduce în baza de date ''target.rrd'' (''rrdtool update target.rrd $(date +%s):inOctets:outOctets''):<code bash> | + | Copiați și completați scriptul de mai jos pentru a obține valorile pentru variabilele ''octetsIn'' și ''octetsOut''. Acestea reprezintă numărul de octeți (trimiși și primiți) de pe interfața ''eth0'' a stației ''gateway'' (**Hint**: ''snmpwalk'', ''IF-MIB::ifInOctets'' urmat de numărul instanței). Scriptul colectează numărul de octeți din 5 în 5 secunde și îl introduce în baza de date ''target.rrd'' (''rrdtool update target.rrd $(date +%s):inOctets:outOctets''):<file bash in-out-octets> |
#!/bin/bash | #!/bin/bash | ||
rm -rf target.rrd | rm -rf target.rrd | ||
- | #obtinem data de inceput | + | # Init timestamp. |
- | data=$(date +%s) | + | timestamp=$(date +%s) |
- | #o facem multiplu de 5 | + | # Align timestamp to multiple of 5 seconds. |
- | data=$(($data/5*5)) | + | timestamp=$(($timestamp/5*5)) |
- | data_init=$data | + | init_timestamp=$timestamp |
rrdtool create target.rrd \ | rrdtool create target.rrd \ | ||
- | --start $data \ | + | --start $timestamp \ |
--step 5 \ | --step 5 \ | ||
DS:speedIn:COUNTER:10:U:U \ | DS:speedIn:COUNTER:10:U:U \ | ||
Line 57: | Line 57: | ||
RRA:AVERAGE:0.5:60:12 | RRA:AVERAGE:0.5:60:12 | ||
- | for i in $(seq 1 24) | + | for i in $(seq 1 24); do |
- | do | + | sleep 5 |
+ | timestamp=$(($timestamp + 5)) | ||
- | sleep 5 | + | outOctets=$(...) |
- | data=$(($data + 5)) | + | inOctets=$(...) |
- | outOctets=$(...) | + | rrdtool update target.rrd $timestamp:$inOctets:$outOctets |
- | inOctets=$(...) | + | |
- | + | ||
- | rrdtool update target.rrd $data:$inOctets:$outOctets | + | |
done | done | ||
- | echo --start $data_init --end $data | + | echo --start $init_timestamp --end $timestamp |
- | </code> | + | </file> |
<solution -hidden> | <solution -hidden> | ||
<code> | <code> |