MONITORING A COMPUTING NETWORK

A computer-implemented method of monitoring a computing network includes identifying a topology pattern in a computing network. The method also includes assigning a management template for a configuration item type of the topology-pattern. The method further includes applying the management template to a configuration item instance of the configuration item type.

BACKGROUND

A computing network can include thousands of network items configured to interact with each other. The network items can include software, models, plans, formal documentation such as process documentation, service level agreements (SLAs), servers, storage, routers, switches, and processing units, among others. These network items are monitored for changes that can affect the management of the network items.

DETAILED DESCRIPTION OF SPECIFIC EXAMPLES

Techniques described herein relate generally to monitoring and managing a computing network. Information technology (IT) environments can include several thousand hardware and software elements, as well as services that are sourced from internal or external providers. These elements and services are managed by a management system. This management system may be reconfigured whenever an element or service in the IT environment changes. IT environments, such as virtualization technologies and on-demand provisioning of new systems, application, and, networks, have introduced a high frequency of changes in the IT environments. These changes increase the challenge in managing services in a timely, effective, low cost manner.

When monitoring a service or element, the element is considered in the context of the environment, rather than in isolation. For example, an application of a service can include several components, such as a server, middleware, and a database, among others. The components of the application interact with each other and are thus treated in a holistic fashion. The context of the environment is considered because the role of an element in a service can influence how the element is managed. For example, the disk I/O on a database server include more stringent controls than an application server machine of an application.

Current monitoring systems can be node-centric, configuring the monitoring system in the context of the monitored server. However, node-centric monitoring systems employ human users to configure the monitoring system, and to activate the appropriate monitoring for a given element or service. As such the efficiency of the monitoring system depends on the users' knowledge of where and how an application and the application's infrastructure and services are deployed, as well as on the users' understanding of which applications are running on each node.

Node-centric monitoring systems can be effective for simple scenarios. However, node-centric monitoring systems are inefficient for complex IT environments. For example, in dynamic IT environments, a delay can occur between the occurrence of a change and a user becoming aware of the change and updating the monitoring system. A delay between changes in the IT environment and adjustment of the monitoring system can lead to problems such as false alerts or failing to monitor a new element. A false alert is a report of a service that is down, when the service is decommissioned. in addition, node-centric monitoring systems can lack the ability to model the role context of a managed element. By not modeling the role context of a managed element, the node-centric monitoring systems are unable to provide the context to a user, depriving the user of full information when configuring how a server is to be managed.

By monitoring the topology patterns (layouts and interconnections among network items in the computing network) of an IT environment, a monitoring system can automatically identify changes in the IT environment and configure the monitoring system, rather than relying on human users. By automating the monitoring system, the efficiency of the monitoring system can be increased, while simultaneously decreasing the costs of maintaining the monitoring system.

A topology-pattern based monitoring system can automatically identify topology patterns that form the complex applications of a computing network and configure management and monitoring of the computing network without user intervention. The topology-pattern based monitoring system can analyze a representation of the computing network in a configuration management database (“CMDB”). The computing network can be dynamic and change with modifications, additions, or exclusions to the network items. Therefore the topology-pattern monitoring system can be designed to virtually display the computing network's topology patterns according to the latest updates in the computing network, and configure the monitoring of the computing network according to these changes.

As used herein, the term “monitoring topology pattern” refers to a definition of the structure of a composite IT system that can exist one or more times in an IT network. For example, a topology pattern can describe that an Application Service includes an Application Server which runs on a Node, and the Application Server uses a Database which runs on another Node. This definition is the topology pattern.

The topology-pattern based monitoring system can automatically query the configuration information for network items from the configuration items or configuration types in the CMDB. The topology-pattern based monitoring system can be provisioned to reflect the configuration items or configuration item types in a computing system. Furthermore, by monitoring updates in the CMDB, the topology-pattern based monitoring system can dynamically update the monitoring configuration to reflect changes in configuration item types or configuration items as they occur in the computing network.

FIG. 1is a block diagram of an example of a computing system. The computing system100includes a computing network102. The computing network can include an application service104deployed on an application server06. The application server106can be dependent on a database108to store data. The application server106and database106can run on a node or a plurality of nodes110. For example, the application service104can be a web application that is deployed on a WebLogic server106running on node N1. The WebLogic server106can include a dependency to a MySQL database108, running on node N2.

The computing system100can include a monitoring application The monitoring application112monitors the IT elements of the computing network (102) according to its monitoring configuration. Among other things, the monitoring application checks the availability and performance of the service that each IT element delivers. For example, the monitoring application112checks the response time of the Application Service (104) and the CPU Utilization of the server110.

