opensolutions / OSS_SNMP

A PHP SNMP library for people who hate SNMP, MIBs and OIDs!
https://github.com/opensolutions/OSS_SNMP/wiki
Other
107 stars 58 forks source link

Cisco Nexus 9396 #34

Closed MHammett closed 7 years ago

MHammett commented 7 years ago

root@Indy-IXPM:/home/mhammett# snmpget -c [redacted] -On -v 2c [redacted] .1.3.6.1.2.1.1.1.0 .1.3.6.1.2.1.1.1.0 = STRING: "Cisco NX-OS(tm) n9000, Software (n9000-dk9), Version 6.1(2)I2(2b), RELEASE SOFTWARE Copyright (c) 2002-2013 by Cisco Systems, Inc. Compiled 8/7/2014 15:00:00" root@Indy-IXPM:/home/mhammett# snmpget -c [redacted] -On -v 2c [redacted] .1.3.6.1.2.1.1.2.0 .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.9.12.3.1.3.1508

I'm not sure which OID is needed, but they all had the same response:

root@Indy-IXPM:/home/mhammett# snmpwalk -c [redacted] -On -v 2c [redacted] | grep SAL1833YM4Y .1.3.6.1.2.1.47.1.1.1.1.11.10 = STRING: "SAL1833YM4Y" .1.3.6.1.2.1.47.1.1.1.1.11.22 = STRING: "SAL1833YM4Y" .1.3.6.1.2.1.47.1.1.1.1.11.149 = STRING: "SAL1833YM4Y" root@Indy-IXPM:/home/mhammett# ^C root@Indy-IXPM:/home/mhammett# snmpget -c [redacted] -On -v 2c [redacted] .1.3.6.1.2.1.47.1.1.1.1.11.149 .1.3.6.1.2.1.47.1.1.1.1.11.149 = STRING: "SAL1833YM4Y" root@Indy-IXPM:/home/mhammett# snmpget -c [redacted] -On -v 2c [redacted] .1.3.6.1.2.1.47.1.1.1.1.11.10 .1.3.6.1.2.1.47.1.1.1.1.11.10 = STRING: "SAL1833YM4Y" root@Indy-IXPM:/home/mhammett# snmpget -c [redacted] -On -v 2c [redacted] .1.3.6.1.2.1.47.1.1.1.1.11.22 .1.3.6.1.2.1.47.1.1.1.1.11.22 = STRING: "SAL1833YM4Y"

barryo commented 7 years ago

@MHammett

I've pushed a commit to recognise this but two issues:

  1. the model number cannot be identified from the sys desc. I'll try and add to this by using .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.9.12.3.1.3.1508 when I have a chance.

  2. You say: "I'm not sure which OID is needed, but they all had the same response" - could you dig into with with Cisco / Cisco docs and find the correct one?

Thanks, Barry

MHammett commented 7 years ago

I'm having a tough time duplicating, but someone on Cisco-NSP was able to follow the OID chain to get a real model number.

https://puck.nether.net/pipermail/cisco-nsp/2017-February/104635.html

I've gone and looked for as much information as I could find on this.

Per that thread, it looks like Cisco's ENTITY-MIB is the "most" helpful in explaining what things are.

I do plan on submitting TAC request on the device not responding to the OID specified in sysObjectID .

snmpbulkwalk -c [redacted] -v 2c [redacted] ENTITY-MIB::entPhysicalModelName

ENTITY-MIB::entPhysicalModelName.10 = STRING: N9K-C9396PX ENTITY-MIB::entPhysicalModelName.22 = STRING: N9K-C9396PX ENTITY-MIB::entPhysicalModelName.23 = STRING: N9K-M12PQ ENTITY-MIB::entPhysicalModelName.149 = STRING: N9K-C9396PX ENTITY-MIB::entPhysicalModelName.214 = STRING: ModuleSlot ENTITY-MIB::entPhysicalModelName.215 = STRING: ModuleSlot ENTITY-MIB::entPhysicalModelName.278 = STRING: PowerSupplyBay-1 ENTITY-MIB::entPhysicalModelName.279 = STRING: PowerSupplyBay-2 ENTITY-MIB::entPhysicalModelName.342 = STRING: FanBay-1 ENTITY-MIB::entPhysicalModelName.343 = STRING: FanBay-2 ENTITY-MIB::entPhysicalModelName.344 = STRING: FanBay-3 ENTITY-MIB::entPhysicalModelName.470 = STRING: N9K-PAC-650W-B ENTITY-MIB::entPhysicalModelName.471 = STRING: N9K-PAC-650W-B ENTITY-MIB::entPhysicalModelName.534 = STRING: N9K-C9300-FAN2-B ENTITY-MIB::entPhysicalModelName.535 = STRING: N9K-C9300-FAN2-B ENTITY-MIB::entPhysicalModelName.536 = STRING: N9K-C9300-FAN2-B ENTITY-MIB::entPhysicalModelName.598 = STRING:

