![]() ![]() |
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=$1timediff=$2suffix=$3popis=$4if [ $# -ge 5 ]thenwidth=$5elsewidth=400fiPATH=$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=""fifunction flow_graph(){rrdtool graph ${target_img_dir}/ping_${name}_rtt_${suffix}.png --imgformat PNG --start `expr $now - ${timediff}` --end $now \DEF:rttmin=${name}.rrd:rttmin:MIN \DEF:rttmax=${name}.rrd:rttmax:MAX \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:min2=PREV\(min1\) \CDEF:max1=PREV\(rttmax\) \CDEF:max2=PREV\(max1\) \CDEF:mdev1=PREV\(rttmdev\) \CDEF:mdev2=PREV\(mdev1\) \CDEF:prumer_rttavg=rttavg,avg1,avg2,+,+,3,/ \CDEF:prumer_rttmdev=rttmdev,mdev1,mdev2,+,+,3,/ \CDEF:maxmin=rttmax,rttmin,- \AREA:rttmin#FFFFFF \STACK:maxmin#e0e0e0 \LINE1:rttmax#FFa1a1:"max" \LINE1:rttmin#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 1rrdtool graph ${target_img_dir}/ping_${name}_pktloss_${suffix}.png --imgformat PNG --start `expr $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 flow_graph_7200(){rrdtool graph ${target_img_dir}/ping_${name}_rtt_${suffix}.png --imgformat PNG --start `expr $now - ${timediff}` --end $now \DEF:rttavg=${name}.rrd:rttavg:AVERAGE \DEF:rttmdev=${name}.rrd:rttmdev:AVERAGE \CDEF:avg1=PREV\(rttavg\) \CDEF:avg2=PREV\(avg1\) \CDEF:min_agg=rttavg,avg1,avg2,MIN,MIN \CDEF:max_agg=rttavg,avg1,avg2,MAX,MAX \CDEF:mdev1=PREV\(rttmdev\) \CDEF:mdev2=PREV\(mdev1\) \CDEF:prumer_rttavg=rttavg,avg1,avg2,+,+,3,/ \CDEF:prumer_rttmdev=rttmdev,mdev1,mdev2,+,+,3,/ \CDEF:maxmin=max_agg,min_agg,- \AREA:min_agg#FFFFFF \STACK:maxmin#e0e0e0 \LINE1:max_agg#FFa1a1:"max" \LINE1:min_agg#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 1rrdtool graph ${target_img_dir}/ping_${name}_pktloss_${suffix}.png --imgformat PNG --start `expr $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}if [ $timediff -lt 86400 ]thenflow_graph_7200elseflow_graphfi