SellaNMS was created to provide an extendable high performance Network Management System with network discovery.
As new devices and interfaces are added or removed from your network, the changes are automatically detected and handled.
Here are some key features of "SellaNMS":
· SellaNMS is coded to handle the unexpected without crashing. Any issue that could cause a crash or deadlock is tracked down and corrected. Distributed installs can allow SellaNMS to continue working even when server fails.
· The core scheduler and policy frameworks offers wide customization of SellaNMS's functionality. New modules can be created to support new protocols and/or devices. Modules can be added or removed on the fly.
· Memory usage is kept to a minimum by utilizing low memory algorithims, dynamically loading and unloading modules as they are needed. Data is written to the database as modules are still working, reducing allocated memory.
· All aspects of discovery, and monitoring are designed to complete their tasks as efficiently as possible. Core libraries and modules are threaded to run in parallel avoiding blocking calls.
· While a single server install can easily handle a network of thousands of interfaces and hundreds of routers, SellaNMS can be distributed across multiple servers adding additional coverage for a network of any size.
What's New in This Release:
· Architecture change and major enhancements.
· Converted modules from threads to individual daemons, simplifying the design and providing enhanced reliability and performance. (Jim/Bill)
· Created watchdog daemon responsible for managing daemons and monitoring their health. (Jim)
· Created state daemon to process state changes, allowing alarms to be persistent though a restart of any daemon. (Bill)
· Created libstate. Allows modules to request the current state of elements, interfaces, and addresses as determined by the state module. (Bill)
· Converted thread calls over to POSIX pthread functions. (Jim/Bill)
· Converted modules internal thread interaction from a polling scheme to an interrupt based scheme. (Bill)
· Rewrote trace-options support for improved functionality. (Bill/Jim)
· Redesigned output modules/daemons to individually handle input, resulting in less RAM usage and better performance. (Jim)
· Created a program to automatically generate a VIM syntax file, making it much easier to maintain. (Bill)
· Introduced an adaptive back-off algorithm into the ICMP monitoring daemon, which handles queue congestion gracefully. (Jim)
· Implemented conditional map-statements, which reduces interactions with the database, improving performance and scalability. (Jim)
· Rewrote map-statements and policy-statements to preform few interactions with the database, improving performance and scalability. (Jim)
· Created tidyd to provide time based clean up within the database. (Jim)
· Created output syslogd daemon to replace the flatfile logging module in v1.0.0. (Jim)
· Rewrote sella_nms.conf to include only basic configuration options and introduced sella_nms-complete.conf which includes all configuration options. (Bill/Jim)
· Implemented include directory support within the configuration library and separated out vendor specific policies into separate files. (Bill).
· Created admin-sella_nms.sh script to provide database administration and the ability to monitor incoming alarms on the command line. (Jim)
· Improved control of state change clearing of alarms in guid. (Jim)
· Enhanced BGP alarms to provide ASN, organization name and contact information. Data can be updated via the asn_data table. (Jim)
· Created a syslog output daemon used to keep a log of alarms. (Jim)
· Improved email daemon to support multiple SMTP servers and fixed minor bugs in the supporting SMTP class. (Jim)
· Created class for tracking the rate of input. This allows the NMS to handle devices that flood useless information. (Jim)
· Wrote an Administrator's Manual. (Jim)