Development performance evaluation of OpenNMS and Zhihe network management platform

  With the increasing complexity of the network system structure, it is necessary for operation and maintenance personnel to use a network management system to manage the network conveniently and quickly. In order to better manage various devices and facilitate troubleshooting in the network, the company needs a network management software that meets its needs. At present, there are many network management software on the market, and these software can manage general equipment after proper configuration. However, these general functions cannot meet 100% of our needs and must be re-developed. Due to the technology (Java) used by the company, market occupancy rate and comprehensive functionality, we chose two platforms that provided two development, OpenNMS and Zhihe network management platform. After a comprehensive comparison of the two products, we chose one Appropriate network management software, on this basis, carry out integration and secondary development, and build a network management platform for departmental equipment.

1. Selection criteria

1. Functionality

  The general functions of the network management can be used directly, or simply modified, which can save costs;

2. Complete extension development interface

  Whether the selected open source software has provided a complete secondary development interface to meet the requirements of secondary development;

3. Easy-to-extensible architecture design

  The architecture of the network management platform should be easy for secondary development, or when designing the platform, secondary development should be considered on the basis of the platform;

4. Development Technology

  Another aspect of choosing a network management platform is to try to use the development technologies most familiar to the members of the department, and try to avoid involving new technologies and development languages ​​that are related to the department, so that further research and development can reduce costs;

5. Technical support and service

  Platform stability needs to be high, and solutions to common problems in development can be quickly found. For problems that occur in the platform, the official can solve them in a timely manner

2. Introduction to the software

1.OpenNMS

  OpenNMS, short for Network Management System, is an open source software network monitoring tool. It can be used to automatically discover network nodes and monitor network services, such as HTTP, DNS, SSH, etc. When system services stop, OpenNMS will send a notification according to the rules established by the administrator to inform the operation and maintenance personnel of network obstacles, event aggregation, automatic Perform corresponding actions and monitor service-level performance. It can support the SNMP network management protocol, ensure the scalability of management, and provide customized functions to facilitate the expansion and contraction of the management scope. The traffic and the hardware usage of the contact system need to be configured with SNMP.

2. Zhihe network management platform

  Zhihe network management platform is independently developed by Beijing Zhihe ICT Technology Co., Ltd. It is perfectly compatible with mainstream/domestic systems and databases, provides C/S and B/S client interfaces, and is compatible with PCs and mobile devices. Realize basic network management functions including device topology, fault management, performance management, configuration management, and security management. Based on the concept of "controlling everything, omnipotent, and ubiquitous", it adopts a unified device access model, which can manage network devices, All networking equipment such as computers, servers, smart devices, Internet of Things, industrial equipment, etc.; suitable for defense, telecommunications, government, finance, transportation, energy, enterprise, industry, manufacturing and other fields. Let enterprises focus on specific customer business needs, and a network management software can be developed in the shortest few man-weeks.

3. General functional evaluation

  Common functions for network management include but are not limited to basic functions of network management software such as device topology, fault management, performance management, configuration management, and security management. When doing secondary development on the software platform, you don't need to implement these general functions yourself, or you can simply modify them. You only need to care about the company's own network management business needs.

(1) OpenNMS

1. Automatic discovery of network nodes

  The information in the object repository is not manually input and maintained by the administrator, but is automatically searched for devices from the network by the automatic scanning module of the software.

2. Graphical user management interface

  Viewing various interface views through a browser allows administrators to see real-world objects through management tools, rather than abstract symbols. Enables users to monitor the overview of the entire system, the general distribution of the system and the overall operating status.

3. Fault monitoring

  The monitoring engine module of Opennms supports data collection and status maintenance for network devices managed by SNMP and operating systems on servers where SNMP services are deployed. Use a unified communication method to collect availability and fault information from these management objects. After Opennms obtains the polling or trap information of the managed object, it judges the object according to the type of information received, the original state of the object, and the strategy and logic of network system management. status has changed. If changes have occurred, several update actions can be taken in accordance with management policies.

