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

check_snmp_data.md

Blame
  • user avatar
    Hahn Axel (hahn) authored
    69bb3c22
    History

    IML Checks for Icinga / Nagios

    Home


    check SNMP data

    Introduction

    check_snmp_data is a plugin for fetching performance data with a set of given OIDs.

    It can handle current values (i.e. load or cpu usage) and counter values (i.e. network io).

    Syntax

    $ check_snmp_data -h HOSTNAME [-C COOMMUNITYSTRING] -v -m METHOD

    Parameters

    Starting the script without parameters shows a help.

    
    SNMP performance data v1.0
    
    University of Bern * Institute of Medical Education
    GNU GPL 3.0
    
    USAGE:
        ./check_snmp_data -h hostname [-C communitystring] -m method
    
    PARAMETERS:
        -h  hostname       as fqdn or ip address
        -C  communitystr   optional: community string for snmp; default is public
        -v                 verbose output
        -m  method         what to show
                           method is one of ...
                              cpu        CPU usage                                         
                              load       System load                                       
                              netio      Network IO (experimental)                         
                              synotemp   Synology NAS temperature                          
    
    EXAMPLE:
        ./check_snmp_data -h 192.168.100.12 -v -m cpu
    

    Examples

    Get values

    ./check_snmp_data -h 192.168.100.12 -v -m cpu

    Shows the current cpu usage of host 192.168.100.12. The output is something like that:

    OK: SNMP performance data :: CPU usage 
    cpu-user       0 %
    cpu-system     0 %
    cpu-idle       99 %
    
     |cpu-user=0;;;0; cpu-system=0;;;0; cpu-idle=99;;;0;

    The 3 lines with values starting from line 2 are written with -v option only.

    The performance data (last line) always will be sent.

    Get counter data

    ./check_snmp_data -h 192.168.100.12 -v -m netio

    If there is a check with counter data using -v option you see the counter value and the delta speed. It is calculated by

                  [current_counter] - [last_counter]
    delta_speed = ----------------------------------
                    time_since_last_check_in_sec

    The output looks like that:

    OK: SNMP performance data :: Network IO (experimental) 
    in             total: 2669086814     delta:      1  per sec
    out            total: 2212665608     delta:      0  per sec
    
     |in=1;;;0; out=0;;;0;

    Configuration

    check_snmp_data is a Bash script. If you open / view it you see a DATA section as comment lines on the top.

    It starts with a short description:

    # SYNTAX:
    # label    --> DATA:[method]:label:[text]
    # n x data --> DATA:[method]:data:[perf-label]:[oid]:[optional unit]

    ... followed by the configuration data of the checks.

    #
    # DATA:cpu:label:CPU usage
    # DATA:cpu:data:cpu-user:1.3.6.1.4.1.2021.11.9.0:%
    # DATA:cpu:data:cpu-system:1.3.6.1.4.1.2021.11.10.0:%
    # DATA:cpu:data:cpu-idle:1.3.6.1.4.1.2021.11.11.0:%

    To fetch configuration data the text in $0 is grepped by ^#\ DATA:.

    There is a single line with label to define a short description of the check.

    There can be severeal lines with data to define the values to get. Each data line must have a uniq label within the same check.