The computing system100further includes a processing nit114. The processing unit114can include a central processing unit (CPU)116to execute stored instructions, as well as a memory device118that stores instructions that are executable by the CPU116. The CPU116can be a single core processor, a multi-core processor, or any number of other configurations Additionally, the processing unit114can include more than one CPU116.

The processing unit114can include a memory118. The memory118can include random access memory (RAM), read only memory (ROM), flash memory, or any other suitable memory system. For example, the memory118can include dynamic random access memory (DRAM). The processing unit114can also include an operating system120. The operating system120can he stored on the memory118.

The processing unit114further includes a runtime service model (RTSM)122. The runtime service model122can be a configuration management database (CMDB), The runtime service model includes a model of a customers IT environment and is automatically or manually updated as changes in the IT environment occur.

Configuration items (CIs) are representations of IT elements or network items in the CMOS122. Configuration items can include representations of software, models, plans, formal documentation such as process documentation, service level agreements (SLAs), servers, storage, routers, switches, processing units, and the like. The CIs can be represented in the CMDB with relationships like “component of”, “dependent on”, or “hosted on” to model the structure of managed application and topological relationships between IT components. CIs in the CMDB are typed so that similar items, such as different Unix hosts or MySQL database instances, share similar attributes and can be queried easily. Information about each configuration item can be recorded in a configuration record within the CMDB. A configuration record is a record containing the configuration details of a network item.

The CMDB can record the attributes of each configuration item, as well as its relationship with other configuration items. The configuration item types, as well as the configuration records, can collect information on the activities of network items that are relatively similar, while simultaneously identifying configuration information for each network item in conjunction with other network items in the computing network.

Furthermore, the CMDB can collect information for network items using network discovery methods and store the information, regarding a configuration item type. For example, the CMDB can be updated using discovery technologies that continuously scan the IT environment and data feeds for changes. Although examples discussed herein are discussed in connection with the CMDB, in some examples, different data storage devices can be used to store the configuration information.

The processing unit114also includes an operation-management application124. The operation-management application124consolidates the monitoring information from one or more monitoring applications112and presents this availability/performance information to a group of users to facilitate the resolution of issues in the monitored IT network102. The operation-management application uses the runtime service model (CMDB)122to provide model of the managed IT network102. The operation-management application124also uses the topology based monitoring system114to configure the monitoring applications112to monitor the IT network102according to the needs of the operations management application124.

The processing unit114further includes a topology-based monitoring system126. The topology-based monitoring system126can be a subset of the operation management application124or the topology-based monitoring system126can he installed on the processing unit114as a standalone application. The topology-based monitoring system126can be implemented in a variety of processing environments.

Furthermore, the topology-pattern based monitoring system126can include at least one management template128. Each management template1can include monitoring aspects130. Monitoring aspects130are monitoring packages of encapsulated monitoring configurations that are specific to a particular monitoring technology. The monitoring aspects130can be associated with a CI type to declare that the monitoring aspect can be applied to CI instances of this type in an IT environment. The monitoring aspects130include monitoring policies132. A monitoring policy contains detailed settings (specific to a related type of monitoring application technology) that indicates to the monitoring application how IT elements shall be monitored (e.g. the file name and check interval of a logfile to be checked, or threshold levels for collected metrics). A monitoring application is instructed to monitor certain IT elements according to the policy by associating the policy with the IT element in the application's monitoring configuration. The structure and utility of the management templates128and their monitoring aspects130and monitoring policies132will be discussed further in connection withFIG. 2.

The topology-pattern based monitoring system12can apply the management templates128to existing topology pattern information collected from the RTSM122to determine a precise monitoring configuration for the computing network102. For example, the topology-pattern based monitoring system126can use information collected from configuration items to apply corresponding management templates128to the topology-pattern monitoring system126in order to determine the monitoring configuration for the computing network102based on the topology patterns of the computing network102.

It is to be understood that the block diagram ofFIG. 1is not intended to indicate that the computing system100is to include all of the components shown inFIG. 1in every case. Further, any number of additional components can be included within the computing system100, depending on the details of the specific implementation.

FIG. 2is a block diagram of an example of a management template. The management template200can provide an abstraction on top of the monitoring aspects202to simplify monitoring of the network items of the computing network. The management template200defines which monitoring aspects202are to be applied to each IT component in the topology patterns204of an application. Each management template200includes a topology pattern204and an aspect set202. Each topology pattern204includes representations of the network items to illustrate the relationship between the network items of the computing network. The topology pattern204illustrates that an application service206is deployed on an application server208. The topology pattern204further illustrates the application server208can be dependent on a database210to store data. The topology pattern204further illustrates that the application server208and the database210can run on a node or a plurality of nodes212. The aspect set describes the type of monitoring and the CI to which the monitoring is to be applied.