snmpbulkwalk -c [redacted] -v 2c [redacted] ENTITY-MIB::entPhysicalDescr

ENTITY-MIB::entPhysicalDescr.10 = STRING: Fabric Stack Root ENTITY-MIB::entPhysicalDescr.22 = STRING: 1/10G SFP+ Ethernet Module ENTITY-MIB::entPhysicalDescr.23 = STRING: 40G Ethernet Expansion Module ENTITY-MIB::entPhysicalDescr.149 = STRING: N9K-C9396PX ENTITY-MIB::entPhysicalDescr.214 = STRING: LinecardSlot-1 ENTITY-MIB::entPhysicalDescr.215 = STRING: LinecardSlot-2 ENTITY-MIB::entPhysicalDescr.278 = STRING: PowerSupplyBay-1 ENTITY-MIB::entPhysicalDescr.279 = STRING: PowerSupplyBay-2 ENTITY-MIB::entPhysicalDescr.342 = STRING: FanBay-1 ENTITY-MIB::entPhysicalDescr.343 = STRING: FanBay-2 ENTITY-MIB::entPhysicalDescr.344 = STRING: FanBay-3 ENTITY-MIB::entPhysicalDescr.470 = STRING: N9K-PAC-650W-B-1 ENTITY-MIB::entPhysicalDescr.471 = STRING: N9K-PAC-650W-B-2 ENTITY-MIB::entPhysicalDescr.534 = STRING: Fan Module-1 ENTITY-MIB::entPhysicalDescr.535 = STRING: Fan Module-2 ENTITY-MIB::entPhysicalDescr.536 = STRING: Fan Module-3 ENTITY-MIB::entPhysicalDescr.598 = STRING: module-1 processor-1

snmpbulkwalk -c [redacted] -v 2c [redacted] ENTITY-MIB::entPhysicalSerialNum

ENTITY-MIB::entPhysicalSerialNum.10 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.22 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.23 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.149 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.214 = STRING: ENTITY-MIB::entPhysicalSerialNum.215 = STRING: ENTITY-MIB::entPhysicalSerialNum.278 = STRING: ENTITY-MIB::entPhysicalSerialNum.279 = STRING: ENTITY-MIB::entPhysicalSerialNum.342 = STRING: ENTITY-MIB::entPhysicalSerialNum.343 = STRING: ENTITY-MIB::entPhysicalSerialNum.344 = STRING: ENTITY-MIB::entPhysicalSerialNum.470 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.471 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.534 = STRING: ENTITY-MIB::entPhysicalSerialNum.535 = STRING: ENTITY-MIB::entPhysicalSerialNum.536 = STRING: ENTITY-MIB::entPhysicalSerialNum.598 = STRING:

show inventory

NAME: "Chassis", DESCR: "Nexus9000 C9396PX Chassis" PID: N9K-C9396PX , VID: V03 , SN: [redacted]

NAME: "Slot 1", DESCR: "1/10G SFP+ Ethernet Module" PID: N9K-C9396PX , VID: V03 , SN: [redacted]

NAME: "Slot 2", DESCR: "40G Ethernet Expansion Module" PID: N9K-M12PQ , VID: V01 , SN: [redacted]

NAME: "Power Supply 1", DESCR: "Nexus9000 C9396PX Chassis Power Supply" PID: N9K-PAC-650W-B , VID: V01 , SN: [redacted]

NAME: "Power Supply 2", DESCR: "Nexus9000 C9396PX Chassis Power Supply" PID: N9K-PAC-650W-B , VID: V01 , SN: [redacted]

