diff --git a/check_snmp_printer b/check_snmp_printer index 94e4364a9493e327edbd0672b8333ccaa8fca7d6..811b54442bfa0b52b53910db4abf4d48236f53c2 100755 --- a/check_snmp_printer +++ b/check_snmp_printer @@ -3,21 +3,52 @@ # # Wrapper for check_snmp_printer plugin # +# The reason behind this wrapper is detecting the snmp auth +# parameters by check_dnmp_includes which needs a snmp target +# to find its custom config. +# +# All given params will be sent to +# /usr/lib64/nagios/plugins/check_snmp_printer_v2.0.1 +# except "-c <script>" +# +# TODO: IML like help +# +# USAGE +# check_snmp_printer -H <host|ip> --<what> +# check_snmp_printer -H <host|ip> -c <script> --<what> +# +# <host>|<ip> target to connect +# <what> what information will be shown +# --consum +# --messages +# --pagecount +# --trays +# <script> script to execute with full path +# # ------------------------------------------------------------ # 2021-03-22 <axel.hahn@iml.unibe.ch> v0.1 # 2023-09-18 <axel.hahn@iml.unibe.ch> v0.2 snmpv3 support +# 2023-10-12 <axel.hahn@iml.unibe.ch> v0.3 parameter for custom script; detect debian # ============================================================ # ------------------------------------------------------------ # CONFIG # ------------------------------------------------------------ -. $(dirname $0)/check_snmp_includes +. $( dirname $0 )/inc_pluginfunctions +. $( dirname $0 )/check_snmp_includes + +debug=0 # check='/usr/lib64/nagios/plugins/check_snmp_printer' # updated script is taken from https://github.com/Tylan/check_snmp_printer/tree/master -check='/usr/lib64/nagios/plugins/check_snmp_printer_v2.0.1' -debug=0 +nagiosDir='/usr/lib64/nagios/plugins' +myscript="check_snmp_printer_v2.0.1" +case "$( ph.getOS)" in + debian) + nagiosDir='/usr/lib/nagios/plugins' + ;; +esac # ------------------------------------------------------------ # MAIN @@ -25,10 +56,14 @@ debug=0 sParams="$*" - # find host behind param -H SNMPTARGET=$( echo $sParams | sed -Ee 's#.*\-H\ ([0-9a-z\.\-]*).*#\1#' ) +# detect -c <script> +check=$( echo $sParams | sed -Ee 's#.*\-c\ ([0-9a-z\.\-_/]*).*#\1#' ) +test "$check" = "$sParams" && check="${nagiosDir}/${myscript}" +test "$check" = "$sParams" || sParams=$( echo $sParams | sed -Ee 's#\-c\ ([0-9a-z\.\-_/]*)##' ) + # find SNMPTARGET in config test -z "$SNMPAUTH" && read_config sParams+=" $SNMPAUTH" @@ -52,4 +87,6 @@ case "$what" in esac test "$debug" = "1" && ( echo "$what:"; echo calling $check $sParams ; echo ) -$check $sParams +$check $sParams -t $SNMPTIMEOUT + +# ------------------------------------------------------------