linkDown alarms are not generated for unknown ifIndex values
Description
In the default configuration we leverage the event translator to enrich the uei.opennms.org/generic/traps/SNMP_Link_Down traps with the ifDescr, ifName and ifAlias of the associated interface in order to generate a uei.opennms.org/translator/traps/SNMP_Link_Down event. The alarm data is associated with the translated event, which leads to alarms being created with descriptive fields.
As it is currently written, the uei.opennms.org/translator/traps/SNMP_Link_Down events only get generated if we find a match for the corresponding ifIndex in the database. If none is found, then no alarm is generated.
We should update the configuration, and enrich the event translator if necessary to support translating these events for cases in which the ifIndex is not found in the database.
My approach is a "default" attribute instead of "optional". This default value is used as fall-back value for the assignment. In this case you can provide something like "Unknown" for unresolvable fields. Giving no default value for an assignment will behave as before.
Jesse White December 8, 2018 at 5:08 PM
Edited
One approach would be to support marking some of the assignment elements in the translator-configuration.xml as "optional" and providing default values for these.
In the default configuration we leverage the event translator to enrich the
uei.opennms.org/generic/traps/SNMP_Link_Down
traps with the ifDescr, ifName and ifAlias of the associated interface in order to generate auei.opennms.org/translator/traps/SNMP_Link_Down
event. The alarm data is associated with the translated event, which leads to alarms being created with descriptive fields.As it is currently written, the
uei.opennms.org/translator/traps/SNMP_Link_Down
events only get generated if we find a match for the corresponding ifIndex in the database. If none is found, then no alarm is generated.We should update the configuration, and enrich the event translator if necessary to support translating these events for cases in which the ifIndex is not found in the database.