4. Fault event management

  Events are generated when the running state of the managed object changes. If the event changes from normal to fault, a fault alarm will be generated. Such as system resource shortage, database connection failure, network communication interruption, host file system overflow, etc. will be manifested in the form of events.

5. Operating system monitoring

  The centralized monitoring of the availability, running status and faults of various computer operating systems by Opennms is accomplished through its own SNMP service program. These SNMP agents are part of the SNMP service.

6. Network node configuration information management

  The configuration information of the monitored object node in the data is the asset information of the IT equipment, and each network node is a specific IT asset equipment. Each node has a number of attribute fields in the database to choose from.

7. Comprehensive node monitoring

  Each monitored node can be meticulously recorded and monitored. When viewing the information of a node, there are several types of information: status information, total availability of various network services, SNMP attributes, familiarity with each interface, the last 5 events and the latest failure event.

(2) Zhihe Network Management Platform

1. One-click auto discovery

  Search for network devices in the automatic discovery process, identify device type and manufacturer model, and generate a panel diagram of the device. Or search device resources to discover link relationships between devices, simplifying user operations and improving management efficiency.

2. Comprehensive equipment management

  Through the topology view, it is convenient to manage the device and its configuration parameters, and support related operations on the device. Automatically identify the current device type and its configuration parameters, support all mainstream devices, add custom devices, and view device operation in real time.

3. Visual topology management

  Supports tree/plane structure linkage to display network topology, and divides the network in multiple layouts. The device status is displayed in real time with different icons in the topology. The graphical and figurative topology manages equipment, equipment resources, and links, reducing maintenance difficulty, and the drag-and-drop layout makes configuration more flexible.

4. Timely fault management

  Various alarm mechanisms and custom-configured alarm thresholds can quickly locate alarming devices. Comprehensively collect alarm information and display it in charts and other forms according to various dimensions. Timely alarm and automatic processing to ensure timely resolution of faults, greatly improve the efficiency of alarm processing, and reduce losses caused by faults.

5. Multi-dimensional performance management

  Comprehensively collect performance information such as device resources, applications, and services. The performance information data is displayed in the form of charts according to various dimensions such as time, resources, and performance types. Multi-dimensional and multi-form display of equipment performance information, operation and maintenance personnel can grasp the equipment performance status at any time and prevent it from happening.

6. In-depth control equipment

  Configuration/backup and software upgrades can be performed for each device to reduce administrator workload and improve system availability. Supports configuration file upgrade, backup and restore functions for single and batch devices. There are configuration management, device software management, and device parameter management to help you reduce your workload.

7. Refined report statistics

  With the statistical function of multiple data, the statistical chart can be exported or printed for backup or comparative viewing. Through various types of chart display, users have a comprehensive and intuitive understanding of the overall network, and through data analysis, a comprehensive grasp of the network status provides a basis for decision-making.

8. Multi-level security management

  By setting the user network, user permissions, and controlling the black and white list, the network security is improved from multiple levels and angles, and the user network security is guaranteed.

(3) Summary

  For general general network management requirements, both software platforms basically cover these basic functions. The only regret is that OpenNMS lacks the topology map function.

function points

OpenNMS

Zhihe Network Management Platform

Automatically discover devices

Topology

×

Device management

Supports multiple management protocols

link management

×

fault management

Alarm management

safety management

Data statistics function

extensions

4. Evaluation of the development process

  The company chose to carry out secondary development on a network management platform, therefore, the requirements for the development interface are particularly important. In the evaluation of the development interface, the comparison will be made mainly from the comprehensiveness of functions and the ease of use of development.

(1) OpenNMS

