Skip to content
Snippets Groups Projects
Select Git revision
  • a38fc56b74ae0fa7416dc7221d48cb5b165f698b
  • master default protected
  • simple-task/7248-eol-check-add-node-22
  • 6877_check_iml_deployment
4 results

check_haproxy_health

Blame
  • check_snmp_printer 2.83 KiB
    #!/bin/env bash
    # ============================================================
    #
    # 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 )/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
    nagiosDir='/usr/lib64/nagios/plugins'
    myscript="check_snmp_printer_v2.0.1"
    case "$( ph.getOS)" in
            debian)
                    nagiosDir='/usr/lib/nagios/plugins'
                    ;;
    esac
    
    # ------------------------------------------------------------
    # MAIN
    # ------------------------------------------------------------
    
    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"
    
    
    what=$( echo $sParams | sed -Ee 's#.*\-\-([a-z]*).*#\1#' )
    case "$what" in
            consum)
                    what="Consumables"
                    ;;
            messages)
                    what="Messages of the printer"
                    ;;
            pagecount)
                    what="Number of printed pages"
                    ;;
            trays)
                    what="Status of trays for paper"
                    sParams="$sParams --nofeeder"
                    ;;
    esac
    
    test "$debug" = "1" && ( echo "$what:"; echo calling $check $sParams ; echo ) 
    $check $sParams -t $SNMPTIMEOUT
    
    # ------------------------------------------------------------