|
NAMESNMP::Persist - The SNMP pass_persist threaded backend VERSIONVersion 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> DESCRIPTIONThe 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. FUNCTIONSdefine_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:
define_oid($string)Define the base oid for a mib subtree controlled by a script start_persister( )Create or update the subtree data AUTHORAnna Wiejak, "<anias at popoludnica.pl>" BUGSPlease 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. SUPPORTYou can find documentation for this module with the perldoc command. perldoc SNMP::Persist You can also look for information at:
COPYRIGHT & LICENSECopyright 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.
|