# US 12,112,190 B2 · Methods and apparatus to manage monitoring agents

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,112,190 B2
- Document ID: US12112190B2
- Status: Granted
- Kind: B2
- Application number: 18/057,715
- Filed: 2022-11-21
- Published: 2023-03-23
- Granted: 2024-10-08
- Earliest claimed: 2014-06-30
- Assignees: VMware, Inc.
- Applicants: VMware LLC
- Inventors: Lital Hassine; Scott Feldstein; Moran Shimron
- Web page: https://patentgrep.com/patent/US12112190B2

## CPC

- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 8/61: Installation
- G06F 9/50: Allocation of resources, e.g. of the central processing unit [CPU]
- G06F 11/30: Monitoring
- G06F 11/3006: {where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems (multiprogramming arrangements G06F9/46; allocation of resources G06F9/50)}
- G06F 11/3051: {Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs (verification or detection of system hardware configuration G06F11/2247)}
- G06F 11/3433: {for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029)}
- G06F 2009/4557: {Distribution of virtual machine instances; Migration and load balancing}
- G06F 2009/45575: {Starting, stopping, suspending or resuming virtual machine instances}
- G06F 2009/45591: {Monitoring or debugging support}
- G06F 2009/45595: {Network integration; Enabling network access in virtual machine instances}
- G06F 2201/815: Virtual
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Methods and apparatus to manage a dynamic deployment environment including one or more virtual machines. A disclosed example involves: (a) automatically scanning the virtual machines in the deployment environment to identify a service installed on any of the virtual machines; (b) automatically determining whether the identified service corresponds to a service monitoring rule; (c) when the service corresponds to the service monitoring rule, automatically determining whether a monitoring agent identified by the service monitoring rule is installed on the virtual machines on which the service is installed; (d) when the monitoring agent identified by the service monitoring rule is not installed on the virtual machines on which the service is installed, automatically installing the monitoring agent on the virtual machines on which the service is installed; and (e) when the monitoring agent identified by the service monitoring rule is installed on the virtual machines on which the service is installed, automatically configuring the monitoring agent to monitor the service in accordance with the service monitoring rule on the virtual machines on which the service is installed, wherein (a), (b), (c), (d) and (e) are repeatedly performed without human intervention.

## Claims

### Claim 1

A method to manage a dynamic deployment environment including one or more virtual machines, the method comprising:
scanning, by executing a computer readable instruction with a processor, the virtual machines in the deployment environment to identify a service installed on any of the virtual machines;
determining, by executing a computer readable instruction with the processor, the identified service corresponds to a service monitoring rule;
determining, by executing a computer readable instruction with the processor, that a monitoring agent identified by the service monitoring rule is installed on the one or more virtual machines on which the service is installed; and
configuring the monitoring agent, by executing a computer readable instruction with the processor, to monitor the service in accordance with the service monitoring rule on the at least one of the virtual machines on which the service is installed.

### Claim 2 (depends on 1)

The method as defined in claim 1, wherein the monitoring agent is a first monitoring agent, the service is a first service, and further including: (f) automatically detecting, by executing a computer readable instruction with the processor, a second monitoring agent installed on at least one of the virtual machines; (g) automatically determining, by executing a computer readable instruction with the processor, whether the second monitoring agent is monitoring any service; (h) when the second monitoring agent is not monitoring any service, automatically removing, by executing a computer readable instruction with the processor, the second monitoring agent from the at least one virtual machine; and (i) when the second monitoring agent is monitoring a second service but not the first service, automatically configuring, by executing a computer readable instruction with the processor, the second monitoring agent to monitor the first service, wherein (f), (g), (h), and (i) are repeatedly performed without human intervention.

### Claim 3 (depends on 1)

The method as defined in claim 1, further including, when the service is not installed on any of the one or more of the virtual machines and the monitoring agent is installed on one or more virtual machines, initiating removal of the monitoring agent corresponding to the service from the one or more virtual machines without user intervention.

### Claim 4 (depends on 1)

The method as defined in claim 1, wherein the scanning of the virtual machines occurs in response to detecting a configuration change of at least one of the virtual machines.

### Claim 5 (depends on 4)