The management template200lists the aspect sets202included in the management template200. The aspect sets202address each component of a composite IT system. For example, the management template200can include aspect sets202associated with the application service, the application server, the database, and the, nodes of the topology pattern. Associating an aspect202to an object of the topology pattern204in the management template200indicates that the respective aspect202is applied to monitor various features of each component in the IT network, if the component matches the topology pattern204of the management template200. For example, the management template200can include an aspect set202directed to monitoring performance of all application severs and an aspect set202directed to resource usage monitoring of all application severs that are used by an instance of an application service that is monitored by this management template200.

The management template200can also include monitoring policies214. The monitoring policies214can be associated with aspects202. For example, Policy: (DB) collect DB Log File can be associated with Aspect: (DB) Collect DB logs. Monitoring policies214can be deployed when the associated aspects202are identified as related to a CI. The monitoring policies214contain detailed settings (specific to a related type of monitoring application technology) that indicate to the monitoring application how IT elements shall be monitored (e.g. the file name and check interval of a logfile to be checked, or threshold levels for collected metrics).

Furthermore, the management template200can be a predefined expression of topology-patterns204of a select set of configuration item types and the relationships between the configuration item types in a computing network. The predefined management templates200can permit a topology-pattern based monitoring system to promptly match the configuration of the configuration item types. The management templates200can also be used to include dynamic monitoring adjustments for changes in the computing network such as load balancing, recovery, and deployment configurations.

When network items are added, changed, or removed in the CMDB, or if relationships between network items change, the pattern recognition of the management template200can be activated. If the change allows a new pattern match, then the management template200is activated. However, if the management template200no longer matches, the management template200is deactivated. For example, if a new server is added to, a web cluster for load balancing reasons, the monitoring template200will recognize the new server as part of the web duster and will automatically monitor the new server correctly and in context.

In addition, the management template200can be modified and tailored by an operator for a specific computing network. For example, an operator monitoring the computing network can allocate specific monitoring aspects202to a particular configuration item type using at least one management template200. The user can create or modify the monitoring aspects202according to the topology-patterns204of the computing network.

It is to be understood that the block diagram ofFIG. 2is not intended to indicate that the management template200is to include all of the components shown inFIG. 2in every case. Further, any number of additional components can be included within the management template200, depending on the details of the specific implementation.

FIG. 3is an illustration of an example of a monitoring aspect. The monitoring aspect300includes a definition302. The definition302states the type of monitoring and the Configuration Item type to which the monitoring configuration is applicable. The aspect300also includes the management policies304of the aspect300. The management policies304include constraint definitions that indicate which of the policies are to be in effect to monitor the IT element when the aspect is used to monitor that IT element. The constraint definitions act as filter expressions. For example, when the aspect300is applied a concrete instance of a node CI (i.e., a policy object in the configuration of the topology-based monitoring system is associated with an object (CI) in the CMDB that represents the node to be managed), constraint definitions on the OS attribute of the node CI can select the applicable policy based on the operating system of the node (e.g., Windows, Linux, etc), and thus only the correct monitoring policy is configured in the monitoring application to manage the node, The management aspect300also includes the revision version306of each management policy.

It is to be understood that the illustration ofFIG. 3is not intended to indicate that the management aspect300is to include all of the components shown inFIG. 3in every case. Further, any number of additional components can be included within the aspect300, depending on the details of the specific implementation.

FIG. 4is a block diagram of an example of a topology-pattern based monitoring system and a monitored application service. The topology-pattern based monitoring system400can monitor a computing network402. The computing network402can include an application service404and an application server406. The computing network can also include a database408and a node or a plurality of nodes410. A monitoring application412monitors the IT elements of the computing network402according to the monitoring configuration. Among other things, the monitoring application412checks the availability and performance of the service that each IT element, delivers, such as the response time of the Application Service404, and the CPU Utilization of the server410.

The topology-based monitoring system416can redeploy a monitoring configuration after a change occurs in the computing network402. For example, a change in the Computing network402can occur when a first network item N1is replaced by a second network item (N2). N1can be completely removed from the computing network402and replaced by N2, or the database408can be moved from server N1to N2. Because N1and N2are represented as configuration items (CIs) in the runtime service model (CMDB)414, the change in the configuration item is identified in the CMDB414. For example, the change in configuration items can be identified through the use of discovery technologies that continuously scan the computing network402for changes.