NAME: "Fan 1", DESCR: "Nexus9000 C9396PX Chassis Fan Module" PID: N9K-C9300-FAN2-B , VID: V01 , SN: N/A

NAME: "Fan 2", DESCR: "Nexus9000 C9396PX Chassis Fan Module" PID: N9K-C9300-FAN2-B , VID: V01 , SN: N/A

NAME: "Fan 3", DESCR: "Nexus9000 C9396PX Chassis Fan Module" PID: N9K-C9300-FAN2-B , VID: V01 , SN: N/A

snmpbulkwalk -c [redacted]-v 2c [redacted] ENTITY-MIB::entPhysicalModelName

ENTITY-MIB::entPhysicalModelName.10 = STRING: N3K-C3548P-10GX ENTITY-MIB::entPhysicalModelName.22 = STRING: N3K-C3548P-10GX ENTITY-MIB::entPhysicalModelName.149 = STRING: N3K-C3548P-10GX ENTITY-MIB::entPhysicalModelName.214 = STRING: FixedSlot ENTITY-MIB::entPhysicalModelName.278 = STRING: PowerSupplyBay-1 ENTITY-MIB::entPhysicalModelName.279 = STRING: PowerSupplyBay-2 ENTITY-MIB::entPhysicalModelName.342 = STRING: FanBay-1 ENTITY-MIB::entPhysicalModelName.470 = STRING: N2200-PAC-400W ENTITY-MIB::entPhysicalModelName.471 = STRING: N2200-PAC-400W ENTITY-MIB::entPhysicalModelName.534 = STRING: NXA-FAN-30CFM ENTITY-MIB::entPhysicalModelName.535 = STRING: NXA-FAN-30CFM ENTITY-MIB::entPhysicalModelName.536 = STRING: NXA-FAN-30CFM ENTITY-MIB::entPhysicalModelName.537 = STRING: NXA-FAN-30CFM ENTITY-MIB::entPhysicalModelName.539 = STRING: N2200-PAC-400W ENTITY-MIB::entPhysicalModelName.540 = STRING: N2200-PAC-400W

snmpbulkwalk -c [redacted] -v 2c [redacted] ENTITY-MIB::entPhysicalDescr

ENTITY-MIB::entPhysicalDescr.10 = STRING: Fabric ENTITY-MIB::entPhysicalDescr.22 = STRING: 48x10GE Supervisor in Fixed Module-1 ENTITY-MIB::entPhysicalDescr.149 = STRING: Nexus 3548 Chassis ENTITY-MIB::entPhysicalDescr.214 = STRING: Fixed Slot-1 ENTITY-MIB::entPhysicalDescr.278 = STRING: PowerSupplyBay-1 ENTITY-MIB::entPhysicalDescr.279 = STRING: PowerSupplyBay-2 ENTITY-MIB::entPhysicalDescr.342 = STRING: FanBay-1 ENTITY-MIB::entPhysicalDescr.470 = STRING: N2200-PAC-400W ENTITY-MIB::entPhysicalDescr.471 = STRING: N2200-PAC-400W ENTITY-MIB::entPhysicalDescr.534 = STRING: FanModule-1 ENTITY-MIB::entPhysicalDescr.535 = STRING: FanModule-2 ENTITY-MIB::entPhysicalDescr.536 = STRING: FanModule-3 ENTITY-MIB::entPhysicalDescr.537 = STRING: FanModule-4 ENTITY-MIB::entPhysicalDescr.539 = STRING: PowerSupply-1 Fan-1 ENTITY-MIB::entPhysicalDescr.540 = STRING: PowerSupply-2 Fan-1

snmpbulkwalk -c [redacted] -v 2c [redacted] ENTITY-MIB::entPhysicalSerialNum

ENTITY-MIB::entPhysicalSerialNum.10 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.22 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.149 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.214 = STRING: ENTITY-MIB::entPhysicalSerialNum.278 = STRING: ENTITY-MIB::entPhysicalSerialNum.279 = STRING: ENTITY-MIB::entPhysicalSerialNum.342 = STRING: ENTITY-MIB::entPhysicalSerialNum.470 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.471 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.534 = STRING: ENTITY-MIB::entPhysicalSerialNum.535 = STRING: ENTITY-MIB::entPhysicalSerialNum.536 = STRING: ENTITY-MIB::entPhysicalSerialNum.537 = STRING: ENTITY-MIB::entPhysicalSerialNum.539 = STRING: [redacted] ENTITY-MIB::entPhysicalSerialNum.540 = STRING: [redacted]