The method as defined in claim 4, wherein the detecting of the configuration change includes executing a discovery script on the virtual machines.

### Claim 6 (depends on 1)

The method as defined in claim 1, wherein the scanning is performed by a service analyzer separate from the virtual machines.

### Claim 7 (depends on 1)

The method as defined in claim 1, wherein the monitoring agent collects performance data for the service, tracks events generated by the service, and allows a user to start and stop the service from a virtual machine monitor.

### Claim 8 (depends on 1)

The method as defined in claim 1, wherein the service monitoring rule defines metrics used by the monitoring agent to monitor the service.

### Claim 9

A system to manage a dynamic deployment environment including virtual machines, the system, comprising: a service analyzer configured to:
scan the virtual machines in the deployment environment to identify a service installed on any of the virtual machines;
determine the identified service corresponds to a service monitoring rule;
determine that a monitoring agent identified by the service monitoring rule is installed on the one or more virtual machines on which the service is installed; and
configure the monitoring agent to monitor the service in accordance with the service monitoring rule on the at least one of the virtual machines on which the service is installed.

### Claim 10 (depends on 9)

The system as defined in claim 9, wherein the monitoring agent is a first monitoring agent, the service is a first service, and the service analyzer is to repeatedly, without human intervention: automatically detect a second monitoring agent installed on at least one of the virtual machines; automatically determine whether the second monitoring agent is monitoring any service; and the agent installer is to: when the second monitoring agent is not monitoring any service, automatically remove the second monitoring agent from the at least one virtual machine; and when the second monitoring agent is monitoring a second service but not the first service, automatically configure the second monitoring agent to monitor the first service.

### Claim 11 (depends on 9)

The system as defined in claim 9, wherein the service analyzer is to scan the virtual-machines in response to detecting a configuration change of at least one of the virtual machines.

### Claim 12 (depends on 11)

The system as defined in claim 11, wherein the service analyzer is to detect the configuration change by executing a discovery script on the virtual machines.

### Claim 13 (depends on 9)

The system as defined in claim 9, wherein the service monitoring rule defines metrics used by the monitoring agent to monitor the service.

### Claim 14 (depends on 9)

The system as defined in claim 9, wherein the service analyzer and the agent installer are separate from the virtual machines.

### Claim 15 (depends on 9)

The system as defined in claim 9, wherein the monitoring agent is to collect performance data for the service, to track events generated by the service, and to allow a user to start and stop the service from a virtual machine monitor.

### Claim 16

A tangible computer readable storage medium comprising computer readable instructions which, when executed, cause a processor to perform the following:
scanning the virtual machines in the deployment environment to identify a service installed on any of the virtual machines;
determining whether the identified service corresponds to a service monitoring rule;
determining that a monitoring agent identified by the service monitoring rule is installed on the one or more virtual machines on which the service is installed; and
configuring the monitoring agent to monitor the service in accordance with the service monitoring rule on the at least one of the virtual machines on which the service is installed.

### Claim 17 (depends on 16)

The tangible computer readable storage medium as defined in claim 16, wherein the monitoring agent is a first monitoring agent, the service is a first service, and the instructions further cause the processor to: (f) automatically detect a second monitoring agent installed on at least one of the virtual machines with the service analyzer; (g) automatically determine whether the second monitoring agent is monitoring any service with the service analyzer; (h) when the second monitoring agent is not monitoring any service, automatically remove the second monitoring agent from the at least one virtual machine with the agent installer; and (i) when the second monitoring agent is monitoring a second service but not the first service, automatically configure, with the agent installer, the second monitoring agent to monitor the first service, wherein (f), (g), (h), and (i) are repeatedly performed without human intervention.

### Claim 18 (depends on 16)

The tangible computer readable storage medium as defined in claim 16, wherein the service monitoring rule defines metrics used by the monitoring agent to monitor the service.

### Claim 19 (depends on 16)

The tangible computer readable storage medium as defined in claim 16, wherein the monitoring agent collects performance data for the service, tracks events generated by the service, and allows a user to start and stop the service from a virtual machine monitor.

### Claim 20 (depends on 16)

The tangible computer readable storage medium as defined in claim 16, wherein the service monitoring rule defines metrics used by the monitoring agent to monitor the service.
