Migrated the SNMP4J clients from Ruby to a single multi-snmp-version Java client.
Changed to use the MultiThreadedMessageDispatcher by default. Subsequent PRs will be adding the necessary plugin settings to allow users to to tune it.
TLS-ready (future feature)
The MIB manager/field mapper were rewritten in Java and now supports .dic (Libsmi) and .yaml (ruby-snmp) files, so both plugins, snmp and snmptrap can use the same client and keep it backward compatible.
Changed the way the Libsmi python .dic files are read to a JSON approach.
Changed the logstash-input-snmp plugin to use the new Java client.
Instead of one client instance per host/version, it now uses a single multi-version client for all hosts. Subsequent PRs will be adding the necessary settings to tune the MultiThreadedMessageDispatcher.
Few changes on the CI and plugin's project files to support Java testing
Migrated and Increased the test coverage for the SNMP4j clients, field mapper and MIB manager.
Changelog:
Migrated the SNMP4J clients from Ruby to a single multi-snmp-version Java client.
MultiThreadedMessageDispatcher
by default. Subsequent PRs will be adding the necessary plugin settings to allow users to to tune it.The MIB manager/field mapper were rewritten in Java and now supports .dic (Libsmi) and .yaml (ruby-snmp) files, so both plugins,
snmp
andsnmptrap
can use the same client and keep it backward compatible.Changed the
logstash-input-snmp
plugin to use the new Java client.MultiThreadedMessageDispatcher
.Few changes on the CI and plugin's project files to support Java testing
Migrated and Increased the test coverage for the SNMP4j clients, field mapper and MIB manager.