IP Library Granted Patent US 10,503,623
Granted Patent B2
US 10,503,623 · App. 15/142,918 · Granted Dec 10, 2019

Monitoring containerized applications

Inventor: Adam George Keller (Barrington, NH)
Assignee: CA, Inc.
G06F11/3006G06F9/45558G06F9/542G06F11/3409G06F11/3476G06F11/301G06F11/302G06F11/3452G06F2009/45591G06F2201/805G06F2201/865
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,503,623
App. No.
15/142,918
Granted
Dec 10, 2019
Kind
B2
Abstract

Methods and systems for monitoring containerized applications are disclosed herein. In one aspect, a containerized application that includes application program instructions and application runtime environment components is installed within an application server. An application manager determines an operational configuration of the containerized application within the application server. The application manager determines a monitor container image based, at least in part, on the determined operational configuration and an application container image of the containerized application. The application manager installs the monitor container image as a containerized monitor application that includes monitor program instructions and monitor runtime environment components that operate as a distinct execution unit managed by the same virtualization engine and the operating system kernel that manage runtime processes of the containerized application.

Claims (84)

1. A method for monitoring containerized applications, said method comprising:

detecting installation of a first containerized application within an application server, wherein the first containerized application comprises application program instructions and application runtime environment components that operate as a distinct execution unit managed by a virtualization engine and an operating system kernel;

based on determining that the first containerized application is not associated with a monitor container image,

determining an operational configuration of the first containerized application within the application server;

selecting a first monitor container image based, at least in part, on the determined operational configuration and a first application container image of the first containerized application; and

installing the first monitor container image as a first containerized monitor application within the application server, wherein the first containerized monitor application comprises monitor program instructions and monitor runtime environment components that operate as a distinct execution unit managed by the virtualization engine and the operating system kernel that manage runtime processes of the first containerized application;

detecting installation of a second containerized application within the application server; and

based on detecting installation of the second containerized application and based on determining that the second containerized application is associated with a second monitor container image, installing the second monitor container image as a second containerized monitor application within the application server, wherein the second containerized monitor application comprises monitor program instructions and monitor runtime environment components that operate as a distinct execution unit managed by the virtualization engine and the operating system kernel that manage runtime processes of the second containerized application.

2. The method of claim 1 , wherein the application server is communicatively coupled to an application management server in which a plurality of monitor container images and a plurality of application container images are recorded, and wherein said selecting the first monitor container image comprises:

accessing the plurality of application container images to identify and retrieve the first application container image;

identifying the application runtime environment components from the first application container image; and

selecting one of the plurality of monitor container images based, at least in part, on the application runtime environment components.

3. The method of claim 1 , wherein the first application container image includes the application runtime environment components that operate with the application program instructions as a distinct execution unit managed by the virtualization engine and the operating system kernel, and wherein the first monitor container image includes at least one of:

the application runtime environment components; and

monitoring program instructions that operate with at least one of the application runtime environment components as a distinct execution unit managed by the virtualization engine.

4. The method of claim 1 , further comprising:

configuring the first containerized monitor application to operate in an inactive mode in which data collection is not performed; and

based on detecting a specified event, activating data collection by the first containerized monitor application, wherein said activating data collection comprises configuring data collection based, at least in part, on an error identified in the specified event.

5. The method of claim 4 , further comprising:

determining from the error identified in the specified event, a data source associated with the specified event; and

configuring the data collection based, at least in part, on the determined data source.

6. The method of claim 1 , wherein said determining the operational configuration of the first containerized application comprises:

identifying the application runtime environment components from an application container image file; and

determining a data source to be accessed by the first containerized monitor application based on at least one of the application runtime environment components.

7. The method of claim 1 , further comprising:

based on determining that the first containerized application is in a software as a service client access configuration,

configuring the first containerized monitor application to serve as a proxy for a network traffic load balancer of the first containerized application; and

configuring the first containerized monitor application to direct network traffic to the first containerized application.

8. The method of claim 1 , wherein determining that the second containerized application is associated with the second monitor container image comprises:

determining an identifier associated with the second containerized application;

identifying the second monitor container image based, at least in part, on the identifier; and

downloading the second monitor container image from an application management server to the application server.

9. One or more non-transitory machine-readable media having program code for monitoring containerized applications, the program code to:

detect installation of a first containerized application within an application server, wherein the first containerized application comprises application program instructions and application runtime environment components that operate as a distinct execution unit managed by a virtualization engine and an operating system kernel;

based on determining that the first containerized application is not associated with a monitor container image,

determine an operational configuration of the first containerized application within the application server;

select a first monitor container image based, at least in part, on the determined operational configuration and a first application container image of the first containerized application; and

install the first monitor container image as a first containerized monitor application within the application server, wherein the first containerized monitor application comprises monitor program instructions and monitor runtime environment components that operate as a distinct execution unit managed by the virtualization engine and the operating system kernel that manage runtime processes of the first containerized application;

