$NetBSD$ Fix irqstats plugin for NetBSD to provide correct output (upstream duplicates field value into field name, causing all kinds of annoyance). upstream bug: https://github.com/munin-monitoring/munin/issues/1537 --- plugins/node.d.netbsd/irqstats.in.old 2023-05-11 21:13:03.318450301 +0000 +++ plugins/node.d.netbsd/irqstats.in 2023-05-11 21:18:29.075543005 +0000 @@ -1,5 +1,5 @@ #!@@GOODSH@@ -# +# # Plugin to monitor the individual interrupt sources. # # Usage: Link or copy into /etc/munin/node.d/ @@ -34,22 +34,12 @@ fi fi -intr_sources () { - /usr/bin/vmstat -i | awk ' -/^interrupt/ { next; } -/^Total/ { next; } -{ - s=substr($0, 1, 24); - gsub(" *$", "", s); - gsub(" ", "_", s); - print s; -} -' -} +intr_sources=$(/usr/bin/vmstat -i|grep -v Total|grep -v 'total rate'|sed -E 's/ {2,}/|/g'|sed 's/ /_/g'|grep -e '[:alnum:]'|cut -d\| -f1) +echo "intr_sources = |$intr_sources|" # If run with the "config"-parameter, give out information on how the -# graphs should look. - +# graphs should look. + if [ "$1" = "config" ]; then echo 'graph_title Individual interrupts' @@ -57,12 +47,12 @@ echo 'graph_vlabel interrupts / ${graph_period}' echo 'graph_category system' echo -n 'graph_order ' - for i in `intr_sources`; do + for i in $intr_sources; do echo -n ' intr_'${i} done echo - for i in `intr_sources`; do + for i in $intr_sources; do # echo 'intr_'${i}'.draw LINE' echo 'intr_'${i}'.label' `echo $i | sed -e 's/_/ /g'` echo 'intr_'${i}'.info Interrupt' `echo $i | sed -e 's/_/ /g'` @@ -72,13 +62,5 @@ exit 0 fi -/usr/bin/vmstat -i | awk ' -/^interrupt/ { next; } -/^Total/ { next; } -/[0-9]/{ - s=substr($0, 1, 24); - gsub(" *$", "", s); - gsub(" ", "_", s); - print "intr_" s ".value " $(NF-1); -} -' +/usr/bin/vmstat -i|grep -v Total|grep -v 'total rate'|sed -E 's/ {2,}/|/g'|sed 's/ /_/g'|sed 's/|/ /g'|grep -E '[:alnum:]'|awk '{print $1 ".value " $2}' +