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.
$ 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. ]