VMware NSX-T and LibreNMS integration

Hi all

I’m trying to add in LibreNMS the monitoring of NSX-T components, like the Edge Transport Nodes.
I followed the instruction here: Support New OS

to do an initial detection of the new OS on the device, with no success.
I tried initially the script as following:

[email protected]:/opt/librenms# ./scripts/new-os.php -h 179 -o vmware-nsx -t network -v vmware

sysDescr: NSX-T 1.0.0 generic build 0000 VMware, Inc x86_64
sysObjectID: .

We already detect this device as OS vmware-esxi type, do you want to continue to add sensors? (Y/n) Y
ctrl+c to exit now otherwise please enter the MIB name including path (url is also fine) for us to check for sensors: /opt/librenms/mibs/vmware/V               MWARE-NSX-MIB
Unable to find a matching object identifier for ".*Table$"
Failed to create new discovery file /opt/librenms/includes/definitions/discovery/vmware-nsx.yaml
[email protected]:/opt/librenms#

Then I manually edited the YAML file “vmware-nsx.yam” as following:

os: vmware-nsx
text: 'NSX-T'
type: network
icon: bell
    - { graph: device_bits, text: 'Device Traffic' }
    - { graph: device_processor, text: 'CPU Usage' }
    - { graph: device_mempool, text: 'Memory Usage' }
    - sysObjectID:
        - .
    - sysDescr:
        - 'NSX-T 1.0.0 generic build 0000 VMware, Inc x86_64'

Everytime I run the discovery the device will be recognized as a classic VMware esxi device and not as something of different:

Updating os_def.cache
SQL[SELECT * FROM `devices` WHERE disabled = 0 AND `hostname` LIKE '' ORDER BY device_id DESC [] 1.2ms]

SQL[select * from `devices` where `device_id` = ? limit 1 [179] 0.64ms]

SQL[select * from `devices_attribs` where `devices_attribs`.`device_id` = ? and `devices_attribs`.`device_id` is not null [179] 0.64ms] 179 vmware-esxi [FPING] '/usr/bin/fping' '-e' '-q' '-c' '3' '-p' '500' '-t' '900' '-O' '0' ''

response: xmt/rcv/%loss = 3/3/0%, min/avg/max = 5.97/6.03/6.08
SNMP['/usr/bin/snmpget' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/vmware' '-v2c' '-c' 'COMMUNITY' '-OQXUte' 'udp:HOSTNAME:161' 'SNMPv2-MIB::sysObjectID.0']
SNMPv2-MIB::sysObjectID.0 = SNMPv2-SMI::enterprises.6876.4.10

Modules status: Global+
#### Load disco module core ####
Attempting to initialize OS: vmware-esxi
Attempting to initialize Group OS: unix
OS initialized: LibreNMS\OS\Shared\Unix
SNMP['/usr/bin/snmpget' '-M' '/opt/librenms/mibs:/opt/librenms/mibs/vmware' '-v2c' '-c' 'COMMUNITY' '-OQXUte' '-On' 'udp:HOSTNAME:161' 'SNMPv2-MIB::sysObjectID.0' 'SNMPv2-MIB::sysDescr.0' 'SNMPv2-MIB::sysName.0']
.*.*.0 = .*.4.1.6876.4.10
.*.*.0 = NSX-T 1.0.0 generic build 0000 VMware, Inc x86_64
.*.*.0 = edge-01-678

| NSX-T 1.0.0 generic build 0000 VMware, Inc x86_64 | . |

OS: VMware ESXi (vmware-esxi)

It seems that the sysObjectID value in the YAML will be ignored.
I tried to modify the above YAML as following, unfortunately with no differences on the result:

  • w/wout the first row “mib:…”
  • w/wout the second discovery criteria “sysDescr”
  • with “sysDescr” = NSX, NSX-T, NSX-T 1.0…
  • with “sysObjectID” = . , . , .

Could someone help me to work on the integration of the NSX-T MIBs on LibreNMS ?
Thanks a lot, kind regards


Have you tried turning off the regular esxi discovery for the time being? Maybe its a first hit - exit scenario

Thanks for your reply.
no i didn’t, could you explain plz how do it?

I have no idea, but simplest would probably to move away the esxi yaml file so it can’t perform that discovery.
Or adjust it to not match your NSX config
Or adjust it to include your NSX config if its similar enough

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.