Hi There,
First off, thanks for the Asus Merlin Firmware - It's awesome!
As an SNMP server (v2c), although the Asus Merlin SNMP server does answer a remote snmpwalk of the following UCD-SNMP-MIB::systemStats table, it strangely does not include the UCD-SNMP-MIB::ssCpuNumCpus.0 OID (which returns the number of CPU Cores in the router - Should return 2 for my router)
$ snmpwalk -v 2c -c <SNMP COMMUNITY> <ROUTER IP> UCD-SNMP-MIB::systemStats
UCD-SNMP-MIB::ssIndex.0 = INTEGER: 1
UCD-SNMP-MIB::ssErrorName.0 = STRING: systemStats
UCD-SNMP-MIB::ssSwapIn.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssSwapOut.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssIOSent.0 = INTEGER: 0 blocks/s
UCD-SNMP-MIB::ssIOReceive.0 = INTEGER: 0 blocks/s
UCD-SNMP-MIB::ssSysInterrupts.0 = INTEGER: 188 interrupts/s
UCD-SNMP-MIB::ssSysContext.0 = INTEGER: 4896 switches/s
UCD-SNMP-MIB::ssCpuUser.0 = INTEGER: 1
UCD-SNMP-MIB::ssCpuSystem.0 = INTEGER: 1
UCD-SNMP-MIB::ssCpuIdle.0 = INTEGER: 97
UCD-SNMP-MIB::ssCpuRawUser.0 = Counter32: 323666
UCD-SNMP-MIB::ssCpuRawNice.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawSystem.0 = Counter32: 303516
UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 28658661
UCD-SNMP-MIB::ssCpuRawWait.0 = Counter32: 22900
UCD-SNMP-MIB::ssCpuRawKernel.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawInterrupt.0 = Counter32: 0
UCD-SNMP-MIB::ssIORawSent.0 = Counter32: 0
UCD-SNMP-MIB::ssIORawReceived.0 = Counter32: 0
UCD-SNMP-MIB::ssRawInterrupts.0 = Counter32: 283879485
UCD-SNMP-MIB::ssRawContexts.0 = Counter32: 787936477
UCD-SNMP-MIB::ssCpuRawSoftIRQ.0 = Counter32: 323897
UCD-SNMP-MIB::ssRawSwapIn.0 = Counter32: 0
UCD-SNMP-MIB::ssRawSwapOut.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawSteal.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawGuest.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawGuestNice.0 = Counter32: 0
$ snmpwalk -v 2c -c <SNMP COMMUNITY> <ROUTER IP> UCD-SNMP-MIB::ssCpuNumCpus.0
UCD-SNMP-MIB::ssCpuNumCpus.0 = No Such Object available on this agent at this OID
This OID (to get the number of CPUs in the router) is useful when doing an snmpwalk across multiple (not just Asus Merlin routers) devices so that the average CPU Utilisation can be calculated as:
(HOST-RESOURCES-MIB::hrProcessorLoad.196608 + HOST-RESOURCES-MIB::hrProcessorLoad.196609 + HOST-RESOURCES-MIB::hrProcessorLoad.196610 + HOST-RESOURCES-MIB::hrProcessorLoad.196611) / UCD-SNMP-MIB::ssCpuNumCpus.0
Is there any reason why this OID is not returned? For other devices on my network, this OID is returned as expected...
FYI - I'm using Asus RT-AC88U - Firmware 384.6...
EDIT: Also updated to Firmware 384.7_2 and see the same issue...
Thanks!
First off, thanks for the Asus Merlin Firmware - It's awesome!
As an SNMP server (v2c), although the Asus Merlin SNMP server does answer a remote snmpwalk of the following UCD-SNMP-MIB::systemStats table, it strangely does not include the UCD-SNMP-MIB::ssCpuNumCpus.0 OID (which returns the number of CPU Cores in the router - Should return 2 for my router)
$ snmpwalk -v 2c -c <SNMP COMMUNITY> <ROUTER IP> UCD-SNMP-MIB::systemStats
UCD-SNMP-MIB::ssIndex.0 = INTEGER: 1
UCD-SNMP-MIB::ssErrorName.0 = STRING: systemStats
UCD-SNMP-MIB::ssSwapIn.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssSwapOut.0 = INTEGER: 0 kB
UCD-SNMP-MIB::ssIOSent.0 = INTEGER: 0 blocks/s
UCD-SNMP-MIB::ssIOReceive.0 = INTEGER: 0 blocks/s
UCD-SNMP-MIB::ssSysInterrupts.0 = INTEGER: 188 interrupts/s
UCD-SNMP-MIB::ssSysContext.0 = INTEGER: 4896 switches/s
UCD-SNMP-MIB::ssCpuUser.0 = INTEGER: 1
UCD-SNMP-MIB::ssCpuSystem.0 = INTEGER: 1
UCD-SNMP-MIB::ssCpuIdle.0 = INTEGER: 97
UCD-SNMP-MIB::ssCpuRawUser.0 = Counter32: 323666
UCD-SNMP-MIB::ssCpuRawNice.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawSystem.0 = Counter32: 303516
UCD-SNMP-MIB::ssCpuRawIdle.0 = Counter32: 28658661
UCD-SNMP-MIB::ssCpuRawWait.0 = Counter32: 22900
UCD-SNMP-MIB::ssCpuRawKernel.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawInterrupt.0 = Counter32: 0
UCD-SNMP-MIB::ssIORawSent.0 = Counter32: 0
UCD-SNMP-MIB::ssIORawReceived.0 = Counter32: 0
UCD-SNMP-MIB::ssRawInterrupts.0 = Counter32: 283879485
UCD-SNMP-MIB::ssRawContexts.0 = Counter32: 787936477
UCD-SNMP-MIB::ssCpuRawSoftIRQ.0 = Counter32: 323897
UCD-SNMP-MIB::ssRawSwapIn.0 = Counter32: 0
UCD-SNMP-MIB::ssRawSwapOut.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawSteal.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawGuest.0 = Counter32: 0
UCD-SNMP-MIB::ssCpuRawGuestNice.0 = Counter32: 0
$ snmpwalk -v 2c -c <SNMP COMMUNITY> <ROUTER IP> UCD-SNMP-MIB::ssCpuNumCpus.0
UCD-SNMP-MIB::ssCpuNumCpus.0 = No Such Object available on this agent at this OID
This OID (to get the number of CPUs in the router) is useful when doing an snmpwalk across multiple (not just Asus Merlin routers) devices so that the average CPU Utilisation can be calculated as:
(HOST-RESOURCES-MIB::hrProcessorLoad.196608 + HOST-RESOURCES-MIB::hrProcessorLoad.196609 + HOST-RESOURCES-MIB::hrProcessorLoad.196610 + HOST-RESOURCES-MIB::hrProcessorLoad.196611) / UCD-SNMP-MIB::ssCpuNumCpus.0
Is there any reason why this OID is not returned? For other devices on my network, this OID is returned as expected...
FYI - I'm using Asus RT-AC88U - Firmware 384.6...
EDIT: Also updated to Firmware 384.7_2 and see the same issue...
Thanks!
Last edited: