Added multi-thread support to logstash-input-snmp and logstash-input-snmptrap plugins:
logstash-input-snmptrap: Uses the SNMP4J MultiThreadedMessageDispatcher, processing multiple trap messages in parallel. By default, SNMP4J uses a single listener thread, which delegates all received data to this multi-threaded message dispatcher.
logstash-input-snmp: Uses a thread pool to submit the hosts requests, avoiding blocking the main thread, executing and aggregating multiple requests concurrently.
Increasing the MultiThreadedMessageDispatcher threads has almost no impact on the overall performance, as request are still serialised. This plugins uses the default value of 1.
A few SNMP results-related logs were moved to the request aggregator.
Bumped SNMP4J version to 3.8.0 (latest). It has fixed a few concurrency issues (especially with TCP) and fixed/delivered several improvements. The current version (2.8) was the one originally used by the SNMP input plugin, and was released in 2020.
Added multi-thread support to
logstash-input-snmp
andlogstash-input-snmptrap
plugins:logstash-input-snmptrap
: Uses the SNMP4JMultiThreadedMessageDispatcher
, processing multiple trap messages in parallel. By default, SNMP4J uses a single listener thread, which delegates all received data to this multi-threaded message dispatcher.logstash-input-snmp
: Uses a thread pool to submit the hosts requests, avoiding blocking the main thread, executing and aggregating multiple requests concurrently.Increasing the
MultiThreadedMessageDispatcher
threads has almost no impact on the overall performance, as request are still serialised. This plugins uses the default value of1
.A few SNMP results-related logs were moved to the request aggregator.
Bumped SNMP4J version to
3.8.0
(latest). It has fixed a few concurrency issues (especially with TCP) and fixed/delivered several improvements. The current version (2.8) was the one originally used by the SNMP input plugin, and was released in 2020.