diff options
author | Kristian Lyngstol <kly@kly.no> | 2016-03-13 21:04:44 +0000 |
---|---|---|
committer | Kristian Lyngstol <kly@kly.no> | 2016-03-13 21:04:44 +0000 |
commit | fa904ae8efda6a72ac778a524e3d7045a3b3040c (patch) | |
tree | 0c3338588cce83a76b2b940f7de8f8e2b9cb20aa | |
parent | 1bac508fd56b72adf01643708ff0cbb2c4dec4e0 (diff) | |
parent | a57fe6b9a707222e0ca1b4e18a542b5b179e6b72 (diff) |
Merge branch 'master' of ssh://github.com/tech-server/tgmanage
-rw-r--r-- | nms/Dockerfile.in | 1 | ||||
-rwxr-xr-x | nms/prototype/foo.pl | 48 |
2 files changed, 49 insertions, 0 deletions
diff --git a/nms/Dockerfile.in b/nms/Dockerfile.in index 59a1cef..b1d2140 100644 --- a/nms/Dockerfile.in +++ b/nms/Dockerfile.in @@ -28,6 +28,7 @@ RUN apt-get update && apt-get -y install \ httpie \ locales \ screen \ + openssh-server \ pkg-config VOLUME [ "/sys/fs/cgroup" ] diff --git a/nms/prototype/foo.pl b/nms/prototype/foo.pl new file mode 100755 index 0000000..0dfd8ba --- /dev/null +++ b/nms/prototype/foo.pl @@ -0,0 +1,48 @@ +#!/usr/bin/perl + +use strict; +use warnings; +use SNMP; +use Data::Dumper; + +SNMP::initMib(); +SNMP::addMibDirs("/srv/tgmanage/mibs"); +#SNMP::addMibDirs("/tmp/tmp.X6Xt4LvFKn/v2"); +SNMP::loadModules('SNMPv2-MIB'); +SNMP::loadModules('ENTITY-MIB'); +SNMP::loadModules('IF-MIB'); +SNMP::loadModules('LLDP-MIB'); +SNMP::loadModules('IP-MIB'); +SNMP::loadModules('IP-FORWARD-MIB'); + +my $sess = SNMP::Session->new(DestHost => 'localhost', Community => 'public', Version => 2, UseEnums => 1); + +my @getThese = [['ifTable'], ['ifXTable']]; + +while(1) { + $sess->bulkwalk(0, 10, @getThese, \&callback); + SNMP::MainLoop(10); +} + +sub callback{ + my @top = $_[0]; + my %tree; + my %nics; + my @nicids; + for my $ret (@top) { + for my $var (@{$ret}) { + for my $inner (@{$var}) { + my ($tag,$type,$name,$iid, $val) = ( $inner->tag ,$inner->type , $inner->name, $inner->iid, $inner->val); + $tree{$iid}{$tag} = $val; + if ($tag eq "ifIndex") { + push @nicids, $iid; + } + } + } + } + + for my $nic (@nicids) { + $nics{$tree{$nic}{'ifName'}} = $tree{$nic}; + } + print Dumper(\%nics); +} |