NAME

SNMP::Persist - The SNMP pass_persist threaded backend

VERSION

Version 0.05

SYNOPSIS

use SNMP::Persist qw(&define_oid &start_persister &define_subtree);
use strict;
use warnings;


#define base oid to host the subtree
define_oid(".1.3.6.1.4.1.2021.248");

#start the thread serving answers
start_persister();

#set first application number

#loop forever to update the values
while(1) {

  my %subtree;
  my $gameName;
  my $index=1;						#set first application number

  foreach $gameName ("game1", "game2") {                     #for each application
    $subtree{"1." . $index}=["INTEGER",$index];              #set game index data pair
    $subtree{"2." . $index}=["STRING",$gameName];            #set game name data pair
    $subtree{"3." . $index}=["Counter32", 344.2 ];           #set total memory data pair
    $index++;                                                #next application
  }

  #new values have arrived - notify the subtree controller
  define_subtree(\%subtree);

  #don't update for next 5 minutes
  sleep(300);
}

The script can be used in the following way from snmpd.conf:

pass_persist .1.3.6.1.4.1.2021.248 <user script location>

DESCRIPTION

The SNMP-Persist module is a backend for pass_persist feature of net-snmp.

It simplifies the process of sharing user-specified data via SNMP and development of persistent net-snmp applications controlling a chosen MIB subtree.

It is particularly useful if data gathering process takes too long. The responder is a separate thread, which is not influenced by updates of MIB subtree data. The answer to a snmp request is fast and doesn't rely on potentially slow source of data.

FUNCTIONS

define_subtree(\%hash)

Start the thread responsible for handling snmp requests. The function expects a reference to a predefined hash of arrays. Each array has to be built of two elements:

  • data type

    any SMI datatype supported by net-snmp (e.g. "INTEGER", "STRING", "Counter32")

  • value

    a value set accordingly to the data type

define_oid($string)

Define the base oid for a mib subtree controlled by a script

start_persister( )

Create or update the subtree data

AUTHOR

Anna Wiejak, <anias at popoludnica.pl>

BUGS

Please report any bugs or feature requests to bug-snmp-persist at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=SNMP-Persist. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

perldoc SNMP::Persist

You can also look for information at:

COPYRIGHT & LICENSE

Copyright 2006 Anna Wiejak, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.