Mon::SNMP(3pm)

Mon::SNMP3pm

Decode snmp trap

Usage

    use Mon::SNMP;
    $trap = new Mon::SNMP;
    $trap->buffer($snmptrap);
    %traphash = $trap->decode;
    $error = $trap->error;

Overview

Mon::SNMP provides methods to decode SNMP trap PDUs. It is based on Graham Barr's Convert::BER module, and its purpose is to provide SNMP trap handling to "mon".

It is not complete, so don't bother trying to use it unless you are ready to debug and write some code.

Methods

new

creates a new Mon::SNMP object.

buffer ( buffer )

Assigns a raw SNMP trap message to the object.

decode

Decodes a SNMP trap message, and returns a hash of the variable assignments for the SNMP header and trap protocol data unit of the associated message. The hash consists of the following members:

        version         =>      SNMP version (1)
        community       =>      community string
        ent_OID         =>      enterprise OID of originating agent
        agentaddr       =>      IP address of originating agent
        generic_trap    =>      /COLDSTART|WARMSTART|LINKDOWN|LINKUP|AUTHFAIL|EGPNEIGHBORLOSS|ENTERPRISESPECIFIC/
        specific_trap   =>      specific trap type (integer)
        timeticks       =>      timeticks (integer)
        varbindlist     =>      { oid1 => value, oid2 => value, ... }

Errors

All methods return a hash with no elements upon errors which they detect, and the detail of the error is available from the

Examples

    use Mon::SNMP;
    $trap = new Mon::SNMP;
    $trap->buffer($snmptrap);
    %traphash = $trap->decode;
    foreach $oid (keys $traphash{"varbindlist"}) {
        $val = $traphash{"varbindlist"}{$oid};
        print "oid($oid) = val($val)\n";
    }

Environment

None.

Notes

Caveats

Mon::SNMP depends upon Convert::BER to do the real work.

Releases

13 releases since Debian 2.2 (Potato); the text changed 6 times.

  1. 2.2
  2. 3.0–3.1
  3. 4.0–5.0
  4. 6.0
  5. 7–10
  6. 11–12
  7. 13

From mon-client 1.2.0-3 in Debian 13 (Trixie). Parsed by carta from the page's man source.