Embodiments of the present invention relate to the field of network management. More specifically, embodiments of the present invention relate to a method and system for event-driven network management.
Network management systems are used to monitor a distributed computer network in order to diagnose problems and collect statistical information for maintaining the network. As the network management system monitors the network, various network events can be generated by the network management system in response to detecting certain network conditions. These network events allow a network administrator to maintain the network.
External applications created by third parties are often used to perform specialized monitoring of a distributed computer network. For example, an external application may perform intrusion detection monitoring, e.g., virus detection. External applications also generate network events in response to detecting certain conditions. However, current network management systems are not configured to interpret and decode third party network events.
Currently, third party network events are placed in an event browser of the network management system. In order to take action on a third party network event, the network administrator must actually see the network event and react to the network event. As this requires a human response to the network event, response time is typically very slow. Moreover, in the case of a serious network issue, such as virus attacks, a human response may be too slow to be effective. Network administrators typically perform a number of responsibilities, and may not be able to watch for specific network events.
Attempts have been made to integrate external applications with network management systems to allow for the processing of third party network events at the network management systems. For example, some network management systems have made an application programming interface (API) available for integration with the external application. However, this requires that the recognition of the external application be hard-coded into the network management system. The programming of the network management system in this manner is incredibly complex, and requires a computer programmer to perform the actual coding. This programming can take a very long time to perform, and is inherently fraught with potential programming errors because the software of the network management system requires extensive non-recoverable engineering.
Various embodiments of the present invention, a method and system for event-driven network management, are described herein. In one embodiment, a network management application is configured to detect a network event generated by an external application and to execute an action in response to detecting said network event, wherein the network management application is configurable to receive information describing the network event and the action. The network event is monitored for. In response to detecting the network event, the action is executed.
The accompanying drawings, which are incorporated in and form a part of this specification, illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention:
The drawings referred to in this description should not be understood as being drawn to scale except if specifically noted.
Reference will now be made in detail to the preferred embodiments of the invention, examples of which are illustrated in the accompanying drawings. While the invention will be described in conjunction with the preferred embodiments, it will be understood that they are not intended to limit the invention to these embodiments. On the contrary, the invention is intended to cover alternatives, modifications and equivalents, which may be included within the spirit and scope of the invention as defined by the appended claims. Furthermore, in the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. In other instances, well known methods, procedures, components, and circuits have not been described in detail as not to unnecessarily obscure aspects of the present invention.
Referring now to
In one embodiment, network management system 120 performs a method for event-driven network management (e.g., process 300 of
Referring still to
Network management system 120 includes network event processor 210, network event monitor 220, network event parser 240, and property file repository 250. Network event processor 210 is for configuring network management system 120 to detect a network event, also referred to herein as a trap, generated by an external application and to execute an action in response to detecting the network event. Network event processor 210 is configurable to receive information describing the network event and the action. In one embodiment, this information is based on a property file located in property file repository 240.
An external application is an application that operates separately from network management system 120. The external application is operable to monitor network 130 and to generate network events based on the monitoring of network 130. These network events are communicated to network management system 120. In one embodiment, the network event is a Simple Network Management Protocol (SNMP) event. In another embodiment, the network event is a System Log (Syslog) Protocol event.
For example, the external application may be an intrusion detection application for monitoring whether a virus has invaded network 130. In response to detecting a virus, it is desirable to perform some action, such as notifying a network administrator or automatically turning off a port associated with the virus. Other examples of external applications include network jitter detection, wireless connectivity monitoring, and other specialized network monitoring that is not internal to network management system 120.
In one embodiment, network event processor 210 is configurable to recognize network events generated by an external application based on a property file. The property file includes information specifying the network event. In one embodiment, information specifying an action for execution in response to detecting the network event is also included in the property file. The property file is located in property file repository 250. It should be appreciated that property file repository 250 may include any number of property files for configuring network event detection of network management system 120.
In one embodiment, the network management system 120 is configured to detect a particular network event upon placing a property file associated with the network event in property file repository 250. In one embodiment, property file repository 250 is located at a particular directory of network management system 120. For example, property file repository 250 may reside in the . . . /server/config/devConfig/extern directory on the server upon which network management system 120 resides.
A property file is configured to include information related to a particular network event, allowing network event processor 210 to decode a received network event generated by an external application. In essence, the property file includes all information necessary for network event processor 210 to interpret the network event and properly use the data of the network event. For instance, the property file includes information for allowing network management system 120 to carry out actions automatically in response to an event.
In one embodiment, the property file is configured according to a particular syntax. The property file may be user generated, or supplied with the external application. The following attributes are examples of the information that may be included in a property file:
In one embodiment, the root node of the property file must adhere to a particular naming convention. For example, the name of the root node of the property file must be the object identifier (OID) of the trap with “.” delimiter replaced with a “_” delimiter. For example, if the OID of the trap is 1.3.4.1.6.1.11 the root node name will be 1—3—4—1—6—1—11.
The following are examples of property files having no variables, having variables, and having variables and tables, respectively:
Example .trp file with with no variables
Example .trp file with variables
Example .trp file with variables and tables
Still with reference to
In one embodiment, network event processor 210 is also operable to receive user input 205 to set up actions based on the network event. For example, information describing the action may not be included in the property file. A user can configure action 255 for execution in response to a network event. The information describing the action may be input using the user interface of network management system 120.
At step 310 of process 300, a network management application (e.g., network management system 120 of
At step 315, a property file corresponding to the network event is received. The property file includes information specifying the network event. In one embodiment, the property file also includes information specifying the action. In one embodiment, the property file includes a severity level of the network event and text identifying the network event.
At step 320, the network event is extracted from the property file such that the network management application is operable to monitor for the network event. In one embodiment, the action is also extracted from the property file such that the network management application is operable to execute the action in response to detecting the network event. It should be appreciated that steps 315 and 320 describe particular embodiments, and are thus optional.
At step 330, the network event is monitored for. In one embodiment, as shown at step 335, the network event is detected. At step 340, the network event is decoded based on the property file. At step 345, the action is determined based on the network event and the property file. It should be appreciated that steps 335, 340, and 345 describe particular embodiments, and are thus optional.
At step 350, the action is executed in response to detecting the network event. In one embodiment, information describing the action is included and described in the property file. In another embodiment, information describing the action is received as user input directing the network management system to execute the action in response to detecting the network event described in the property file.
In summary, in its various embodiments, the present invention provides for a method and system for event-driven network management. The described invention allows for configuration of a network management system to understand network events generated by external applications, such as third party applications. Furthermore, the present invention allows for configuring the network management system to execute particular actions in response to detecting such a network event. By providing a property file for decoding a received network event generated by an external application, the present invention provides for simple configuration of the network management system. The property file does not require experience with computer programming, reducing the time required to create the property file and reducing the level of expertise of the person creating the property file. Accordingly, the property file of the present invention can be created by a network administrator rather than a computer programmer. Moreover, the property file may be included in the documentation of the external application, in which the network administrator need only place the property file in the appropriate directory. The property file may be created a software wizard which simplifies the entry and ensures the proper syntax is used.
Various embodiments of the present invention, a method and system for a method for event-driven network management, are described herein. While the present invention has been described in particular embodiments, it should be appreciated that the present invention should not be construed as limited by such embodiments, but rather construed according to the following claims.