Troubleshooting SNMP Trap Processing Errors in the Event Console

Troubleshooting SNMP Trap Processing Errors in the Event Console

This article explains how to diagnose and resolve SNMP trap processing errors in the Event Console that are caused by invalid or duplicate entries in compiled MIB files.

APPLICABLE TO ALL CHECKMK VERSIONS

Table of Contents

Overview

This article describes how to troubleshoot SNMP trap decoding issues in the Event Console, including problems caused by invalid ASCII or UTF-8 string definitions in MIBs as well as structural errors in compiled MIB files that prevent proper OID translation.

 

Problem

SNMP traps received by the Event Console may show one or more of the following symptoms:

  • Trap text appears as long hexadecimal strings instead of readable text

  • OIDs are not translated into symbolic names

  • Errors appear in var/log/mkeventd.log

  • MIB modules fail to load completely

 

Two common log patterns are shown below.

Example 1: OID translation failure

2026-02-12 00:00:23,801 [30] [cmk.mkeventd.EventServer.snmp] Failed to translate OIDs, no modules loaded

 

Example 2: MIB loading exception

2026-02-12 18:43:14,830 [20] [cmk.mkeventd.EventServer.snmp] Exception while loading MIB modules. Proceeding without modules! ... pyasn1.error.PyAsn1Error: Duplicate name deviceTypeIsDDR4

 

You may also see:

  • MibLoadError

  • Duplicate name

  • Failed to translate OIDs

 

Root Causes

There are two common root causes for this behavior.

Invalid string definitions in the MIB (ASCII vs UTF-8 issue)

Some devices send traps containing UTF-8 encoded characters such as umlauts. However, the corresponding MIB defines the field as a DisplayString.

According to RFC 1213:

DisplayString ::= OCTET STRING -- textual information taken from the NVT ASCII character set -- SIZE (0..255)

 

A DisplayString:

  • Must contain ASCII only

  • Must not exceed 255 characters


If the device sends:

  • UTF-8 characters greater than 127

  • Multi-byte characters such as "ö"

  • Strings longer than 255 characters

then the trap violates the MIB definition.


In such cases:

  • The SNMP decoder cannot safely interpret the encoding

  • The string may be shown as hexadecimal

  • The trap may partially decode but appear incorrect

This is a vendor MIB inconsistency. The MIB definition and the device behavior do not match.


Structural errors in compiled MIB files

Another common cause is a structurally invalid compiled MIB file located under:

~/local/share/check_mk/compiled_mibs/

 

Example problematic file:

/omd/sites/mysite/local/share/check_mk/compiled_mibs/MIB-Dell-10892.py

 

The file contains a duplicate symbolic name inside DellMemoryDeviceType:

("deviceTypeIsDDR4", 26), ("deviceTypeIsDDR4", 34)

This violates the pyasn1 NamedValues uniqueness constraint. Each symbolic name must map to exactly one numeric value.

 

As a result:

  • The MIB module fails to load

  • The SNMP subsystem aborts module loading

  • OID translation fails

  • The Event Console continues without loaded modules

 

Verification

Check the Event Console log

OMD[mysite]~$ tail -f ~/var/log/mkeventd.log

 

Look for:

  • Duplicate name

  • Failed to translate OIDs

  • Exception while loading MIB modules

  • MibLoadError

 

Inspect compiled MIB files

~/local/share/check_mk/compiled_mibs/

 

Search for:

  • Duplicate symbolic names

  • Syntax inconsistencies

  • Recently added or modified MIB files

 

Solution

The solution depends on the identified root cause.

If the issue is an invalid DisplayString definition

Possible approaches:

  • Request a corrected MIB from the device manufacturer.

  • Modify the MIB to use an appropriate TEXTUAL-CONVENTION with a proper DISPLAY-HINT.

  • Accept that the trap will be shown in hexadecimal due to RFC non-compliance.

 

If the issue is a duplicate or invalid compiled MIB

Option 1: Remove the problematic compiled MIB

If the MIB is not required:

OMD[mysite]~$ mv MIB-Dell-10892.py MIB-Dell-10892.py.bak OMD[mysite]~$ omd restart mkeventd

This allows the remaining MIB modules to load successfully.

 

Option 2: Correct the duplicate entry

  1. Edit the compiled MIB file.

  2. Remove or rename the duplicate symbolic name.

  3. Ensure each symbolic name appears only once.

  4. Restart the Event Console.

 

Option 3: Replace with a corrected vendor MIB

  1. Obtain a corrected MIB from the manufacturer.

  2. Recompile the MIB.

  3. Replace the compiled version.

  4. Restart the Event Console.

 

Important Notes

  • A single invalid compiled MIB file can prevent all MIB modules from loading.

  • When no modules are loaded, OID translation fails globally.

  • Vendor MIB inconsistencies are common.

  • Always verify both encoding definitions and structural correctness when troubleshooting SNMP issues.


Related articles