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