When the change from N1to N2is identified, the topology-based monitoring system416can identify that the change matches the topology-pattern of a management template that is associated with the application service404of the computing network402. When the topology-based monitoring system416identifies that the change matches the topology-pattern of the management template, the topology-based monitoring system416can automatically reconfigure the monitoring application412to adjust the monitoring configuration from monitoring N1to monitoring N2.

In addition to adjusting the monitoring if a change within a topology pattern of a managed IT system is detected (e.g. moving the database from N1to N2), the topology-based monitoring system416can assign at least one management template (not shown) to a new instance of an Application Service configuration item. The topology-pattern based monitoring system416can then apply the management template to the new application service, and configure the monitoring application to monitor the application service and all of the application service's IT components according to the definition of the management template.

It is to be understood that the block diagram ofFIG. 4is not intended to indicate that the topology-pattern based monitoring system400is to include all of the components shown inFIG. 4in every case. Further, any number of additional components can be included within the topology-pattern based monitoring system400, depending on the details of the specific implementation.

FIG. 5is a block diagram of an example of a topology-pattern based monitoring system. The topology-pattern based monitoring system500can include a graphical user interface504. The graphical user interface504can display monitoring information for at least one domain manager506. The domain managers506can include agentless monitor508and other similar domain managers. Each agentless monitor508can manage a plurality of configuration items. The topology-pattern based monitoring system500described herein can operate in a stand-alone mode or in combination with the operation manager502. The topology-pattern based monitoring system can configure a plurality of agentless monitors304. The agentless monitor's interaction and management with the configuration item types will be explained further inFIG. 6.

The graphical user interface can include events610management and status512windows. The events510management window can display the health of the computing network, whereas the status512window can provide a focused view for each affected configuration item.

It is to be understood that the block diagram ofFIG. 5is not intended to indicate that the topology-pattern based monitoring system500is to include all of the components shown inFIG. 5in every case. Further, any number of additional components can be included within the topology-pattern based monitoring system500, depending on the details of the specific implementation.

FIG. 6is a block diagram of a topology-pattern based monitoring system configuring an agentless monitoring application. According to some examples, the topology-pattern based monitoring system (TPBMS)600can configure monitoring products that operate in an agent based or an agent-less mode. The topology-pattern based monitoring system can run on the operation manager602. An agent-based monitoring system is typically collocated with the managed IT element, whereas an agent-less monitoring application runs on a separate server and manages the IT element using remote access over a network connection. This remote access imposes an extra challenge for a topology-pattern based monitoring system600, as the topology-pattern based monitoring system600not only determines which IT element to manage (based on the topology pattern), but also which monitoring system606to select that are responsible for monitoring the IT element604. In the agent-less monitoring system, if a management template's topology pattern on an RTSM/CMDB indicates that the network item is to be monitored with a Particular monitoring policy as defined by the management template, the TPBMS600determines the correct agentless monitor.

It is to be understood that the block diagram ofFIG. 6is not intended to indicate that the topology-pattern based monitoring system600is to include all of the components shown inFIG. 6in every case. Further, any number of additional components can be included within the topology-pattern based monitoring system600, depending on the details of the specific implementation.

FIG. 7is a process flow diagram of an example of a method of configuring a monitoring system. The method700can be implemented by a monitoring system, such as topology pattern-based monitoring system126. At block702, a user assignment of a management template to a CI can be received its a monitoring system. The management template can be assigned by an operator or automatically assigned. In some examples, multiple management templates can be assigned to a CI or a plurality of management templates can be assigned to a plurality of CIs.

At block704, related CIs can be identified. The related CIs can be identified based on the management template's topology pattern. For example, the correct instance of a Database, the correct instance of an Application Server of an application, the nodes instance that hosts the Application Server, and the node that hosts the Database can be identified.

At block706, monitoring aspects related to each item (CI) in the management template's topology pattern can be identified. Monitoring aspects are monitoring configurations and are based on recognized monitoring configurations in a computing network. The Monitoring aspects and their associated policies to be applied to manage the CI can be determined manually by an operator or automatically.

At block708, policy, constraints from the monitoring aspect can be applied based on the CI (or other CIs related to the CI) and aspect policies to apply to manage the CI can be determined Applying the constraints ensures that only applicable policies (e.g. correct operating system) from the monitoring aspect will be used to monitor the CI. The constraints act as filters to choose an appropriate subset of policies from the monitoring aspect, such as based on the Operating System on which the managed IT elements runs.