1. Overall Architecture

  OpenNMS is prefabricated, supports loading services and plug-ins according to configuration, and is highly extensible.


 

  OpenNMS system configuration information is stored through XML data, a network management system based on linux system and Postgres database. The network data is persisted through JDBC, and the Web adopts JSP/Servlet. OpenNMS is an Open Source Framework, which uses many open source components and frameworks, and uses open source implementations of various protocols. Each layer service and function has its own configuration file.

  OpenNMS uses xml data binding technology (opennms uses castor). According to the schema definition file (xsd file) of the xml file, the mapping from the xml file to the java object is generated, so that there is no need to write the code for parsing the xml file but to operate on the java object. Therefore, these classes are generated by the castor package according to the xsd file during the system compilation process.

2. Secondary development interface and module

Function module introduction:

  • HttpUnit, jWebUnit, Junit: Various means of unit testing.

  • nekohtml: Parse HTML, Html Tidy corrects the html string and standardizes it.

  • Avalon: It is mainly a server architecture, which can meet the needs of server programs such as configuration and logs.

  • Jdhcp: Implementation of java DHCP.

  • Xerces: Parse XML, APIs and implementations include xmlParserAPIs, xml-apis, xercesImpl.

  • jCIFS: SMB client library developed in Java.

  • ldap-impl: LDAP java implementation.

  • smtp.jar pop3.jar: SMTP, POP3 protocol Java implementation.

  • JRobin: An LGPL-licensed network performance monitoring system, a pure Java implementation of RRDTool.

  • joeSNMP: Java SNMP class library.

  Daemon (capsd) is mainly responsible for scanning and discovering network interfaces, discovering discovery daemons (daemons), providing support for Services/Protocols and updating them to the Database. Capsd will also periodically rescan the management interface based on the ability to check if any additional services have managed interfaces last time.

  The Poller daemon is responsible for checking each state of each managed interface during periodic configuration intervals, and if the state of the service has changed from the last appropriate event, indicating that the interface will generate a new state of the service.

  OpenNMS provides a simple and fast framework for extending and setting default services and protocols. In order to extend OpenNMS to manage a customizable service or protocol, the following requirements must be met:

  • Write code capsd plugin (plug-in) to test whether the network interface supports the expected protocol or service.

  • Add a <protocol plugin> element to define the new service in /etc/capsd-configuration.xml config in $OPENNMS_HOME.

  • Write code poller plugins to monitor the status of the currently desired protocol or service on a specific network interface.

  • Add the <service> and <monitor> elements to the /etc/capsd-configuration.xml config file in $OPENNMS_HOME to define a new calling service.

3. Documentation and Services

  The advantage of OpenNMS is that it is open source and has a high market share. Relevant information can be found on the Internet, but OpenNMS lacks sufficient Chinese documentation and local service support, and there is still a long way to go for localization. Moreover, the technical requirements are very high, and it is very difficult for general operation and maintenance personnel to use it well. In the process of use, there will be a phenomenon that it cannot be started. Especially for SNMP problems, it is generally necessary to turn off the TRAP service.

(2) Zhihe Network Management Platform

1. Overall Architecture

  The Zhihe network management platform consists of a multi-layered architecture model, which is divided into modules and layers according to the characteristics of the telecom network management system, which not only meets the requirements of network management services, but also ensures that it is easy to implement, maintain, and expand in software. For WebService communication, the framework uses the device middle layer to shield the differences in the device management protocols of different manufacturers. The implementation supports managing different types of managed devices.



 

Zhihe Network Management Platform Architecture Diagram

2. Secondary development interface and module

  On the basis of the general network management function, developers can choose to develop modules or codes in order to meet various customization needs of users in the shortest time and improve R&D efficiency. At the same time, Zhihe Xintong provides a full set of development materials and complete training services. Users can customize a network management platform that meets their own needs, and constantly update the platform functions to meet the ever-changing management needs. Zhihe network management platform provides a variety of reusable platform extension components, which simplifies the research of basic network management technology and improves the efficiency of platform development and expansion.

1) Monitoring components

  It is composed of module components with different protocols (SSH, WMI, JMX, etc.), and can monitor the performance information of devices with different protocols.

