EVent receivers collect events from managed or monitored devices, transform them into a database compatible form and then send to the database.
To start with the only event receiver will be for SNMP events.
This SNMP receiver will be able to receive the following SNMP message types:
Eventually the receiver will support:
Received traps will be mapped to the database "schema" (more in [FM Database] via a configuration language that can be edited by users. This is a common approach - as it separates business logic (the trap transformation) from the handler logic. This project aims to use and embed a general scripting language for the configuration.
Creating configuration files for every trap by and will be a pain. So a "MIB to configuration file" generation tool is planned. This tool will have the challenging task of decoding, including all necessary references, of MIB files - in all their ASN.1 glory - and generating a default transformation config.
As SNMP is the most common event passing protocol, this receiver is being developed with a view to scalability. For the most part the scalability pain point is in the number of traps processed per second. The receiver will be built multithreaded, with the NIO library and a thread pool processer.
The arbitrary design goal is 100,000 traps processed per day, which turns out to be about 1.5 per second. This figure is derived from the user experience - 100,000 a day is a pretty busy day - but is a modest technical goal. Without any supporting evidence we suspect that over 1,000,000 per day is quite acheivable.