Scanner Manager¶
All events collected by elos are collected through scanners. The scanners are provided as elos-plugins. The Scanner Manager is responsible for loading all plugins via the generic Plugin Manager Plugin Manager, starting, stopping and unloading them. The scanner Manager also determine the configuration which is used to search for plugins.
Static structure¶
The Scanner Manager is a typical elos component (Components). It uses the PluginManager to run scanner plugins.
PluginManager¶
Detailed documentation about PluginManager is here Plugin Manager
Dynamic behavior¶
See below the lifecycle and control flow of the Scanner Manager.
Data¶
The scanner manager expects a configuration object under the path /root/elos/Scanner. The object must follow the specification required by the PluginManager.
{
"root": {
"elos": {
"Scanner": {
"PluginSearchPath": "/usr/local/lib/elos/scanner",
"Plugins": {
"a Plugin name": {
"File": "scanner_dummy.so",
"Run": "always",
}
}
}
}
}
}
Error¶
If the configuration for scanner Plugins is not found or invalid the initialization of the ScannerManager will fail. The ScannerManager will fail to start if the PluginManager reports error on loading plugins. But will continue to start if some clients have no or broken filter rules. In that case errors are reported but elos continues operation. Events generated by this plugins might not be properly stored as intended by the plugin. On errors during stopping and freeing memory the ScannerManager try to cleanup as far as possible. A ScannerManager instance that has failed to stop or to delete its members shall not be restarted or reinitialized.