🎨: improve nsd munin plugin

This commit is contained in:
VC
2024-07-26 13:33:13 +02:00
parent 8089d910e7
commit 653a812a2d

View File

@@ -26,102 +26,102 @@ GPLv2
=cut =cut
if [ "$1" = "autoconf" ]; then if [ "$1" = "autoconf" ]; then
if [ -x /usr/sbin/nsd-control ]; then if [ -x /usr/sbin/nsd-control ]; then
echo "yes" echo "yes"
exit 0 exit 0
else else
echo "no (no /usr/sbin/nsd-control)" echo "no (no /usr/sbin/nsd-control)"
exit 0 exit 0
fi fi
fi fi
if [ "$1" = "config" ]; then if [ "$1" = "config" ]; then
echo 'graph_title NSD queries' echo 'graph_title NSD queries'
echo 'graph_vlabel queries / second' echo 'graph_vlabel queries / second'
echo 'graph_category dns' echo 'graph_category dns'
echo 'graph_info Queries per second, by query type' echo 'graph_info Queries per second, by query type'
echo 'a.label A' echo 'a.label A'
echo 'a.type DERIVE' echo 'a.type DERIVE'
echo 'a.min 0' echo 'a.min 0'
echo 'aaaa.label AAAA' echo 'aaaa.label AAAA'
echo 'aaaa.type DERIVE' echo 'aaaa.type DERIVE'
echo 'aaaa.min 0' echo 'aaaa.min 0'
echo 'ptr.label PTR' echo 'ptr.label PTR'
echo 'ptr.type DERIVE' echo 'ptr.type DERIVE'
echo 'ptr.min 0' echo 'ptr.min 0'
echo 'cname.label CNAME' echo 'cname.label CNAME'
echo 'cname.type DERIVE' echo 'cname.type DERIVE'
echo 'cname.min 0' echo 'cname.min 0'
echo 'mx.label MX' echo 'mx.label MX'
echo 'mx.type DERIVE' echo 'mx.type DERIVE'
echo 'mx.min 0' echo 'mx.min 0'
echo 'txt.label TXT' echo 'txt.label TXT'
echo 'txt.type DERIVE' echo 'txt.type DERIVE'
echo 'txt.min 0' echo 'txt.min 0'
echo 'soa.label SOA' echo 'soa.label SOA'
echo 'soa.type DERIVE' echo 'soa.type DERIVE'
echo 'soa.min 0' echo 'soa.min 0'
echo 'ns.label NS' echo 'ns.label NS'
echo 'ns.type DERIVE' echo 'ns.type DERIVE'
echo 'ns.min 0' echo 'ns.min 0'
echo 'srv.label SRV' echo 'srv.label SRV'
echo 'srv.type DERIVE' echo 'srv.type DERIVE'
echo 'srv.min 0' echo 'srv.min 0'
echo 'dnskey.label DNSKEY' echo 'dnskey.label DNSKEY'
echo 'dnskey.type DERIVE' echo 'dnskey.type DERIVE'
echo 'dnskey.min 0' echo 'dnskey.min 0'
echo 'axfr.label AXFR' echo 'axfr.label AXFR'
echo 'axfr.type DERIVE' echo 'axfr.type DERIVE'
echo 'axfr.min 0' echo 'axfr.min 0'
echo 'snxd.label NXDOMAIN' echo 'snxd.label NXDOMAIN'
echo 'snxd.type DERIVE' echo 'snxd.type DERIVE'
echo 'snxd.min 0' echo 'snxd.min 0'
echo 'rq.label Total Successful' echo 'rq.label Total Successful'
echo 'rq.type DERIVE' echo 'rq.type DERIVE'
echo 'rq.min 0' echo 'rq.min 0'
exit 0 exit 0
fi fi
/usr/sbin/nsd-control stats_noreset | sed 's/=/ /; s/\.//g' | ( /usr/sbin/nsd-control stats_noreset | sed 's/=/ /; s/\.//g' | (
numtypeA=0 numtypeA=0
numtypeAAAA=0 numtypeAAAA=0
numtypePTR=0 numtypePTR=0
numtypeCNAME=0 numtypeCNAME=0
numtypeMX=0 numtypeMX=0
numtypeTXT=0 numtypeTXT=0
numtypeSOA=0 numtypeSOA=0
numtypeNS=0 numtypeNS=0
numtypeSRV=0 numtypeSRV=0
numtypeDNSKEY=0 numtypeDNSKEY=0
numraxfr=0 numraxfr=0
numrcodeNXDOMAIN=0 numrcodeNXDOMAIN=0
numqueries=0 numqueries=0
while read -r key value rest; do while read -r key value rest; do
[ "${key}" = "numtypeA" ] && numtypeA=${value} [ "${key}" = "numtypeA" ] && numtypeA=${value}
[ "${key}" = "numtypeAAAA" ] && numtypeAAAA=${value} [ "${key}" = "numtypeAAAA" ] && numtypeAAAA=${value}
[ "${key}" = "numtypePTR" ] && numtypePTR=${value} [ "${key}" = "numtypePTR" ] && numtypePTR=${value}
[ "${key}" = "numtypeCNAME" ] && numtypeCNAME=${value} [ "${key}" = "numtypeCNAME" ] && numtypeCNAME=${value}
[ "${key}" = "numtypeMX" ] && numtypeMX=${value} [ "${key}" = "numtypeMX" ] && numtypeMX=${value}
[ "${key}" = "numtypeTXT" ] && numtypeTXT=${value} [ "${key}" = "numtypeTXT" ] && numtypeTXT=${value}
[ "${key}" = "numtypeSOA" ] && numtypeSOA=${value} [ "${key}" = "numtypeSOA" ] && numtypeSOA=${value}
[ "${key}" = "numtypeNS" ] && numtypeNS=${value} [ "${key}" = "numtypeNS" ] && numtypeNS=${value}
[ "${key}" = "numtypeSRV" ] && numtypeSRV=${value} [ "${key}" = "numtypeSRV" ] && numtypeSRV=${value}
[ "${key}" = "numtypeDNSKEY" ] && numtypeDNSKEY=${value} [ "${key}" = "numtypeDNSKEY" ] && numtypeDNSKEY=${value}
[ "${key}" = "numraxfr" ] && numraxfr=${value} [ "${key}" = "numraxfr" ] && numraxfr=${value}
[ "${key}" = "numrcodeNXDOMAIN" ] && numrcodeNXDOMAIN=${value} [ "${key}" = "numrcodeNXDOMAIN" ] && numrcodeNXDOMAIN=${value}
[ "${key}" = "numqueries" ] && numqueries=${value} [ "${key}" = "numqueries" ] && numqueries=${value}
done done
echo "a.value ${numtypeA}" echo "a.value ${numtypeA}"
echo "aaaa.value ${numtypeAAAA}" echo "aaaa.value ${numtypeAAAA}"
echo "ptr.value ${numtypePTR}" echo "ptr.value ${numtypePTR}"
echo "cname.value ${numtypeCNAME}" echo "cname.value ${numtypeCNAME}"
echo "mx.value ${numtypeMX}" echo "mx.value ${numtypeMX}"
echo "txt.value ${numtypeTXT}" echo "txt.value ${numtypeTXT}"
echo "soa.value ${numtypeSOA}" echo "soa.value ${numtypeSOA}"
echo "ns.value ${numtypeNS}" echo "ns.value ${numtypeNS}"
echo "srv.value ${numtypeSRV}" echo "srv.value ${numtypeSRV}"
echo "dnskey.value ${numtypeDNSKEY}" echo "dnskey.value ${numtypeDNSKEY}"
echo "axfr.value ${numraxfr}" echo "axfr.value ${numraxfr}"
echo "snxd.value ${numrcodeNXDOMAIN}" echo "snxd.value ${numrcodeNXDOMAIN}"
echo "rq.value ${numqueries}" echo "rq.value ${numqueries}"
) )