#!/bin/sh
#
# Returns what kind of traffic dnscache has handled
# within the last 5 minutes
#
# By Rasmus Skaarup <dlog@gal.dk> - Aug 2006
#
#
# Magic markers - optional - used by installation scripts and
# munin-config:
#
#%# family=manual
#%# capabilities=autoconf

DLOG=/usr/local/dlog/bin/dodlog.pl
LOGDIR=/var/service/dnscache/log/main/

CMD="$DLOG dnscache raw $LOGDIR"

if [ "$1" = "autoconf" ]; then
        echo yes
        exit 0
fi

if [ "$1" = "config" ]; then

        echo 'graph_title dnscache answers by type'
        echo 'graph_args --base 1000 -l 0 '
        echo 'graph_vlabel requests/queries'
        echo 'graph_category DNS'
        echo 'graph_order dcac1 dcac2 dcac3 dcac4 dcac5 dcac6 dcac7 dcac8 dcac9 dcac10'
        echo 'dcac1.label A'
        echo 'dcac1.min 0'
        echo 'dcac1.draw LINE2'
        echo 'dcac2.label NS'
        echo 'dcac2.min 0'
        echo 'dcac2.draw LINE2'
        echo 'dcac3.label CNAME'
        echo 'dcac3.min 0'
        echo 'dcac3.draw LINE2'
        echo 'dcac4.label SOA'
        echo 'dcac4.min 0'
        echo 'dcac4.draw LINE2'
        echo 'dcac5.label PTR'
        echo 'dcac5.min 0'
        echo 'dcac5.draw LINE2'
        echo 'dcac6.label MX'
        echo 'dcac6.min 0'
        echo 'dcac6.draw LINE2'
        echo 'dcac7.label TXT'
        echo 'dcac7.min 0'
        echo 'dcac7.draw LINE2'
        echo 'dcac8.label AAAA'
        echo 'dcac8.min 0'
        echo 'dcac8.draw LINE2'
        echo 'dcac9.label AXFR'
        echo 'dcac9.min 0'
        echo 'dcac9.draw LINE2'
        echo 'dcac10.label 255'
        echo 'dcac10.min 0'
        echo 'dcac10.draw LINE2'
        exit 0

fi

OUTPUT=`$CMD`

TYPE1=`echo "$OUTPUT" | grep TYPE:1: | cut -f 3 -d:`
TYPE2=`echo "$OUTPUT" | grep TYPE:2: | cut -f 3 -d:`
TYPE5=`echo "$OUTPUT" | grep TYPE:5: | cut -f 3 -d:`
TYPE6=`echo "$OUTPUT" | grep TYPE:6: | cut -f 3 -d:`
TYPE12=`echo "$OUTPUT" | grep TYPE:12: | cut -f 3 -d:`
TYPE15=`echo "$OUTPUT" | grep TYPE:15: | cut -f 3 -d:`
TYPE16=`echo "$OUTPUT" | grep TYPE:16: | cut -f 3 -d:`
TYPE28=`echo "$OUTPUT" | grep TYPE:28: | cut -f 3 -d:`
TYPE252=`echo "$OUTPUT" | grep TYPE:252: | cut -f 3 -d:`
TYPE255=`echo "$OUTPUT" | grep TYPE:255: | cut -f 3 -d:`

if [ "$TYPE1" = "" ]; then
  TYPE1=0
fi
if [ "$TYPE2" = "" ]; then
  TYPE2=0
fi
if [ "$TYPE5" = "" ]; then
  TYPE5=0
fi
if [ "$TYPE6" = "" ]; then
  TYPE6=0
fi
if [ "$TYPE12" = "" ]; then
  TYPE12=0
fi
if [ "$TYPE15" = "" ]; then
  TYPE15=0
fi
if [ "$TYPE16" = "" ]; then
  TYPE16=0
fi
if [ "$TYPE28" = "" ]; then
  TYPE28=0
fi
if [ "$TYPE252" = "" ]; then
  TYPE252=0
fi
if [ "$TYPE255" = "" ]; then
  TYPE255=0
fi

echo "dcac1.value $TYPE1"
echo "dcac2.value $TYPE2"
echo "dcac3.value $TYPE5"
echo "dcac4.value $TYPE6"
echo "dcac5.value $TYPE12"
echo "dcac6.value $TYPE15"
echo "dcac7.value $TYPE16"
echo "dcac8.value $TYPE28"
echo "dcac9.value $TYPE252"
echo "dcac10.value $TYPE255"
