Update Vendor Support - Allied Telesis

Hi all,

I’m trying to add better support for Allied Telesis devices within LibreNMS.

I currently have a fork - github /mattie47/librenms where I’m trying to do this. Eventually I hope to do a PR back to librenms.

Libre has very basic support for Allied Telesis, with some mibs circa 2004.

I have the latest:

  • MIBs - github .com/mattie47/librenms/tree/master/mibs/alliedtelesis)
  • SVGs - github .com/mattie47/librenms/commit/79e2627b4f28d642c5d3a6da250d5d6122536290

and have deleted “allied.yaml” and “allied.inc.php”, along with the two mib files (AtiL2-MIB, AtiSwitch-MIB)

but am struggling with the new file I’ve created in /opt/librenms/includes/polling/os/alliedtelesis.inc.php file.

I’ve been trying to modify this accordingly with the current way Allied Telesis do Mibs, but I just don’t understand enough in this area.

Would someone be able to give me some help?’

Here’s a pastebin of the enterprise mib walk - pastebin.com/WjH5d9Q2
Note: I’ve run the command with translation, and then without (-On variable).

Here’s just the initial output from a generic SNMP Walk:

SNMPv2-MIB::sysDescr.0 = STRING: Allied Telesis router/switch, AW+ v5.4.7-1.5
SNMPv2-MIB::sysObjectID.0 = OID: AT-PRODUCT-MIB::atx93028GTX
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (60019) 0:10:00.19
SNMPv2-MIB::sysContact.0 = STRING: Matt
SNMPv2-MIB::sysName.0 = STRING: d2-x930
SNMPv2-MIB::sysLocation.0 = STRING: <LOCATION>
SNMPv2-MIB::sysServices.0 = INTEGER: 6
SNMPv2-MIB::sysORID.1 = OID: SNMP-FRAMEWORK-MIB::snmpFrameworkMIBCompliance
SNMPv2-MIB::sysORID.2 = OID: SNMP-MPD-MIB::snmpMPDCompliance
SNMPv2-MIB::sysORID.3 = OID: SNMP-USER-BASED-SM-MIB::usmMIBCompliance
SNMPv2-MIB::sysORID.4 = OID: TCP-MIB::tcpMIB
SNMPv2-MIB::sysORID.5 = OID: UDP-MIB::udpMIB
SNMPv2-MIB::sysORID.6 = OID: SNMP-VIEW-BASED-ACM-MIB::vacmBasicGroup
SNMPv2-MIB::sysORDescr.1 = STRING: The SNMP Management Architecture MIB.
SNMPv2-MIB::sysORDescr.2 = STRING: The MIB for Message Processing and Dispatching.
SNMPv2-MIB::sysORDescr.3 = STRING: The management information definitions for the SNMP User-based Security Model.
SNMPv2-MIB::sysORDescr.4 = STRING: The MIB module for managing TCP implementations
SNMPv2-MIB::sysORDescr.5 = STRING: The MIB module for managing UDP implementations
SNMPv2-MIB::sysORDescr.6 = STRING: View-based Access Control Model for SNMP.
SNMPv2-MIB::sysORUpTime.1 = Timeticks: (1) 0:00:00.01
SNMPv2-MIB::sysORUpTime.2 = Timeticks: (1) 0:00:00.01
SNMPv2-MIB::sysORUpTime.3 = Timeticks: (1) 0:00:00.01
SNMPv2-MIB::sysORUpTime.4 = Timeticks: (1) 0:00:00.01
SNMPv2-MIB::sysORUpTime.5 = Timeticks: (1) 0:00:00.01
SNMPv2-MIB::sysORUpTime.6 = Timeticks: (1) 0:00:00.01

From the above output:
Hardware: atx93028GTX - i.e. AT-x930-28GTX
Software: AW+
Version: 5.4.7-1.5

The following document explains how the Allied Telesis mibs are set up: alliedtelesis.com/sites/default/files/snmp_mibs_0.pdf

Sorry the links suck. As a new user I can only post 2 links…

Thanks!

Matt

It maybe better if you Open a PR in github.

Yeah you’re probably right.

Have created https://github.com/librenms/librenms/issues/7652.

Thanks,

Matt