show inventory

NAME: "Chassis", DESCR: "Nexus 3548 Chassis" PID: N3K-C3548P-10GX , VID: V01 , SN: [redacted]

NAME: "Module 1", DESCR: "48x10GE Supervisor" PID: N3K-C3548P-10GX , VID: V01 , SN: [redacted]

NAME: "Fan 1", DESCR: "Chassis fan module" PID: NXA-FAN-30CFM-F , VID: N/A , SN: N/A

NAME: "Fan 2", DESCR: "Chassis fan module" PID: NXA-FAN-30CFM-F , VID: N/A , SN: N/A

NAME: "Fan 3", DESCR: "Chassis fan module" PID: NXA-FAN-30CFM-F , VID: N/A , SN: N/A

NAME: "Fan 4", DESCR: "Chassis fan module" PID: NXA-FAN-30CFM-F , VID: N/A , SN: N/A

NAME: "Power supply 1", DESCR: "AC power supply" PID: N2200-PAC-400W , VID: V05 , SN: [redacted]

NAME: "Power supply 2", DESCR: "AC power supply" PID: N2200-PAC-400W , VID: V05 , SN: [redacted]

MHammett commented 7 years ago

https://supportforums.cisco.com/discussion/11591541/model-number-oid

Here's a post from Cisco on why they don't answer properly.

MHammett commented 7 years ago

Is there anything I can do to move this forward? Having full support for the Nexus switches (common in IXPs) would be nice.

barryo commented 7 years ago

I have this as recognising the model as n9000 but I'm afraid I don't have the time to step through the above. If you want to open a PR implementing the above I'm happy to merge it in. Otherwise, n9000 will have to do I'm afraid.

MHammett commented 7 years ago

n9000 is fine by me, partially because I'm lazy, partially because I wouldn't know what I was doing and partially because it's close enough.

MHammett commented 7 years ago

2017-04-18T11:13:11-05:00 DEBUG (7) [65.182.164.62]: Logger instantiated [2017-04-18 11:13:11] production.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Call to undefined method OSS_SNMP\Platform::setSNMPHost() in /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/Platform.php:105 Stack trace:

0 /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/SNMP.php(941): OSS_SNMP\Platform->__construct(Object(OSS_SNMP\SNMP))

1 /srv/ixpmanager/database/Entities/Switcher.php(612): OSS_SNMP\SNMP->getPlatform()

2 /srv/ixpmanager/application/controllers/SwitchPortController.php(545): Entities\Switcher->snmpPoll(Object(OSS_SNMP\SNMP), Object(OSS_Log))

3 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Action.php(516): SwitchPortController->snmpPollAction()

4 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('snmpPollAction')

5 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))

6 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch()

7 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run()

8 /srv/ixpmanager/app/Exceptions/Handler.php(59): Zend_Application->run()

9 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(82): IXP\Exceptions\Handler->render(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))

10 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Routing\Pipeline->handleException(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))

11 /srv/ixpmanager/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php(51): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

12 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Barryvdh\Debugbar\Middleware\Debugbar->handle(Object(Illuminate\Http\Request), Object(Closure))

13 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

14 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

15 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

16 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

17 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

18 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

19 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

20 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

21 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))

22 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

23 /srv/ixpmanager/app/Http/Middleware/UrlResolver.php(58): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

24 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): IXP\Http\Middleware\UrlResolver->handle(Object(Illuminate\Http\Request), Object(Closure))

25 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

26 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

27 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))

28 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

29 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

30 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(149): Illuminate\Pipeline\Pipeline->then(Object(Closure))

31 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))

32 /srv/ixpmanager/public/index.php(84): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))

33 {main}

2017-04-18T11:17:09-05:00 DEBUG (7) [65.182.164.62]: Logger instantiated [2017-04-18 11:17:09] production.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Call to undefined method OSS_SNMP\Platform::setSNMPHost() in /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/Platform.php:105 Stack trace:

