To extend an SNMP agent to include custom OIDs to monitor such metrics.

Stängt Publicerat 6 år sedan Betalades vid leverans
Stängt Betalades vid leverans

#!/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);

Perl Python

Projekt-id: #16213610

About the project

Distansprojekt Aktivt 6 år sedan