I have the following subroutine:
sub get_latest_avg {
my $host = shift;
my $rrd = shift;
my $type = shift;
+
my $snmp = Net::SNMP->session(
-hostname => $host,
-version => '1',
-community => $nodes{$host}->{community}, );
+
my $num = $snmp->get_request( -varbindlist => [$rrd{$rrd}{$type}]
+)
+ ;
+
my $avg = $num->{$rrd{$rrd}{$type}};
+
$snmp->close;
+
return $avg;
+
}
I call this subroutine from within another for loop:
for my $host(keys %nodes) {
for my $rrd(keys %rrd) {
my $avg = &get_latest_avg($host,$rrd,'free');
print $avg. "\n";
}
}
I've confirmed each of the variables are assigned correctly through various print statements in key places. What is unusual is that no matter how i order the keys of %rrd, only the first pass returns a valid value. The remaining passes over the other keys return '-1' as the value.
Your input is very appreciated. -c
-
Are you posting in the right place? Check out Where do I post X? to know for sure.
-
Posts may use any of the Perl Monks Approved HTML tags. Currently these include the following:
<code> <a> <b> <big>
<blockquote> <br /> <dd>
<dl> <dt> <em> <font>
<h1> <h2> <h3> <h4>
<h5> <h6> <hr /> <i>
<li> <nbsp> <ol> <p>
<small> <strike> <strong>
<sub> <sup> <table>
<td> <th> <tr> <tt>
<u> <ul>
-
Snippets of code should be wrapped in
<code> tags not
<pre> tags. In fact, <pre>
tags should generally be avoided. If they must
be used, extreme care should be
taken to ensure that their contents do not
have long lines (<70 chars), in order to prevent
horizontal scrolling (and possible janitor
intervention).
-
Want more info? How to link
or How to display code and escape characters
are good places to start.
|