SNMP::Persist - The SNMP pass_persist threaded backend
Version 0.05
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>
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.
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 the base oid for a mib subtree controlled by a script
Create or update the subtree data
Anna Wiejak, <anias at popoludnica.pl>
<anias at popoludnica.pl>
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.
bug-snmp-persist at rt.cpan.org
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
http://annocpan.org/dist/SNMP-Persist
CPAN Ratings
http://cpanratings.perl.org/d/SNMP-Persist
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=SNMP-Persist
Search CPAN
http://search.cpan.org/dist/SNMP-Persist
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.
To install SNMP::Persist, copy and paste the appropriate command in to your terminal.
cpanm
cpanm SNMP::Persist
CPAN shell
perl -MCPAN -e shell install SNMP::Persist
For more information on module installation, please visit the detailed CPAN module installation guide.