detect installation of a second containerized application within the application server; and

based on detecting installation of the second containerized application and based on a determination that the second containerized application is associated with a second monitor container image, install the second monitor container image as a second containerized monitor application within the application server, wherein the second containerized monitor application comprises monitor program instructions and monitor runtime environment components that operate as a distinct execution unit managed by the virtualization engine and the operating system kernel that manage runtime processes of the second containerized application.

10. The machine-readable media of claim 9 , wherein the application server is communicatively coupled to an application management server in which a plurality of monitor container images and a plurality of application container images are recorded, and wherein the program code to select the first monitor container image comprises program code to:

access the plurality of application container images to identify and retrieve the first application container image;

identify the application runtime environment components from the first application container image; and

select one of the plurality of monitor container images based, at least in part, on the application runtime environment components.

11. The machine-readable media of claim 9 , wherein the first application container image includes the application runtime environment components that operate with the application program instructions as a distinct execution unit managed by the virtualization engine and the operating system kernel, and wherein the first monitor container image includes at least one of:

the application runtime environment components; and

monitoring program instructions that operate with at least one of the application runtime environment components as a distinct execution unit managed by the virtualization engine.

12. The machine-readable media of claim 9 , wherein the program code further comprises program code to:

configure the first containerized monitor application to operate in an inactive mode in which data collection is not performed; and

based on detecting a specified event, activate data collection by the first containerized monitor application, wherein the program code to activate data collection comprises program code to configure data collection based, at least in part, on an error identified in the specified event.

13. The machine-readable media of claim 12 , wherein the program code further comprises program code to:

determine from the error identified in the specified event, a data source associated with the specified event; and

configure the data collection based, at least in part, on the determined data source.

14. The machine-readable media of claim 9 , wherein the program code to determine the operational configuration of the first containerized application comprises program code to:

identify the application runtime environment components from an application container image file; and

determine a data source to be accessed by the first containerized monitor application based on at least one of the application runtime environment components.

15. The machine-readable media of claim 9 , further comprising program code to:

based on determining that the first containerized application is in a software as a service client access configuration,

configure the first containerized monitor application to serve as a proxy for a network traffic load balancer of the first containerized application; and

configure the first containerized monitor application to direct network traffic to the first containerized application.

16. The machine-readable media of claim 9 , wherein the program code to determine that the second containerized application is associated with the second monitor container image comprises:

determining an identifier associated with the second containerized application;

identifying the second monitor container image based, at least in part, on the identifier; and

downloading the second monitor container image from an application management server to the application server.

17. An apparatus comprising:

a processor; and

a machine-readable medium having program code executable by the processor to cause the apparatus to:

detect installation of a first containerized application within an application server, wherein the first containerized application comprises application program instructions and application runtime environment components that operate as a distinct execution unit managed by a virtualization engine and an operating system kernel;

based on determining that the first containerized application is not associated with a monitor container image,

determine an operational configuration of the first containerized application within the application server;

select a first monitor container image based, at least in part, on the determined operational configuration and a first application container image of the first containerized application; and

install the first monitor container image as a first containerized monitor application within the application server, wherein the first containerized monitor application comprises monitor program instructions and monitor runtime environment components that operate as a distinct execution unit managed by the virtualization engine and the operating system kernel that manage runtime processes of the first containerized application;

detect installation of a second containerized application within the application server; and

based on detecting installation of the second containerized application and based on a determination that the second containerized application is associated with a second monitor container image, install the second monitor container image as a second containerized monitor application within the application server, wherein the second containerized monitor application comprises monitor program instructions and monitor runtime environment components that operate as a distinct execution unit managed by the virtualization engine and the operating system kernel that manage runtime processes of the second containerized application.

18. The apparatus of claim 17 , wherein the application server is communicatively coupled to an application management server in which a plurality of monitor container images and a plurality of application container images are recorded, and wherein the program code to select the first monitor container image further comprises program code executable by the processor to cause the apparatus to:

access the plurality of application container images to identify and retrieve the first application container image;

identify the application runtime environment components from the first application container image; and

select one of the plurality of monitor container images based, at least in part, on the application runtime environment components.

19. The apparatus of claim 17 , wherein the program code further comprises program code executable by the processor to cause the apparatus to:

configure the first containerized monitor application to operate in an inactive mode in which data collection is not performed; and

based on detecting a specified event, activate data collection by the first containerized monitor application, wherein the program code to activate data collection comprises program code to configure data collection based, at least in part, on an error identified in the specified event.

20. The apparatus of claim 19 , wherein the program code further comprises program code executable by the processor to cause the apparatus to:

determine from the error identified in the specified event, a data source associated with the specified event; and

configure the data collection based, at least in part, on the determined data source.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 29, 2016
From: KELLER, ADAM GEORGE
To: CA, INC.
Reel/Frame 038424/0590 →
Continuity (1)
Related Publication 20170315795A1 · Nov 2, 2017
Cited By (2)
US 12,277,446 US 12,585,760