#!/bin/sh # # pdns_recursor munin plugin. # Written by Sean Reifschneider 2009-12-03 # Placed in the public domain # # Requires running as root: # # echo '[pdns_rec_*]' >/etc/munin/plugin-conf.d/pdns_rec # echo 'user root' >>/etc/munin/plugin-conf.d/pdns_rec rec_control="/usr/bin/rec_control" if [ "$1" = "autoconf" ]; then if [ -e "$rec_control" ]; then echo yes exit 0 else echo "no (missing $rec_control)" exit 0 fi fi if [ "$1" = "config" ]; then echo 'graph_title PDNS Recursor Exceptions' echo 'graph_order spoofs resource client server overflow' echo 'graph_vlabel queries' echo 'graph_info Exceptional queries' echo 'graph_category dns' echo 'spoofs.label spoofs' echo 'spoofs.min 0' echo 'spoofs.max 100000' echo 'spoofs.type COUNTER' echo 'spoofs.info Spoofs prevented' echo 'resource.label resources' echo 'resource.min 0' echo 'resource.max 100000' echo 'resource.type COUNTER' echo 'resource.info Denied because of resource limits' echo 'client.label client' echo 'client.min 0' echo 'client.max 100000' echo 'client.type COUNTER' echo 'client.info Client parse errors' echo 'server.label server' echo 'server.min 0' echo 'server.max 100000' echo 'server.type COUNTER' echo 'server.info Server parse errors' echo 'overflow.label tcp concurrency' echo 'overflow.min 0' echo 'overflow.max 100000' echo 'overflow.type COUNTER' echo 'overflow.info TCP client concurrency limit' exit 0 fi echo spoofs.value "$($rec_control get spoof-prevents)" echo resource.value "$($rec_control get resource-limits)" echo client.value "$($rec_control get client-parse-errors)" echo server.value "$($rec_control get server-parse-errors)" echo overflow.value "$($rec_control get tcp-client-overflow)" exit 0