initial commit; version 22.5.12042
This commit is contained in:
42
scripts/ifAlias_persist
Normal file
42
scripts/ifAlias_persist
Normal file
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/perl -w
|
||||
|
||||
# SNMP::Extension::PassPersist is required.
|
||||
# This is in the package libsnmp-extension-passpersist-perl on Debian and Ubuntu
|
||||
# Usage : Copy the script to /usr/bin/ifAlias_persist and add to /etc/snmp/snmpd.conf
|
||||
# pass_persist .1.3.6.1.2.1.31.1.1.1.18 /usr/bin/ifAlias_persist
|
||||
|
||||
use strict;
|
||||
use SNMP::Extension::PassPersist;
|
||||
|
||||
|
||||
# create the object
|
||||
my $extsnmp = SNMP::Extension::PassPersist->new(
|
||||
backend_collect => \&update_tree,
|
||||
idle_count => 10, # no more than 10 idle cycles
|
||||
refresh => 60, # refresh every 60 sec
|
||||
);
|
||||
|
||||
# run the program
|
||||
$extsnmp->run;
|
||||
|
||||
sub update_tree {
|
||||
my ($self) = @_;
|
||||
|
||||
|
||||
my $Base = ".1.3.6.1.2.1.31.1.1.1.18";
|
||||
my @iface_list = `ip l | grep mtu`;
|
||||
my $type = "string";
|
||||
|
||||
foreach my $row (@iface_list){
|
||||
my @split = split(": ", $row);
|
||||
my $desc = `grep "^# $split[1]:" /etc/network/interfaces|sed s/^\\#\\ $split[1]:\\ //`;
|
||||
chomp($desc);
|
||||
my ($key, $value) = ("$Base.$split[0]",$desc);
|
||||
$self->add_oid_entry($key,$type,$value);
|
||||
}
|
||||
# $extsnmp->dump_oid_tree();
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
Reference in New Issue
Block a user