0 /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/SNMP.php(941): OSS_SNMP\Platform->__construct(Object(OSS_SNMP\SNMP))

1 /srv/ixpmanager/database/Entities/Switcher.php(612): OSS_SNMP\SNMP->getPlatform()

2 /srv/ixpmanager/application/controllers/SwitchPortController.php(545): Entities\Switcher->snmpPoll(Object(OSS_SNMP\SNMP), Object(OSS_Log))

3 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Action.php(516): SwitchPortController->snmpPollAction()

4 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('snmpPollAction')

5 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))

6 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch()

7 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run()

8 /srv/ixpmanager/app/Exceptions/Handler.php(59): Zend_Application->run()

9 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(82): IXP\Exceptions\Handler->render(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))

10 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Routing\Pipeline->handleException(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))

11 /srv/ixpmanager/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php(51): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

12 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Barryvdh\Debugbar\Middleware\Debugbar->handle(Object(Illuminate\Http\Request), Object(Closure))

13 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

14 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

15 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

16 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

17 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

18 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

19 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

20 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

21 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))

22 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

23 /srv/ixpmanager/app/Http/Middleware/UrlResolver.php(58): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

24 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): IXP\Http\Middleware\UrlResolver->handle(Object(Illuminate\Http\Request), Object(Closure))

25 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

26 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

27 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))

28 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

29 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

30 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(149): Illuminate\Pipeline\Pipeline->then(Object(Closure))

31 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))

32 /srv/ixpmanager/public/index.php(84): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))

33 {main}

2017-04-18T11:17:12-05:00 DEBUG (7) [65.182.164.62]: Logger instantiated [2017-04-18 11:17:12] production.ERROR: Symfony\Component\Debug\Exception\FatalThrowableError: Call to undefined method OSS_SNMP\Platform::setSNMPHost() in /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/Platform.php:105 Stack trace:

0 /srv/ixpmanager/vendor/opensolutions/oss-snmp/src/OSS_SNMP/SNMP.php(941): OSS_SNMP\Platform->__construct(Object(OSS_SNMP\SNMP))

1 /srv/ixpmanager/database/Entities/Switcher.php(612): OSS_SNMP\SNMP->getPlatform()

2 /srv/ixpmanager/application/controllers/SwitchPortController.php(545): Entities\Switcher->snmpPoll(Object(OSS_SNMP\SNMP), Object(OSS_Log))

3 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Action.php(516): SwitchPortController->snmpPollAction()

4 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Dispatcher/Standard.php(308): Zend_Controller_Action->dispatch('snmpPollAction')

5 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Controller/Front.php(954): Zend_Controller_Dispatcher_Standard->dispatch(Object(Zend_Controller_Request_Http), Object(Zend_Controller_Response_Http))

6 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application/Bootstrap/Bootstrap.php(105): Zend_Controller_Front->dispatch()

7 /srv/ixpmanager/vendor/zendframework/zendframework1/library/Zend/Application.php(384): Zend_Application_Bootstrap_Bootstrap->run()

8 /srv/ixpmanager/app/Exceptions/Handler.php(59): Zend_Application->run()

9 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(82): IXP\Exceptions\Handler->render(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))

10 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(32): Illuminate\Routing\Pipeline->handleException(Object(Illuminate\Http\Request), Object(Symfony\Component\HttpKernel\Exception\NotFoundHttpException))

11 /srv/ixpmanager/vendor/barryvdh/laravel-debugbar/src/Middleware/Debugbar.php(51): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

12 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Barryvdh\Debugbar\Middleware\Debugbar->handle(Object(Illuminate\Http\Request), Object(Closure))

13 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

14 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

15 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

16 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

17 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/TransformsRequest.php(30): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

18 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(Object(Illuminate\Http\Request), Object(Closure))

19 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

20 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/ValidatePostSize.php(27): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

21 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\ValidatePostSize->handle(Object(Illuminate\Http\Request), Object(Closure))

22 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

23 /srv/ixpmanager/app/Http/Middleware/UrlResolver.php(58): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

24 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): IXP\Http\Middleware\UrlResolver->handle(Object(Illuminate\Http\Request), Object(Closure))

