18-10-2010, 02:41 PM
[attachment=6462]
Implementation of a simple device mediation application of a Network Management System
Abstract
In a typical NMS scenario a network service provider will have thousands of network elements of different kinds like eg, switches, routers, bridges, gateways and also of various makes eg, Cisco, Juniper, Nortel, etc. All these network elements would like to collect data spewed out by these elements. This data will be analyzed for Faults, Configuration, Accounting, Performance and Security Data. This will give an overview of a typical network management Application and standardizing the interfacing thereof.
Functional components of the project
1) I have a configuration file in which I specify parameters
e.g.
SOURCE_1 = /apps/cisco_appl/logs/alarms
RECORD_TYPE = CISCO
TARGET_1 = /apps/standard/nms/logs/alarm
COLLECT_FILE_AT = 100KB (read the file after it reached 100kb only, - File rotation size)
2) CISCO records will be of dollar separated name-value pairs (create different types of records like JUNIPER, NORTEL etc and use different data formats like XML, Comma Separated Values, Tab SV etc)
3) The software application will be periodically reading the configuration file (step 1) and monitor for new record types to be collected and new directories to be scanned. (The application will not be restarted for any changes in the config file)
4) The distinct collected records will be converted to standard format (XML) and dumped in the target directory.
Steps to start-off the project
Suggested Approach: Idealize the different devices (ignore the myriad connecting protocols to the devices) to be dumping the data at specified (configurable) directories in the form of files. The file data will have different formats, (XML, CSV etc etc) file naming will be different, file rotation will be at different sizes. The files will be dynamically growing, and file rotation will occur at specific sizes.
1) Use a config manager to read the config file and update other agents for any changes
2) Use a file manager to record rotation of files and handle files for reading for different readers. Note files should not be re-read again by mistake
3) Use a record handler agent which will delegate different record types to different record readers.
4) Use a standard record format, to which all the distinct records will be converted to
5) When a new network element type is added the steps I should do is
1. small enhancements to the file manager
2. new record handler and
3. new adapter to convert the new record to the standard format
(if time permits Analyze Data for a particular data pattern eg : look for pattern ALA1100[1-][1-9] and save the file containing the pattern into a different directory etc.)