2) Interface development components

  The interface display function also adopts the cohesive design method of functional modules, such as: topology map module, navigation tree module, navigation and topology linkage module, menu module, object table module, attribute table module, etc. In the secondary development process, these modules can be directly used or extended to realize interface functions.

3) iTopoview topology components

  iTopoview is a highly encapsulated topological graph graphic development component, which can meet the needs of network management GUI client development. iTopoview can make the operation interface of network management products all based on the WYSIWYG management mode of topology map. All rights management, fault management, performance management, configuration management, maintenance management and other functions are directly integrated with the topology map. iTopoview has built-in tree view and network topology view, and can realize automatic synchronization between the two. Using the topology map component, you can also develop hierarchical division diagrams of regions, organizational structures, etc., as well as rack diagrams, panel diagrams, and so on.

4) Database components

  SugarNMS database module supports all relational databases and adopts OR Mapping technology popular in database field. Use factory methods to create database service interface APIs according to different environments, providing services such as adding, deleting, modifying, and querying various databases. And support WebServcie/RMI and other communication methods to remotely call the database service interface.

5) Monitoring and scheduling components

  All monitoring modules include: SNMP monitoring module, WMI monitoring module, Telnet/SSH monitoring module, database monitoring module, and middleware monitoring module are all registered in the monitoring scheduling module. In the network management development platform, each monitoring module performs monitoring tasks. This module supports the plug-in mode, which can easily register new monitoring modules in the unified interface, and schedule and distribute tasks. In addition, the monitoring scheduling module acts as a bridge between network management software and monitoring objects (network devices, hosts/servers, application services, etc.), shielding the protocol differences between monitoring objects, making monitoring simpler and more scalable.

6) Message distribution component

  All modules that need to distribute faults, events, and messages to the client are handled uniformly by the message distribution module. Currently, the Syslog module, Trap module, and fault monitoring module all use the message distribution module. Message distribution includes two ways: the server automatically pushes the message to the client and the client actively requests the message from the server.

7)ObjectSNMP

  SNMP protocol development component and network auto-discovery service, which encapsulates SNMP communication functions and upper-layer SNMP fault, performance, configuration, and TRAP applications. The SNMP component adopts the object-oriented programming method, which makes the complex SNNP development work very simple and efficient in the past. Arbitrary SNNP devices and private SNMP MIBs, and changes to the device's SNMP interface can be supported. Network automatic discovery with Java/SNMP gateway, WebService/SNMP, Proxy proxy gateway and patented technology, device component discovery, device type identification.

3. Documentation and Services

  Zhihe network management development platform provides a full set of documents and training to help developers quickly understand the system and related background knowledge, and enter the development stage as soon as possible. Provide remote online, telephone and on-site support services to help developers solve problems encountered in development together and quickly overcome technical difficulties.

  The Zhihe network management platform provides a code-level open mode, and R&D personnel go deep into the client source code to realize the personalized needs of users. At the same time, it provides complete development documents, implementation training and technical support services, so that users can have no worries from the beginning of development to the use of the platform.

(3) Summary

  Both development platforms provide good support for extended development. Among them, Zhihe network management platform provides many development modes. You can choose to use some modules directly, or you can choose to use the API provided by the platform for development.

V. Conclusion

  Based on this period of research and trial, Zhihe network management platform better meets our actual needs. In terms of general functions, the automatic topology generation function possessed by the Zhihe network management platform is a necessary requirement for us, and developing and implementing topology diagrams on OpenNMS alone will increase the development cycle. Through the trial of these two softwares, since the Zhihe network management platform is a national product, compared with OpenNMS, the existing general functions of network management are more in line with the usage habits of the company's network management personnel. In the secondary development of the platform, the Zhihe network management platform provides a variety of development modes. The core components provided by the Zhihe network management platform, especially the SNMP component, and the monitoring component, greatly simplify the complexity of interaction with devices. Finally, we chose Developed based on Zhihe network management platform.

Guess you like

Origin http://43.154.161.224:23101/article/api/json?id=326486606&siteId=291194637