×


SNMPTT Service generates Cannot find module errors in Nagios

SNMPTT Service generates "Cannot find module" errors in Nagios when a MIB file contains spaces in the filename.

Here at Ibmi Media, as part of our Server Management Services, we regularly help our Customers to perform several Nagios queries.

In this context, we shall look into ways to resolve this Nagios error.


Nature of "Cannot find module" errors in Nagios

Recently, we had a customer who told us that, when he starts or restart the snmptt service, he receives the following output:

Starting snmptt: add_mibdir: strings scanned in from /usr/share/snmp/mibs/.index are too large. count = 49
Cannot find module (SNMPv2-TC): At line 8 in /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt
Cannot find module (IF-MIB): At line 12 in /usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt
Did not find ‘DisplayString’ in module #-1 (/usr/share/snmp/mibs/HOST-RESOURCES-MIB.txt)
……
Removed excessive lines from output as they are all similar
……
Cannot find module (SNMPv2-TM): At line 0 in (none)
Cannot find module (SNMPv2-TC): At line 25 in /usr/share/snmp/mibs/NET-SNMP-VACM-MIB.txt
Did not find ‘RowStatus’ in module #-1 (/usr/share/snmp/mibs/NET-SNMP-VACM-MIB.txt)
Did not find ‘StorageType’ in module #-1 (/usr/share/snmp/mibs/NET-SNMP-VACM-MIB.txt)
[ OK ]

Generally, this occurs when a MIB file contains spaces in the filename. The MIB files are in the /usr/share/snmp/mibs/ folder.


How to fix "Cannot find module" errors in Nagios ?

Apply the following tips to resolve this error.


1. Delete MIB and re-upload

i. We navigate to Admin > System Extensions > Manage MIBs

ii. Find the MIB with the space in the filename and click the X button to delete it

iii. Then to re-upload the file we use the Browse and Upload MIB button.

iv. If we use Nagios XI 5.4.0 and later, any spaces in the filename replace with an underscore

v. If it is Nagios XI before 5.4.0, we need to make sure the filename does not have any spaces before uploading it.


2. Rename MIB File

Initially, we establish a terminal session to Nagios XI server.

Then we rename the offending file and restart the snmptt service.

For example,

$ cd /usr/share/snmp/mibs
$ mv ‘NAGIOS NOTIFY MIB TEST.txt’ ‘NAGIOS-NOTIFY-MIB-TEST.txt’
$ service snmptt restart

Depending on the OS the command to restart the snmptt service will differ.


On RHEL 7+|CentOS 7+|Debian|Ubuntu 16/18/20:

$ systemctl restart snmptt.service

Once we restart the service, there will be no errors generated.

However, if the same error appears, we need to rename all files that have space in the filename.


[Finding it hard to reach this Nagios solution? We'd be happy to assist. ]


Conclusion

This article covers methods to fix "Cannot find module" errors in Nagios.

Basically, SNMPTT Service generates "Cannot find module" errors in Nagios when a MIB file contains spaces in the filename. 

The MIB files are located in the /usr/share/snmp/mibs/ folder.

This was identified as an issue and resolved in Nagios XI 5.4.0. As of version 5.4.0, when you upload MIBs via the Manage MIBs page the filename will have any spaces replaced with an underscore.