25 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

26 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Middleware/CheckForMaintenanceMode.php(46): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

27 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(148): Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode->handle(Object(Illuminate\Http\Request), Object(Closure))

28 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Routing/Pipeline.php(53): Illuminate\Pipeline\Pipeline->Illuminate\Pipeline{closure}(Object(Illuminate\Http\Request))

29 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Pipeline/Pipeline.php(102): Illuminate\Routing\Pipeline->Illuminate\Routing{closure}(Object(Illuminate\Http\Request))

30 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(149): Illuminate\Pipeline\Pipeline->then(Object(Closure))

31 /srv/ixpmanager/vendor/laravel/framework/src/Illuminate/Foundation/Http/Kernel.php(116): Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(Object(Illuminate\Http\Request))

32 /srv/ixpmanager/public/index.php(84): Illuminate\Foundation\Http\Kernel->handle(Object(Illuminate\Http\Request))

33 {main}

barryo commented 7 years ago

Shite, committed an error - now fixed.

MHammett commented 7 years ago

It no longer craps out when polling the switches.

The 3548 shows the unused optics, whereas the 9000 does not. I'm checking out it's support of the IANA MAU MIB.

The MAC address page craps out.

stl ixpm mac address page basic

I also can't get the switches to add if I give a different hostname\name. Is there some logging I can increase the verbosity of to get that sort of information? laravel.log had when I was SNMP polling the existing switches, but nothing when trying to add the new ones.

MHammett commented 7 years ago

I got a different error this time on the 9396 and the 3548. Maybe I had a typo in a previous attempt.

Could not interpret switch system description string - most likely because no platform interpretor exists for it.

Please see this OSS_SNMP page and consider adding one.

Otherwise use the the manual add method.

barryo commented 7 years ago

Can you confirm the system descriptions?

MHammett commented 7 years ago

It looks like Cisco changed stuff....

root@ixpm:/srv/ixpmanager# snmpget -c MwIX -On -v 2c 210-9396 .1.3.6.1.2.1.1.1.0 .1.3.6.1.2.1.1.1.0 = STRING: "Cisco NX-OS(tm) nxos.7.0.3.I2.3.bin, Software (nxos), Version 7.0(3)I2(3), RELEASE SOFTWARE Copyright (c) 2002-2013 by Cisco Systems, Inc. Compiled 3/19/2016 22:00:00" root@ixpm:/srv/ixpmanager# snmpget -c MwIX -On -v 2c 210-9396 .1.3.6.1.2.1.1.2.0 .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.9.12.3.1.3.1508 root@ixpm:/srv/ixpmanager# snmpget -c MwIX -On -v 2c 900-3548 .1.3.6.1.2.1.1.1.0 .1.3.6.1.2.1.1.1.0 = STRING: "Cisco NX-OS(tm) n3500, Software (n3500-uk9), Version 6.0(2)A6(3), RELEASE SOFTWARE Copyright (c) 2002-2012 by Cisco Systems, Inc. Compiled 7/1/2015 10:00:00" root@ixpm:/srv/ixpmanager# snmpget -c MwIX -On -v 2c 900-3548 .1.3.6.1.2.1.1.2.0 .1.3.6.1.2.1.1.2.0 = OID: .1.3.6.1.4.1.9.12.3.1.3.1666

MHammett commented 7 years ago

The 9000 adds correctly, but the 3548 still fails with that same error.

Could not interpret switch system description string - most likely because no platform interpretor exists for it.

Please see this OSS_SNMP page and consider adding one.

Otherwise use the the manual add method.

barryo commented 7 years ago

@MHammett - I have a specific unit test (see here) for the sys desc you gave me for the 3548 and it's passing. So possibilities are:

Separately, this is neither an INEX nor an IXP Manager project so not appropriate for IXP Manager issues re a few posts above.

nschrenk commented 7 years ago

I believe the problem here was that the sysDescr that @MHammett pasted had some adjacent spaces collapsed. I investigated this issue and found the specific switch Mike is using returns a sysDescr string with three spaces prior to the "Compiled" portion of the string. I submitted a pull request to modify the regexp to allow a variable number of spaces in this location of the string.

barryo commented 7 years ago

Thanks @nschrenk - pulled and merged 🍻