![]() ![]() |
crusader |
Subversion Repositories: |
Compare with Previous - Blame - Download
#!/bin/bashif [ $# -lt 4 ]thenecho "Usage: `basename $0` <target name> <time interval> <file suffix> <graph comment> [graph width]"exit 1;finame="$1"timediff="$2"suffix="$3"popis="$4"if [ $# -ge 5 ]thenwidth="$5"elsewidth=400fi#PATH=$PATH:/opt/rrdtool/bindatadir="/var/statistiky/ping"target_img_dir="/var/www/heaven/stat/img"cd $datadirnow=`date +%s`if [ $timediff -ge 604800 ]thenxgridstr="--x-grid HOUR:12:DAY:1:DAY:1:86400:%d.%m."elsexgridstr=""fixgridstr=""if [ $timediff -gt 108000 ]; then xgridstr="--x-grid HOUR:6:DAY:1:DAY:1:86400:%d.%m."; fiif [ $timediff -gt 777600 ]; then xgridstr="--x-grid DAY:1:WEEK:1:WEEK:1:86400:%d.%m."; fifunction rtt_avg_peak(){rrdtool graph ${target_img_dir}/ping_${name}_rtt_${suffix}.png --imgformat PNG --start $(($now-${timediff})) --end $now \DEF:rttavg=${name}.rrd:rttavg:MAX \DEF:rttmin=${name}.rrd:rttmin:MAX \AREA:rttmin#a8a8FF:"min" \LINE2:rttavg#202020:"avg" \--vertical-label "Round Trip Time Peak [ms]" \--height 200 \--width ${width} \${xgridstr} \--title "Spickove hodnoty: ${name} ${popis}" \--lower-limit 0 \--upper-limit 1}function flow_graph(){rtt_avg_peakrrdtool graph ${target_img_dir}/ping_${name}_pktloss_${suffix}.png --imgformat PNG --start $(($now-${timediff})) --end $now \DEF:pl_avg=${name}.rrd:pktloss:AVERAGE \DEF:pl_min=${name}.rrd:pktloss:MIN \DEF:pl_max=${name}.rrd:pktloss:MAX \CDEF:avg1=PREV\(pl_avg\) \CDEF:avg2=PREV\(avg1\) \CDEF:min1=PREV\(pl_min\) \CDEF:min2=PREV\(min1\) \CDEF:max1=PREV\(pl_max\) \CDEF:max2=PREV\(max1\) \CDEF:prumer_pktloss=pl_avg,avg1,avg2,+,+,3,/ \CDEF:maxmin=pl_max,pl_min,- \HRULE:5#000000 \AREA:pl_min#FFFFFF \STACK:maxmin#e0e0e0 \LINE1:pl_max#FFa1a1:"max" \LINE1:pl_min#a8a8FF:"min" \LINE2:prumer_pktloss#202020:"avg" \--vertical-label "Packet loss [%]" \--height 200 \--width ${width} \${xgridstr} \--title "${name} ${popis}" \--lower-limit 0 \--upper-limit 5}function rtt_mean_deviation_avgavg(){rrdtool graph ${target_img_dir}/ping_${name}_rtt_${suffix}.png --imgformat PNG --start $(($now-${timediff})) --end $now \DEF:rttmin=${name}.rrd:rttmin:AVERAGE \DEF:rttavg=${name}.rrd:rttavg:AVERAGE \DEF:rttmdev=${name}.rrd:rttmdev:AVERAGE \CDEF:avg1=PREV\(rttavg\) \CDEF:avg2=PREV\(avg1\) \CDEF:min1=PREV\(rttmin\) \CDEF:mdev1=PREV\(rttmdev\) \CDEF:prumer_rttavg=rttavg,avg1,avg2,+,+,3,/ \LINE2:min1#6750ff:"min" \LINE1:mdev1#ff5047:"mdev" \LINE2:prumer_rttavg#202020:"avg" \--vertical-label "Round Trip Time [ms]" \--height 200 \--width ${width} \${xgridstr} \--title "${name} ${popis}" \--lower-limit 0 \--upper-limit 1}function rtt_mean_deviation_maxavg(){rrdtool graph ${target_img_dir}/ping_${name}_rtt_${suffix}.png --imgformat PNG --start $(($now-${timediff})) --end $now \DEF:rttmin=${name}.rrd:rttmin:MAX \DEF:rttavg=${name}.rrd:rttavg:MAX \DEF:rttmdev=${name}.rrd:rttmdev:MAX \CDEF:avg1=PREV\(rttavg\) \CDEF:avg2=PREV\(avg1\) \CDEF:min1=PREV\(rttmin\) \CDEF:mdev1=PREV\(rttmdev\) \CDEF:prumer_rttavg=rttavg,avg1,avg2,+,+,3,/ \LINE2:min1#6750ff:"min" \LINE1:mdev1#ff5047:"mdev" \LINE2:prumer_rttavg#202020:"avg" \--vertical-label "Round Trip Time [ms]" \--height 200 \--width ${width} \${xgridstr} \--title "${name} ${popis}" \--lower-limit 0 \--upper-limit 1}function rtt_min_max_avg_7200(){rrdtool graph ${target_img_dir}/ping_${name}_rtt_${suffix}.png --imgformat PNG --start $(($now-${timediff})) --end $now \DEF:rttmin=${name}.rrd:rttmin:AVERAGE \DEF:rttmax=${name}.rrd:rttmax:AVERAGE \DEF:rttavg=${name}.rrd:rttavg:AVERAGE \DEF:rttmdev=${name}.rrd:rttmdev:AVERAGE \CDEF:avg1=PREV\(rttavg\) \CDEF:avg2=PREV\(avg1\) \CDEF:min1=PREV\(rttmin\) \CDEF:max1=PREV\(rttmax\) \CDEF:mdev1=PREV\(rttmdev\) \CDEF:prumer_rttavg=rttavg,avg1,avg2,+,+,3,/ \CDEF:maxmin=max1,min1,- \AREA:min1#FFFFFF \STACK:maxmin#e0e0e0 \LINE1:max1#FFa1a1:"max" \LINE1:min1#a8a8FF:"min" \LINE2:prumer_rttavg#202020:"avg" \--vertical-label "Round Trip Time [ms]" \--height 200 \--width ${width} \${xgridstr} \--title "${name} ${popis}" \--lower-limit 0 \--upper-limit 1}function flow_graph_7200(){rtt_mean_deviation_7200rrdtool graph ${target_img_dir}/ping_${name}_pktloss_${suffix}.png --imgformat PNG --start $(($now-${timediff})) --end $now \DEF:pl_avg=${name}.rrd:pktloss:AVERAGE \CDEF:avg1=PREV\(pl_avg\) \CDEF:avg2=PREV\(avg1\) \CDEF:min_agg=pl_avg,avg1,avg2,MIN,MIN \CDEF:max_agg=pl_avg,avg1,avg2,MAX,MAX \CDEF:prumer_pktloss=pl_avg,avg1,avg2,+,+,3,/ \CDEF:maxmin=max_agg,min_agg,- \HRULE:5#000000 \AREA:min_agg#FFFFFF \STACK:maxmin#e0e0e0 \LINE1:max_agg#FFa1a1:"max" \LINE1:min_agg#a8a8FF:"min" \LINE2:prumer_pktloss#202020:"avg" \--vertical-label "Packet loss [%]" \--height 200 \--width ${width} \${xgridstr} \--title "${name} ${popis}" \--lower-limit 0 \--upper-limit 5}function rtt_prime_nekonsolidovane_hodnoty(){rrdtool graph ${target_img_dir}/ping_${name}_rtt_${suffix}.png --imgformat PNG --start $(($now-${timediff})) --end $now \DEF:rttmin=${name}.rrd:rttmin:AVERAGE \DEF:rttavg=${name}.rrd:rttavg:AVERAGE \DEF:rttmdev=${name}.rrd:rttmdev:AVERAGE \LINE2:rttmin#6750ff:"min" \LINE1:rttmdev#ff5047:"mdev" \LINE2:rttavg#202020:"avg" \--vertical-label "Round Trip Time [ms]" \--height 200 \--width ${width} \${xgridstr} \--title "${name} ${popis}" \--lower-limit 0 \--upper-limit 1}function pktloss_prime_nekonsolidovane_hodnoty(){rrdtool graph ${target_img_dir}/ping_${name}_pktloss_${suffix}.png --imgformat PNG --start $(($now-${timediff})) --end $now \DEF:pl_avg=${name}.rrd:pktloss:AVERAGE \HRULE:5#000000 \LINE2:pl_avg#202020:"avg" \--vertical-label "Packet loss [%]" \--height 200 \--width ${width} \${xgridstr} \--title "${name} ${popis}" \--lower-limit 0 \--upper-limit 5}function pktloss_avgavg(){rrdtool graph ${target_img_dir}/ping_${name}_pktloss_${suffix}.png --imgformat PNG --start $(($now-${timediff})) --end $now \DEF:pl_avg=${name}.rrd:pktloss:AVERAGE \CDEF:avg1=PREV\(pl_avg\) \CDEF:avg2=PREV\(avg1\) \CDEF:prumer_pktloss=pl_avg,avg1,avg2,+,+,3,/ \HRULE:5#000000 \AREA:avg1#FFa1a1:"presne" \LINE2:prumer_pktloss#202020:"prumer" \--vertical-label "Packet loss [%]" \--height 200 \--width ${width} \${xgridstr} \--title "${name} ${popis}" \--lower-limit 0 \--upper-limit 5}if [ $timediff -le 21600 ]thenrtt_prime_nekonsolidovane_hodnotypktloss_prime_nekonsolidovane_hodnotyelseif [ $timediff -le 108000 ]then# rtt_mean_deviation_maxavgrtt_avg_peakpktloss_avgavgelseflow_graphfifi