At block710, the monitoring application can be configured to manage the CIs according to the determined aspect policies. The topology pattern based monitoring system can determine all related configuration items according to the topology pattern, identify all aspects that are related to the network items in the particular topology context, and deploy the monitoring policies accordingly to the monitoring applications. In some examples, the topology-pattern based monitoring system can adjust the configuration of the management template according to an identified configuration item. Further, the topology can be updated so that the topology-pattern based monitoring system continuously reflects the latest state of the configuration items. In an example, the status of configuration items can be accessed via a graphical user interface.

It is to be understood that the process flow diagram ofFIG. 7is not intended to indicate that the method700is to include all of the blocks shown inFIG. 7in every case. Further, any number of additional blocks can be included within the method700, depending on the detail of the specific implementation.

FIG. 8is a process flow diagram of an example of a method of configuring a monitoring system. At block802, a filter configuration can be received in a monitoring system. The filter acts as an automatic assignment of a management template to a configuration item. The filter can he configured by a user. The user can configure the filter to select a subset of objects of a CMDB.

At block804, the filter can be associated with a management template. The filter can be associated with a management template by a user. In another example, the filter can be automatically associated with a management template. At block806, the filter can be applied to the topology. The monitoring system can continuously apply the filter to the topology of the computing network.

At block808, the management template (MT) can be assigned to CIs corresponding to the MT's root CI that match the filter. The MT can be assigned to all CIs that match the filter. For example, a filter can select all Application Service objects and their related customer object, where the customer importance is “high”. In this example, the filter returns a subset of the topology, and the monitoring system assigns the MT to all instances of “Application Service”, which is the MT's root CI.

At lock810, a monitoring system configuration can be determined, For example, the monitoring system configuration can be determined as described in blocks704-710of method700described above. At block812, the monitoring applications can be configured. The monitoring applications can be configured in accordance with the configuration determined in block810.

It is to be understood that the process flow diagram ofFIG. 8is not intended to indicate that the method800is to include all of the blocks shown inFIG. 8in every case. Further, any number of additional blocks can be included within the method800, depending on the detail of the specific implementation.

FIG. 9is a process flow diagram of an example of a method of reconfiguring a monitoring system. At block902, a change in a CMDB can be detected. The change in the CMDB corresponds to a change in the computing network. The change can include, for example, configuration changes, additions of network items, exclusions of network items, and software updates, among others. The change can be detected through the use of discovery technologies that continuously scan the computing network for changes.

At block904, the monitoring system can determine if the change occurred in a part of the topology where a management template (MT) is assigned to a configuration item (CI). If the change did not occur in a part of the topology where an MT is assigned to a CI, the method will end at block906.

If the change did occur in a part of the topology where an MT is assigned to a CI, at block908, the monitoring system can determine if the changed CI fails within the scope of the MT's topology pattern. If the changed CI does not fall within the scope of the MT's topology pattern, the method will end at block910. If the changed CI falls within the scope of the MT's topology pattern, at block912the monitoring system can determine a new monitoring system configuration. For example, the topology pattern based monitoring system can determine the new monitoring system configuration as described in method700. At block914, the monitoring system can be reconfigured.

It is to be understood that the process flow diagram ofFIG. 9is not intended to indicate that the method900is to include all of the blocks shown inFIG. 9in every case. Further, any number of additional blocks can be included within the method900, depending on the detail of the specific implementation.

FIG. 10is a process flow diagram of an example of a method of reconfiguring a monitoring system. The method1000can be implemented by a monitoring system, such as topology pattern-based monitoring system126. At block1002, a topology-pattern in a computing network can be identified.

At block1004, a management template for a configuration item type of the topology-pattern can be assigned. The management template can be assigned by an operator or automatically assigned. In some examples, multiple management templates can be assigned to a CI or a plurality of management templates can be assigned to a plurality of CIs. At block1006, the management template can be applied to a configuration item instance of the configuration item type.

It is to be understood that the process flow diagram ofFIG. 10is not intended to indicate that the method1000is to include all of the blocks show inFIG. 10in every case. Further, any number of additional blocks can be included within the method1000, depending on the detail of the specific implementation.

The present examples can be susceptible to various modifications and alternative forms and are being offered only for illustrative purposes. For example, the present techniques support both reading and writing operations to a data structure cache. Furthermore, it is to be understood that the present techniques are not intended to be limited to the particular examples described herein. Indeed, the scope of the appended claims is deemed to include all alternatives, modifications, and equivalents that are apparent to persons skilled in the art to which the disclosed subject matter pertains.