Welcome to Infoblox NetMRI Community Sign in | Join | Help
in Search

Applied Infrastructure

Handling NMS Performance Data, Part 3

 In the last post, I suggested writing raw performance data directly into the filesystem.  A simple on-disk data structure can make access to the data fast and efficient.  In the NMS database, each device has a device ID.  Create sets of directories to hold data from sets of devices, organized by device ID, then interface name (see picture).



The interface directories would contain the data files.  The data files would be organized according to date range.  Each date file would contain data collected for a period of time, such as a week.  For interfaces that require high polling frequencies, the date range could be selected based on file size and growth rate.  Using interface names instead of the interface ifIndex values would allow easy export of the data to other systems.

The database would contain filenames that reference the stored data. The use of device ID makes it easy to access the data, but a bit more difficult for the administrator to use.  I would create a file in the device directory where additional information about the device would be stored.  Such data would include the device name, the information from the SNMP system group, the list of interfaces with both name and interface ifIndex value, and inventory information such as serial numbers.  While this data replicates what is in the NMS database, it allows easy export of the data to other systems.

A data structure like this makes it easy to access to the data as necessary and optimizes the common case of writing the raw data into storage.  Since the raw data is in the filesystem, it becomes easy to move it to a SAN for long-term storage.  The NMS database can be effiicently updated to reflect the new storage location.

In the occasional case where an administrator requests a view of historical raw data, it is accessible within a reasonable amount of time.  The benefit of using the filesystem is that the access doesn't impact the operation of the core NMS functions and database access.  In fact, the function of displaying the raw data could be offloaded to a separate CPU or server.

Designing and building a network management system may look easy.  But it is much more than just collecting some data and building an interface that allows the network administrator to view it.  It gets much more dificult as scaling issues are encountered, corner cases crop up, and as we try to do smart things with the collected data.

  -Terry

Comments

No Comments

About tslattery

Terry Slattery, CCIE #1026, is a senior network engineer with decades of experience in the internetworking industry. Prior to joining Chesapeake NetCraftsmen as a full time consultant, Terry was the founder and CTO of Netcordia, and inventor of NetMRI, a suite of network management products. Terry started Netcordia as a consulting company in 2000 and transitioned to a network management product company in 2003. During the consulting days, he used his network design and implementation skills to lead a team in the design and implementation of a high availability network at a brokerage clearing house. Terry is the former President and founder of Chesapeake Computer Consultants, Inc., a networking and computer systems training and consulting company. He co-invented and patented the vLab(tm) internet-based remote lab system. He is co-author of the McGraw Hill text Advanced IP Routing in Cisco Networks. Terry led the team that developed the current Cisco IOS user interface under contract to Cisco Systems. Terry is experienced in the design and installation of large TCP/IP based networks and is a successful network protocol instructor. He is the second Cisco Certified Internetworking Expert (CCIE) #1026 and the first outside of Cisco. He enjoys membership on the Vanderbilt University Engineering School’s Industrial Advisory Board and the IEEE.

This Blog

Syndication