2007-05-22 09:36:48 +02:00
|
|
|
#!/bin/bash
|
|
|
|
#
|
|
|
|
# Script to monitor PowerDNS performance
|
|
|
|
#
|
|
|
|
# Parameters understood:
|
|
|
|
#
|
|
|
|
# config (required)
|
|
|
|
# autoconf (optional - used by munin-config)
|
|
|
|
#%# family=auto
|
|
|
|
#%# capabilities=autoconf
|
|
|
|
|
2017-09-29 10:20:40 +02:00
|
|
|
pdns_control="/usr/bin/pdns_control"
|
|
|
|
command="$pdns_control list"
|
2007-05-22 09:36:48 +02:00
|
|
|
|
|
|
|
if [ "$1" = "autoconf" ]; then
|
2017-09-29 10:20:40 +02:00
|
|
|
if [ -e "$pdns_control" ]; then
|
2017-09-28 09:54:22 +02:00
|
|
|
echo yes
|
|
|
|
exit 0
|
|
|
|
else
|
2017-09-29 10:20:40 +02:00
|
|
|
echo "no (missing $pdns_control)"
|
|
|
|
exit 0
|
2017-09-28 09:54:22 +02:00
|
|
|
fi
|
2007-05-22 09:36:48 +02:00
|
|
|
fi
|
|
|
|
|
|
|
|
if [ "$1" = "config" ]; then
|
|
|
|
echo 'graph_title Power DNS errors'
|
|
|
|
echo 'graph_args -l 0 --base 1000'
|
|
|
|
echo 'graph_vlabel numbers of'
|
2017-02-22 00:30:20 +01:00
|
|
|
echo 'graph_category dns'
|
2007-05-22 09:36:48 +02:00
|
|
|
echo 'graph_info This graph shows Power DNS performance on the machine.'
|
|
|
|
echo 'corrupt_packets.label corrupt packets'
|
|
|
|
echo 'corrupt_packets.type DERIVE'
|
|
|
|
echo 'corrupt_packets.min 0'
|
|
|
|
echo 'corrupt_packets.info Number of corrupt packets received'
|
|
|
|
echo 'servfail_packets.label servfail packets'
|
|
|
|
echo 'servfail_packets.type DERIVE'
|
|
|
|
echo 'servfail_packets.min 0'
|
|
|
|
echo 'servfail_packets.info Number of times a server-failed packet was sent out'
|
|
|
|
echo 'timedout_packets.label timedout packets'
|
|
|
|
echo 'timedout_packets.type DERIVE'
|
|
|
|
echo 'timedout_packets.min 0'
|
|
|
|
echo 'timedout_packets.info Number of packets which weren not answered within timeout set'
|
|
|
|
exit 0
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
2017-09-29 09:27:34 +02:00
|
|
|
$command | sed 's/=\([0-9]\+\),/.value \1\n/g' | egrep "corrupt|servfail|timedout" | sed 's/-/_/g'
|