NAME
SNMP::Persist - The SNMP pass_persist threaded backend
VERSION
Version 0.01
SYNOPSIS
use SNMP::Persist;
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
my $index=1;
#loop forever to update the values
while(1) {
my %subtree;
my $gameName;
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:
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
RT: CPAN's request tracker
Search CPAN
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.