Invented by Bernd Greifeneder, Ernst Ambichl, Andreas Lehofer, Gunther SCHWARZBAUER, Helmut Spiegl, Rafal MLOTOWSKI, Dynatrace LLC
The Dynatrace LLC invention works as followsA system and method of real-time monitoring and discovery of multidimensional topology modeling describing structural aspects both of applications and computing infrastructure used for executing those applications are disclosed. The monitored application execution infrastructure is monitored by different types of agents, each of which captures specific topological aspects. Virtualization agents monitor virtualized hardware in the execution infrastructure. Operating system agents monitor resource usage, performance, and communication for processes that are executed by an operating system. Transaction agents monitor processes involved in transaction execution and provide end-to-end monitoring and tracing data. Monitoring and tracing information of the deployed agents includes correlation data which allows for the creation of a topology of the monitored system integrating transaction execution, communication and virtualization-related aspects.
Background for Method for modeling real-time communication, virtualization, and transaction execution aspects related topological aspects in monitored software applications and hard entities
Modern, high-volume web applications with a large scale and high transaction volume. E-commerce applications follow the SOA paradigm. These applications are made up of a loosely-coupled network of services. Each service offers a small fraction of desired functionality through a defined interface. Services can be reused in different applications. For example, the user identification service that receives a username and password and returns a token indicating whether or not they match can be used to build various applications. “Services are usually provided by individual processes that use standardized communication protocols like HTTP or RMI.
Virtualization techniques enable it to run several instances of operating system simultaneously, isolated from one another on a single physical computer. Multiple operating systems running on the same hardware allows data centers to reduce the physical space required and use the hardware resources like CPU, memory and disk storage in an efficient and shared way. Hypervisor, a virtualization software dedicated to the guest computer system, is used to achieve virtualization. Hypervisors host a number of operating systems that are running simultaneously and allocate hardware resources such as CPU cycles or main memory among the operating systems they host to ensure optimal conditions for each operating system. Virtualization managers are usually used to control hypervisors, and the instances of operating systems hosted by them. Virtualization managers are able to remotely start and shut down hypervisors, individual operating systems, and migrate virtualized operating system between hypervisors.
In addition to the service-providing processes that are involved in the execution and functionality of an application, e.g. Background processes, such as those that perform maintenance tasks (e.g. Backup processes or batch processes are examples of background processes. These processes are run on the exact same operating system as service-providing processes, and they compete for the virtualized hardware resources.
Virtualization and service-oriented architecture are crucial for the efficient operation and maintenance of ecommerce applications. They introduce functional dependencies, however, between different applications. “Shared service processes and resource usage dependencies between operating systems hosted by a single hypervisor.
These dependencies have a great impact on the performance and reliability of applications run by the datacenter, but are difficult to identify as they are visualized or documented by different tools. For example, one tool might provide information about which hypervisors are running which virtual machines. Other tools could provide details on which operating systems run the virtual machines. Other tools or documents can provide information on which applications are using which services that are provided by specific operating systems running on virtual or physically-based machines.
This situation, where information about interdependencies among different applications and service processes are fragmented or distributed, makes it difficult to estimate or anticipate the impact on all applications of planned changes or deployments. For example moving a virtual computer from one hypervisor to another or optimizing a service process to meet the needs of an application. It is often difficult to identify the applications that could be affected by a change.
Therefore, it is necessary to develop a model which describes the interdependencies caused by virtualization and transactional processes between operating systems and applications involved in application execution. The model must also include processes that are not directly involved in the execution of applications but perform background or maintenance tasks. The model should come from a monitoring system which detects real-time changes in the virtualization, transactional dependencies and processes deployed. The model should show all the applications that are run in the monitored datacenter and also all the influencing factors from the perspective of virtualization, service re-use and background processing which can impact the performance of applications running by the monitored Data Center.
This section contains background information about the disclosure, which does not necessarily include prior art.
This section is a summary and does not cover the full disclosure or its entire scope.
The disclosed monitoring technology is designed to detect, process and visualize the topological aspects in computing environments that are dedicated to hosting and executing complex software applications. It also creates a topological infrastructure model. The topological models are updated in real time after changes to the topology of the monitored computing environment and monitored software applications. The topology model integrates and contains virtualization, operating systems, process execution, services interaction, and transaction processing aspects for the monitored computing infrastructure. The disclosed monitoring technology typically is deployed on the computing infrastructure of a server and creates a topological map of the entire data center, including all of its hosted applications. The same monitoring technology can be used to monitor several data centers at once or only a portion of one data center.
Some embodiments” of the disclosed technology may deploy different types agents to specific entities in the monitored computing environment. Each agent type can monitor and report on a particular topological aspect in the monitored computing environment. Each agent type can provide topology data for a specific aspect, as well as correlation data. This allows the data to be correlated with data from another agent type. A virtualization agent, for example, may provide topology data related to virtualization, such as e.g. Data defining the virtualized computer systems that run on each hypervisor. Operating system agents may provide topology data related to the operating system, such as information about type and release of the monitored OS. Virtualization agent and operating systems agents may also provide correlation data in addition to topology information. This allows for topology information describing a virtualized computer to be matched with topology details describing the running operating system on that virtualized system. Operating system agents can also provide monitoring data that describes the processes running on a monitored operating system. This is done by grouping processes with similar or identical functionality together into process groups. Operating system agents can report topological and monitoring data on the basis of process groups instead of individual processes. It is more helpful to report on the availability of specific functionality in the system over time by reporting on process groups rather than individual processes.
Variants” of these embodiments can deploy operating system agents to monitor the communication and processes performed by monitored processes. These embodiment variants can also deploy transaction agents for processes that are involved in the execution and distribution of distributed transactions. Transaction agents provide transaction tracking data enhanced with service description information allowing the identification and description of the services called to complete the monitored transaction. The service description data can also include correlation data that allows to identify both the process group in which the service is executed, and the operating system where the process was executed.
In other variants, an individual or clustered node monitors receives entity and relationship information, transaction trace data, and monitoring data, from different agents, and forms a layered and integrated topology model that reflects virtualization, operating systems and processes execution, communication between processes, and transaction-related service call dependencies of the virtual and physically computing infrastructure, and the deployed applications in the monitored data centre.
The monitoring node can analyze the data that describes service calls as part of the incoming transaction trace data and monitoring data in order to identify services accessed outside the datacenter. Monitoring data that describes those outside accessible service can be analyzed in order to identify applications accessible outside of the data center. One application can be assigned multiple outside accessible services. Internal services that are directly or indirectly accessed via one or more of the outside accessible services in an application can also be assigned.
The monitoring node can create a layered, integrated topology model from the topology monitoring and transaction monitoring data. Each layer can describe a different view on the monitored computing infrastructure, including applications. It may contain a particular type of topology entity. Each layer can also display the communication relationships specific to that layer. A process group layer, for example, may display all topology entities that describe process groups. The layer may also display detected communication activities between processes. A layer for operating systems may display all topology entities that describe operating systems, including communication between operating systems. Operating systems’ communication activities may be determined by the communication activities detected in processes running on operating systems. The visualization of the topology model can stack layers to place more functionality-related layers, such as layers describing detected services and applications and their call relationship, above layers describing software and hardware aspects of computing infrastructure. The monitored application as well as the monitoring node can be installed fully or partly in an environment which allows automatic adaptation of the computing environment to the needs of the monitored applications and the amount of monitoring data generated, such as a public or private cloud computing environment.
Further areas will be apparent from the description herein. This summary and the specific examples are for illustration purposes only. They do not limit the scope of disclosure.
The drawings herein are intended to illustrate selected embodiments only and not all possible implementations. They do not limit the scope and meaning of the present disclosure.
FIG. FIG. 1 is an example of a layered visualisation of an integrated topology of a monitored date center, and the applications and service provided by it.
FIG. The block diagram 3 shows a data center infrastructure that is monitored by various agent types. Each agent type provides monitoring data which describes different topological aspects. Monitoring data is processed in a monitoring node, which creates an integrated topology of the monitored data centre.
Click here to view the patent on Google Patents.