To extend an SNMP agent to include custom OIDs to monitor such metrics.
kr70-192 SEK
Paid on delivery
#!/usr/bin/perl
use NetSNMP::agent (':all');
use NetSNMP::ASN qw(:all);
use NetSNMP::OID;
$| = 1; #disable the output buffering
sub hello_handler
{
my ($handler, $registration_info, $request_info, $requests) = @_;
my $request;
my $string_value = "requested OID is out of range";
for($request = $requests; $request; $request = $request->next())
{
my $oid = $request->getOID();
my @oidarray = split/[.]/,$oid;
my $lastoid = $oidarray[-1];
if ($request_info->getMode() == MODE_GET)
{
if ($oid == new NetSNMP::OID("1.3.6.1.4.1.4171.40.1"))
{
$request->setValue(ASN_COUNTER,time);
}
if ($oid > new NetSNMP::OID("1.3.6.1.4.1.4171.40.1"))
{
// Your Code
}
}
}
}
my $agent = new NetSNMP::agent();
$agent->register("<Your_name_or_something_else>", "1.3.6.1.4.1.4171.40", \&hello_handler);
Project ID: #16213610