CN109960634B - Application program monitoring method, device and system - Google Patents

Application program monitoring method, device and system Download PDF

Info

Publication number
CN109960634B
CN109960634B CN201910255968.1A CN201910255968A CN109960634B CN 109960634 B CN109960634 B CN 109960634B CN 201910255968 A CN201910255968 A CN 201910255968A CN 109960634 B CN109960634 B CN 109960634B
Authority
CN
China
Prior art keywords
application
monitoring server
application program
agent
monitoring
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910255968.1A
Other languages
Chinese (zh)
Other versions
CN109960634A (en
Inventor
王文岩
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
New H3C Technologies Co Ltd
Original Assignee
New H3C Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by New H3C Technologies Co Ltd filed Critical New H3C Technologies Co Ltd
Priority to CN201910255968.1A priority Critical patent/CN109960634B/en
Publication of CN109960634A publication Critical patent/CN109960634A/en
Application granted granted Critical
Publication of CN109960634B publication Critical patent/CN109960634B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/3017Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is implementing multitasking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3003Monitoring arrangements specially adapted to the computing system or computing system component being monitored
    • G06F11/302Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system component is a software system

Abstract

The invention discloses an application program monitoring method, a device and a system, wherein the application program monitoring method is applied to a host, the host comprises at least one Pod, the Pod comprises at least two containers, one of the at least two containers is provided with an application program agent, and the other of the at least two containers is provided with at least one application program respectively, and the method comprises the following steps: acquiring port identifiers of all application programs and Pod identifiers of Pods where the application programs are located; generating query identifiers of all application programs according to the port identifiers and the corresponding Pod identifiers; and sending the query identification. By implementing the invention, the unique identification of the application program is realized, when the IP address of the application program changes or a plurality of application programs are deployed in the same container, the query identification corresponding to each application program is not changed, and whether each application program is monitored can be judged by the uniqueness of the query identification.

Description

Application program monitoring method, device and system
Technical Field
The present invention relates to the field of computer technologies, and in particular, to a method, an apparatus, and a system for monitoring an application program.
Background
With the popularity of micro-service architecture, kubernetes open source orchestration software (k 8s for short), and container technology, more and more systems use container clusters to manage, deploy, and run component services of the system. The monitoring system is used as an important part in the whole safe operation and maintenance management, and is used for monitoring the application programs deployed in the container to obtain various index data in the running process of the application programs, finding out application faults in time and providing a data base for solving the application program faults.
Currently, the conventional application monitoring system is out-of-band monitoring, that is, various index data of various applications are collected through various protocols. Because the existing application monitoring system is usually managed by using the management IP, the existing application monitoring system is only suitable for application monitoring scenes with fixed static IP, the access IP of an application program in a container for management operation in a container cluster can be dynamically changed along with rescheduling of a Pod (such as Pod migration or downtime and re-creation, etc.), if a traditional application monitoring mode is adopted, the monitored application monitoring can be interrupted, and when a plurality of application programs are deployed in the same container, the traditional application monitoring mode cannot distinguish each application program, and it is difficult to accurately judge whether the application program is monitored, thereby influencing the performance of the whole monitoring system, and the requirements of safe operation and maintenance management are difficult to meet.
Disclosure of Invention
In view of the above, the embodiments of the present invention provide a method, an apparatus and a system for monitoring an application program, so as to solve the problem in the prior art that it is difficult to accurately determine whether the application program has been monitored.
According to a first aspect, an embodiment of the present invention provides an application monitoring method, applied to a host, where the host includes at least one Pod, the Pod includes at least two containers, one of the at least two containers is deployed with an application agent, and other containers of the at least two containers respectively deploy at least one application, and the method includes: acquiring port identifiers of the application programs and Pod identifiers of Pods where the application programs are located; generating query identifications of the application programs according to the port identifications and the corresponding Pod identifications; and sending the query identifier.
According to the application program monitoring method provided by the embodiment of the invention, the unique identification of the application program is realized through the port identification of the application program and the query identification generated by the Pod identification of the Pod where the port identification is located, and when the IP address of the application program changes or a plurality of application programs are deployed in the same container, the query identification corresponding to each application program is not changed, and whether each application program is monitored can be judged through the uniqueness of the query identification.
Optionally, the application monitoring method further includes: sending a connection verification message; receiving an acquisition instruction for acquiring data to be monitored; and sending the data to be monitored according to the acquisition instruction.
According to a second aspect, an embodiment of the present invention provides an application monitoring method, applied to a host, where the host includes at least one Pod, one of the at least one Pod is deployed with a monitoring server agent, and the monitoring server agent monitors at least one application agent, and the method includes: receiving query identifications sent by the application program agents, wherein the query identifications are generated by port identifications of all application programs and Pod identifications of Pods where the port identifications are positioned; and sending the query identifier.
According to the application program monitoring method provided by the embodiment of the invention, the unique identification of the application program is realized by receiving the query identification generated by the port identification of the application program and the Pod identification of the Pod where the port identification is located, and when the IP address of the application program changes or a plurality of application programs are deployed in the same container, the query identification corresponding to each application program is not changed, and whether each application program is monitored can be judged through the uniqueness of the query identification.
Optionally, the application monitoring method further includes: receiving a connection verification message; sending a connection verification message; receiving an acquisition instruction for acquiring data to be monitored; sending the acquisition instruction; and receiving and transmitting the data to be monitored.
According to a third aspect, an embodiment of the present invention provides an application monitoring method, applied to a monitoring server, where the method includes: receiving query identifications sent by monitoring server agents, wherein the query identifications are generated by port identifications of all application programs and Pod identifications of Pods where the application programs are located; and judging whether the application program is monitored or not according to the query identifier.
According to the application program monitoring method provided by the embodiment of the invention, the unique identification of the application program is realized by receiving the query identification generated by the port identification of the application program and the Pod identification of the Pod where the port identification is located, and when the IP address of the application program changes or a plurality of application programs are deployed in the same container, the query identification corresponding to each application program is not changed, and whether each application program is monitored or not can be judged through the uniqueness of the query identification, so that the application program is more convenient to monitor and manage.
Optionally, the application is monitored when the application is not monitored.
According to the application program monitoring method provided by the embodiment of the invention, when the query code of the application program is judged to have no corresponding monitoring data, the application program is judged to have not been monitored, so that the application program which is not monitored is correctly identified, and the application program is monitored.
Optionally, the application monitoring method further includes: receiving a connection verification message, and determining a connection state with an application agent according to the connection verification message; when the connection state is a communication state, sending an acquisition instruction for acquiring data to be monitored; and receiving data to be monitored, and monitoring the data to be monitored.
Optionally, the method further comprises: monitoring the monitoring server agent; judging whether the monitoring server agent is abnormal or not; and when the monitoring server is abnormal, starting a standby monitoring server to monitor at least one application program agent monitored by the monitoring server agent.
According to the application program monitoring method provided by the embodiment of the invention, the standby monitoring server agent is arranged, so that when the monitoring server agent is abnormal, the standby monitoring server agent can be automatically switched to, the practicability of the application program monitoring method is improved, and the problem that the application program cannot be monitored due to the abnormal monitoring server agent is avoided.
According to a fourth aspect, an embodiment of the present invention provides an application monitoring apparatus applied to a host, where the host includes at least one Pod, and the Pod includes at least two containers, one of the at least two containers is deployed with an application agent, and the other of the at least two containers is deployed with at least one application respectively, and the apparatus includes: the acquisition unit is used for acquiring the port identification of each application program and the Pod identification of the Pod where the application program is located; the processing unit is used for generating query identifications of the application programs according to the port identifications and the corresponding Pod identifications; and the first sending unit is used for sending the query identifier.
The application program monitoring device provided by the embodiment of the invention realizes the unique identification of the application program through the query identification generated by the port identification of the application program and the Pod identification of the Pod where the port identification is positioned, and when the IP address of the application program changes or a plurality of application programs are deployed in the same container, the query identification corresponding to each application program is not changed, and whether each application program is monitored can be judged through the uniqueness of the query identification.
According to a fifth aspect, an embodiment of the present invention provides an application monitoring apparatus applied to a host, the host including at least one Pod, one of the at least one Pod being deployed with a monitoring server agent that monitors at least one application agent, the apparatus comprising: the first receiving unit is used for receiving query identifications sent by the application program agents, wherein the query identifications are generated by port identifications of all application programs and Pod identifications of Pod where the port identifications are positioned; and the second sending unit is used for sending the query identifier.
The application program monitoring device provided by the embodiment of the invention realizes the unique identification of the application program by receiving the query identification generated by the port identification of the application program and the Pod identification of the Pod where the port identification is positioned, and when the IP address of the application program changes or a plurality of application programs are deployed in the same container, the query identification corresponding to each application program is not changed, and whether each application program is monitored can be judged by the uniqueness of the query identification.
According to a sixth aspect, an embodiment of the present invention provides an application monitoring apparatus, applied to a monitoring server, the apparatus including: the second receiving unit is used for receiving query identifications sent by the monitoring server agents, wherein the query identifications are generated by port identifications of all application programs and Pod identifications of Pods where the application programs are located; and the judging unit is used for judging whether the application program is monitored according to the query identifier.
The application program monitoring device provided by the embodiment of the invention realizes the unique identification of the application program by receiving the query identification generated by the port identification of the application program and the Pod identification of the Pod where the application program is located, and when the IP address of the application program changes or a plurality of application programs are deployed in the same container, the query identification corresponding to each application program is not changed, and whether each application program is monitored or not can be judged through the uniqueness of the query identification, so that the application program is more convenient to monitor and manage.
According to a seventh aspect, an embodiment of the present invention provides an application monitoring system, including: an application monitoring device according to a fourth aspect, an application monitoring device according to a fifth aspect, and an application monitoring device according to a sixth aspect.
According to an eighth aspect, an embodiment of the present invention provides an application monitoring system, including: the system comprises at least one first host, wherein the first host comprises at least one Pod, the Pod comprises at least two containers, one of the at least two containers is provided with an application agent, the other of the at least two containers is provided with at least one application program respectively, and the first host is used for acquiring port identifiers of the application programs and Pod identifiers of the pods where the application programs are located; generating query identifications of the application programs according to the port identifications and the corresponding Pod identifications; at least one second host, wherein the second host comprises at least one Pod, one of the at least one Pod is provided with a monitoring server agent, the monitoring server agent monitors at least one application program agent, and the second host is used for receiving a query identifier sent by the application program agent; and the monitoring server is used for receiving the query identifier sent by the monitoring server agent and judging whether the application program is monitored or not according to the query identifier.
The application program monitoring system provided by the embodiment of the invention realizes the unique identification of the application program through the query identification generated by the port identification of the application program and the Pod identification of the Pod where the application program is positioned, and the query identification corresponding to each application program is not changed when the IP address of the application program is changed or a plurality of application programs are deployed in the same container.
Optionally, the monitoring server is deployed outside the clusters to which the first host and the second host belong.
According to the application program monitoring system provided by the embodiment of the invention, the monitoring server is deployed outside the cluster, so that the monitoring server can directly communicate with the monitoring server agent, and the problem that the application program cannot be monitored due to complex data communication between the inside of the cluster and the outside of the cluster due to the limitation of excessive firewall opening rules is avoided.
According to a ninth aspect, an embodiment of the present invention provides an application monitoring system, including: the system comprises a plurality of hosts, a plurality of monitoring server agents and a plurality of application program agents, wherein the plurality of hosts are deployed with at least one application program agent and at least one monitoring server agent, and the monitoring server agent is used for receiving data to be monitored of at least one application program monitored by the application program agent; and the monitoring server is positioned outside the clusters to which the plurality of hosts belong and is used for receiving the data to be monitored of the application program sent by the monitoring server agent.
According to the application program monitoring system provided by the embodiment of the invention, the monitoring server is deployed outside the cluster, so that the monitoring server can directly communicate with the monitoring server agent, the problem that the application program cannot be monitored due to complex data communication between the inside of the cluster and the outside of the cluster due to the limitation of excessive opening rules of the firewall is avoided, and the purpose of monitoring the data to be monitored of the application program in the cluster is realized.
Optionally, the monitoring server agent is further configured to receive a query identifier sent by the application agent, where the query identifier is generated by a port identifier of each application and a Pod identifier of a Pod where the port identifier is located; the monitoring server is also used for receiving the query identification sent by the monitoring server agent.
The application program monitoring system provided by the embodiment of the invention realizes the unique identification of the application program through the query identification generated by the port identification of the application program and the Pod identification of the Pod where the application program is positioned, and the query identification corresponding to each application program is not changed when the IP address of the application program is changed or a plurality of application programs are deployed in the same container.
According to a tenth aspect, an embodiment of the present invention provides an electronic device, including: the system comprises a memory and a processor, wherein the memory and the processor are in communication connection, the memory stores computer instructions, and the processor executes the computer instructions, thereby executing the application program monitoring method in the first aspect, the second aspect or the third aspect or any optional implementation manner of the first aspect, the second aspect or the third aspect.
According to an eleventh aspect, an embodiment of the present invention provides a computer-readable storage medium storing computer instructions for causing the computer to perform the application monitoring method of the first aspect, the second aspect or the third aspect, or any optional implementation thereof.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings that are needed in the description of the embodiments or the prior art will be briefly described, and it is obvious that the drawings in the description below are some embodiments of the present invention, and other drawings can be obtained according to the drawings without inventive effort for a person skilled in the art.
FIG. 1 is a flow chart of an application monitoring method according to an embodiment of the present invention;
FIG. 2 is a flow chart of another method of application monitoring in accordance with an embodiment of the present invention;
FIG. 3 is a flow chart of another method of application monitoring in accordance with an embodiment of the present invention;
FIG. 4 is a schematic diagram illustrating a configuration of an application monitoring system according to an embodiment of the present invention;
FIG. 4A is a schematic diagram of an application monitoring interaction according to an embodiment of the present invention;
FIG. 4B is a schematic diagram of another application monitoring interaction according to an embodiment of the present invention;
FIG. 4C is a schematic diagram illustrating another configuration of an application monitoring system according to an embodiment of the present invention;
FIG. 5 is a schematic diagram illustrating another embodiment of an application monitoring system;
FIG. 6 is a schematic diagram illustrating a configuration of an application monitoring device according to an embodiment of the present invention;
FIG. 7 is a schematic diagram illustrating another embodiment of an application monitoring device;
FIG. 8 is a schematic diagram illustrating another embodiment of an application monitoring device;
FIG. 9 is a schematic diagram of another embodiment of an application monitoring system;
fig. 10 is a schematic structural diagram of an electronic device according to an embodiment of the present invention.
Detailed Description
For the purpose of making the objects, technical solutions and advantages of the embodiments of the present invention more apparent, the technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings in the embodiments of the present invention, and it is apparent that the described embodiments are some embodiments of the present invention, but not all embodiments of the present invention. All other embodiments, which can be made by those skilled in the art based on the embodiments of the invention without making any inventive effort, are intended to fall within the scope of the invention.
The technical features of the different embodiments of the invention described below may be combined with one another as long as they do not conflict with one another.
Example 1
In the embodiment provided by the invention, the applied container cluster is exemplified by the k8s container cluster which is created based on the Kubernetes open source orchestration software.
In a k8s cluster, a plurality of hosts are generally included, each host is operated with a plurality of Pod, the Pod is a basic operation unit of the k8s cluster, one Pod is formed by one container or a plurality of containers, the containers contained in the Pod are operated on the same host, and can be discovered and communicated with each other through a local host by using the same network command space, IP address and port, a storage volume space can be shared, applications in the same Pod can see the processes of each other, and the systems can also communicate with each other through a system Vipc or a posix message queue.
Fig. 1 shows a flowchart of an application monitoring method according to an embodiment of the invention. The method is applied to the host in the k8s cluster, the host comprises at least one Pod, the Pod comprises at least two containers, one of the at least two containers is provided with an application agent, the other of the at least two containers is provided with at least one application program respectively, the method can be used for monitoring each application program in the container cluster, as shown in fig. 1, and the method comprises the following steps:
s101: the application agent obtains the port identification of each application and the Pod identification of the Pod in which it is located.
Specifically, the smallest unit of creation, scheduling, and management in k8s is Pod. In practical application, the network driver of the container in the k8s cluster can be configured into an overlay network to solve the problem of cross-host communication of each container, and the use rule of the IP address can be re-planned for all nodes in the cluster, so that the Pod on different nodes can obtain the IP address which belongs to the same intranet and is not repeated, and the containers on different nodes can directly communicate through the intranet IP, wherein the IP address is the Pod identifier, the Pod identifier is uniformly distributed by the k8s cluster, and the Pod identifiers cannot conflict in the same k8s cluster. Each application is deployed in a corresponding container with its own port identification, for example: the port identifiers of the two application programs Tomcat1 and Tomcat2 deployed in the same Pod identifier as Pod1 are JMX:9001 and JMX:9002.
Thus, the application agent can obtain the port identification of each application within the same Pod and the Pod identification of the Pod where the application agent is located.
S102: the application agent generates query identifications of the application programs according to the port identifications and the corresponding Pod identifications.
Specifically, since the identifier of each Pod in the k8s cluster is different, and the application programs deployed in the same Pod have different port identifiers, a unique query identifier in the cluster can be generated according to the port identifier of the application program and the Pod identifier of the Pod where the application program is located. Thus, the problem that a plurality of identical applications cannot be distinguished in the same Pod can be solved.
In practical applications, the query identifier may be constructed as a universally unique identifier (Universally Unique Identifier, UUID code for short), for example: the UUID code of the application program Tomcat1 deployed in Pod1 is: it should be noted that, in practical application, the above-mentioned query identifier generating process may also be implemented in other manners, for example: the port identifier and the Pod identifier of the application program are combined to form the query identifier, which is not limited in the invention.
S103: the application proxy sends the query identification.
In practical application, the application agent sends the query identifier to the receiver monitoring the application through the application agent deployed in the same Pod as the application.
In addition, the application agent and the application program are deployed in the same Pod, and when the application agent monitors the application program, only the application port corresponding to the application program in the same Pod is monitored, so that all ports of the Pod are not required to be exposed to an external monitoring server, and the safety of safe operation and maintenance management is ensured.
Through the steps S101 to S103, in the application monitoring method provided by the embodiment of the present invention, the unique identifier of the application is realized through the port identifier of the application and the query identifier generated by the Pod identifier of the Pod where the port identifier of the application is located, and when the IP address of the application changes or a plurality of applications are deployed in the same container, the query identifier corresponding to each application is not changed, and in the process of monitoring the application, whether the application is monitored can be determined through the uniqueness of the query identifier.
In this embodiment, after an application program proxied by an application program proxy is monitored, monitoring management needs to be performed on the application program proxy, and after the application program proxy is started, the application program proxy is registered with a monitoring server through the monitoring server proxy, that is, monitoring on the application program proxy by the monitoring server is started, and as shown in fig. 4B, the method may include the following steps:
s104: the application proxy sends a connection verification message. In this embodiment, the connection verification message is used to verify the connection state between the application proxy and the monitoring server, specifically, the verification message may be a heartbeat message, the application proxy may periodically send the heartbeat message to the monitoring server proxy, the monitoring server proxy forwards the heartbeat message to the monitoring server, and the monitoring server may determine the connection state with the application proxy by whether the heartbeat message is received or not.
S105: the application agent receives an acquisition instruction for acquiring data to be monitored.
The monitoring server determines whether the monitoring data need to be acquired according to the connection state with the application agent. Specifically, when the monitoring server does not receive the heartbeat message beyond the preset duration, determining that communication between the monitoring server and the application program agent is abnormal; when the heartbeat message is received within the preset time, the monitoring server and the application program proxy can be determined to be normal in communication, so that the monitoring server can send an acquisition instruction to the application program proxy to enable the application program proxy to report data to be monitored to the monitoring server. The data to be monitored includes various index data of the corresponding application program in the running process, for example: the running time, the memory occupancy rate, the threads and the like of the running program can be used for processing and analyzing the index data to obtain the running condition of the running program, so that faults of the application program can be found in time, the operation and maintenance management is facilitated, and further the application program is monitored.
S106: and the application agent sends the data to be monitored according to the acquisition instruction.
The monitoring of the running state of the application program can be realized through a heartbeat mechanism, so that the running application program can be found in time, and the data to be monitored of the application program can be obtained according to the query identification of the application program.
Example 2
Fig. 2 shows a flow chart of another application monitoring method according to an embodiment of the invention. The method is applied to the host in the k8s cluster, the host comprises at least one Pod, one of the at least one Pod is provided with a monitoring server agent, the monitoring server agent monitors at least one application program agent, the method can be used for monitoring each application program in the container cluster, as shown in fig. 2, and the method comprises the following steps:
step S201: the monitoring server agent receives query identifications sent by the application agents, wherein the query identifications are generated by port identifications of all application programs and Pod identifications of pods where the application programs are located.
Specifically, the foregoing process of generating the query identifier may be specifically referred to the foregoing descriptions of step S101 and step S102, which are not described herein in detail. In practical application, the query identifier sent by the application program agent is received through the monitoring server agent.
Step S202: the monitoring server agent sends a query identification.
Specifically, query identifiers sent by all application agents monitored by the monitoring server agent are sent to the receiver monitoring each application.
Through the steps S201 to 202, the application monitoring method provided by the embodiment of the present invention realizes the unique identifier of the application by receiving the query identifier generated by the port identifier of the application and the Pod identifier of the Pod where the port identifier is located, and when the IP address of the application changes or a plurality of applications are deployed in the same container, the query identifier corresponding to each application will not change, and whether each application is monitored can be determined by the uniqueness of the query identifier.
As an optional implementation manner of this embodiment, before the monitoring server agent sends the query identifier, the application monitoring method further includes: operations for preprocessing received operation data, such as: and calculating a relevant threshold value in the operation data, comparing the relevant threshold value with a preset threshold value, if the threshold value is different from the preset threshold value, indicating that the application program has corresponding fault risk, further finishing the preliminary screening of the operation condition of the application program, and generating the screening result to a receiver of the monitoring application program together, so that operation and maintenance personnel can find faults in time, and operation and maintenance management are facilitated.
In this embodiment, after monitoring an application program proxied by an application program proxy, a monitoring server needs to monitor and manage the application program proxy, specifically, after the application program proxy is started, the monitoring server proxy is reported to the monitoring server to register, that is, the monitoring server is started to monitor the application program proxy, and specifically, as shown in fig. 4B, one end of the monitoring server proxy may include the following steps:
s203: the monitoring server agent receives the connection verification message. In this embodiment, the monitoring server may determine the communication state with the application agent through the heartbeat message.
S204: the monitoring server agent sends a connection verification message. The monitoring server agent only forwards the connection verification message sent by the application agent.
S205: the monitoring server agent receives an acquisition instruction for acquiring data to be monitored, wherein the acquisition instruction is sent when the connection state between the monitoring server and the application agent is a connected state. Specifically, when the monitoring server determines that the connection state is connected, an acquisition instruction for acquiring data to be monitored is sent to the monitoring server agent.
S206: the monitoring server agent sends an acquisition instruction which is used for acquiring data to be monitored. Specifically, the monitoring server agent sends an acquisition instruction to the application agent, so that the application agent acquires data to be monitored of the application according to the acquisition instruction, and in this embodiment, the monitoring server agent forwards the acquisition instruction generated by the monitoring server agent.
S207: and receiving and transmitting the data to be monitored. Specifically, the monitoring server agent forwards the data to be monitored sent by the application program agent to the monitoring server for processing.
Therefore, the monitoring of the running state of the application program can be realized through a heartbeat mechanism, the running application program can be found in time, and the data to be monitored of the application program can be obtained according to the query identification of the application program.
The monitoring server agent provided by the embodiment of the invention also realizes that the data to be monitored of each application program deployed inside the cluster is sent to the external server, so that the occupation of each application program to resources (CPU utilization rate, memory space and the like of the monitoring server) is prevented from being directly monitored by the external monitoring server, the load of the server is effectively shared, and in addition, the monitoring server agent can communicate with the inside and the outside of the k8s cluster through a data transmission protocol in an Overlay network, so that a firewall rule corresponding to the monitoring server agent only needs to be opened, a corresponding firewall rule does not need to be opened for each application program, and the problem that the application program cannot be monitored due to complex data communication between the inside and the outside of the cluster because of excessive limitation of the firewall opening rule in the prior art is solved.
Example 3
Fig. 3 shows a flow chart of another application monitoring method according to an embodiment of the invention. The method is applied to a monitoring server for monitoring the k8s cluster, and can be used for monitoring each application program in the container cluster, as shown in fig. 3, and comprises the following steps:
step S301: the monitoring server receives query identifications sent by the monitoring server proxy, wherein the query identifications are generated by port identifications of all application programs and Pod identifications of pods where the application programs are located.
Specifically, the foregoing process of generating the query identifier may be specifically referred to the foregoing descriptions of step S101 and step S102, which are not described herein in detail. In practical application, the query identifier sent by the monitoring server agent is received through the monitoring server.
Step S302: and the monitoring server judges whether the application program is monitored or not according to the query identifier.
Specifically, after the monitoring server receives the information such as the query identifier of each application program deployed in the k8s cluster and reported by the monitoring server proxy, whether the application program corresponding to the query identifier is managed by the monitoring server or not is determined by judging whether the query identifier exists according to the unique identifier of the application program, if the query identifier exists, the application program is indicated to belong to the monitored application program, and the currently received data to be monitored of the application program can be supplemented into the historical monitoring data corresponding to the query identifier, so that the continuity of the monitoring data of the same application program is maintained.
Through the steps S301 to 302, the application monitoring method provided by the embodiment of the invention realizes the unique identifier of the application by receiving the query identifier generated by the port identifier of the application and the Pod identifier of the Pod where the port identifier is located, and when the IP address of the application changes or a plurality of applications are deployed in the same container, the query identifier corresponding to each application is not changed, and whether each application is monitored or not can be judged through the uniqueness of the query identifier, so that the application is more convenient to monitor and manage.
As an optional implementation manner of this embodiment, when it is determined that the query identifier does not have a record, it is stated that the application program corresponding to the query identifier is not monitored, then monitoring of data to be monitored of the application program needs to be established according to the query identifier, so as to facilitate subsequent collection and use of the data to be monitored of the application program, in an actual application, a storage file of the data to be monitored of the application program corresponding to the query identifier may be established according to the query identifier, all the data to be monitored of the application program may be stored in the storage file, and analysis and processing are performed on the data to be monitored of the application program to obtain a specific running condition of the application program, and it is to be noted that the process of establishing monitoring the data to be monitored of the application program according to the query identifier may also be set according to actual needs. The above process is to monitor the application program for automatic judgment and identification without manual operation.
In this embodiment, after an application program proxied by the application program proxy is monitored, the monitoring server needs to monitor and manage the application program proxy, specifically, after the application program proxy is started, the application program proxy is reported to the monitoring server to register, that is, the monitoring server is started to monitor the application program proxy, and as shown in fig. 4B, one end of the monitoring server may include the following steps:
s303: the monitoring server receives the connection verification message, determines the connection state with the application program proxy according to the connection verification message, and specifically, the verification message is generated and sent by the application program proxy and is forwarded to the monitoring server through the monitoring server proxy.
S304: when the connection state is a connected state, the monitoring server sends an acquisition instruction for acquiring data to be monitored, and specifically, the acquisition instruction is forwarded to the application program agent through the monitoring server agent after being sent;
s305: the monitoring server receives the data to be monitored and monitors the data to be monitored, and specifically, the application program agent sends the data to be monitored according to the acquisition instruction after receiving the acquisition instruction, the data to be monitored is forwarded to the monitoring server through the monitoring server agent, and the data is monitored in the monitoring server.
As another alternative implementation manner of this embodiment, the proxy server is further connected to a standby monitoring server proxy, and the method further includes:
monitoring the running state of the monitoring server agent;
judging whether the monitoring server agent is abnormal or not;
and when the monitoring server is abnormal, starting the standby monitoring server to monitor at least one application program agent monitored by the monitoring server agent.
In practical application, the monitoring server includes a monitoring function, which can determine the state of the monitoring server agent by judging the time interval of receiving the heartbeat message sent by the monitoring server agent, and it should be noted that the time interval of sending the heartbeat message by the monitoring server agent can be adjusted according to the actual needs, which is not limited by the invention.
When the monitoring server monitors that an abnormality occurs in the monitoring server agent (which may also be referred to as an active monitoring server agent in this embodiment for convenience of distinction), for example: when the main monitoring server agent can not receive the data sent by the application program agents, the monitoring of the main monitoring server agent to each application program agent is automatically cut off, and the standby monitoring server agent is started to monitor each application program agent. After the main monitoring server agent is recovered to be normal, whether the standby monitoring server agent is automatically switched back to the original main monitoring server agent or not can be preset according to the actual situation.
In practical application, the number of the standby monitoring server agents connected with the monitoring server can be set according to the needs, for example, a plurality of standby monitoring server agents are set at the same time, the priority order of each standby monitoring server agent is set at the same time, when the monitoring server determines that the active monitoring server agent is abnormal, the standby monitoring server agents are switched according to the preset priority order, and when the standby monitoring server agents are abnormal, the other monitoring server agents can be continuously switched, so that the monitoring continuity is ensured through the setting of the plurality of standby monitoring server agents.
Specifically, in practical application, for each application agent in the k8s cluster, the IP addresses of the active monitoring server agent and the standby monitoring server agent may be configured in the configuration file, and when the application agent is started, the application agent may acquire the IP addresses of the active monitoring server agent and the standby monitoring server agent, and the application agent reports the acquired data to be monitored and the generated query identifier to the monitoring server through the active monitoring server agent. The application program agent is preferentially connected with the active monitoring server agent, and when the active monitoring server agent cannot be connected, the active monitoring server agent is connected with the standby monitoring server agent.
In practical application, the application agent may use a caching mechanism that is automatically restarted and provides collected data when the monitoring server agent and the monitoring server fail, and may cache the collected data according to a configured data caching time. When the monitoring server agent and the monitoring server fail or are connected with the application program agent, the application program agent has the capability of independently collecting and storing collected data, and after the failure is recovered or reconnected, the missing collected data can be transmitted to the monitoring server at one time, so that the usability of the application program monitoring method is improved.
It should be noted that, in this embodiment, the heartbeat message between the monitoring server and the monitoring server agent and the heartbeat message interacted between the monitoring server and the application agent are not the same heartbeat message. In this embodiment, the heartbeat message interacted between the monitoring server and the monitoring server proxy enables the monitoring server to timely establish communication with the standby monitoring server proxy when determining that a communication fault occurs between the monitoring server and the active monitoring server proxy, thereby ensuring high availability of the monitoring server proxy.
In practical applications, a plurality of monitoring servers may be further provided, and a zookeeper cluster mechanism may be adopted between each two monitoring servers. When one monitoring server is abnormal, rescheduling by a leader of the monitoring server, and distributing a monitoring server agent managed by the abnormal monitoring server to the monitoring server for management in normal operation; when the leader of the monitoring server is abnormal, the Zookeeper re-elects the leader of the monitoring server, and the leader of the newly elected monitoring server is used for scheduling, and the monitoring server agent managed by the abnormal monitoring server is distributed to the monitoring server which normally operates for management, so that the usability of the application program monitoring method is improved.
Example 4
Fig. 4 shows a schematic structural diagram of an application monitoring system according to an embodiment of the present invention. The system may implement the methods provided in example 1, example 2, example 3, or any alternative embodiment thereof, described above. The system may be used to monitor individual applications in a cluster of containers, as shown in fig. 4, the system comprising: at least one first host, at least one second host, and a monitoring server.
At least one first host 4, where the first host 4 includes at least one Pod, the Pod includes at least two containers, in this embodiment, two containers are included in the Pod, the container 41 and the container 42 are illustrated as examples, and the container 41 is deployed with an application agent 411, and the other container 42 is deployed with at least one application (412, 413, 414), and the first host 4 is configured to obtain a port identifier of each application (412, 413, 414) and a Pod identifier of the Pod deployed in the first host 4; generating a query identity for each application (412, 413, 414) from the port identity and the corresponding Pod identity;
at least one second host 40, the second host 40 includes at least one Pod, in this embodiment, two pods are taken as an example, wherein one Pod is deployed with a monitoring server agent 401, the other Pod is deployed with an application agent 411 and an application 415, the monitoring server agent 401 monitors at least one application agent 411, and the second host 40 is configured to receive query identifiers sent by each application agent 411;
the monitoring server 400 is configured to receive the query identifier sent by the monitoring server agent 401, and determine whether the application 412 is monitored according to the query identifier. In practical applications, the first host 4 and the second host 40 may be the same host, or may be two different hosts, for example: the Pod in the first host 4 is disposed in the second host 40, or the Pod in the second host 40 is disposed in the first host 4, which is not limited in the embodiment of the present invention.
Specifically, the application agent 411 deployed in the application monitoring system is used to execute the application monitoring method provided in the above embodiment 1, and the monitoring server agent 401 deployed in the application monitoring system is used to execute another application monitoring method provided in the above embodiment 2, and the monitoring server 400 deployed in the application monitoring system is used to execute another application monitoring method provided in the above embodiment 3, and detailed description of the parameters related to the above embodiments 1, 2 and 3 is not repeated here. Specifically, the interaction modes of the application agent 411, the monitoring server agent 401 and the monitoring server 400 can be referred to as an interaction diagram of the application monitoring system shown in fig. 4A or fig. 4B.
Through the cooperation of the above components, the application monitoring system provided by the embodiment of the invention realizes the unique identification of the application through the query identification generated by the port identification of the application and the Pod identification of the Pod where the port identification is located, and the query identification corresponding to each application is not changed when the IP address of the application is changed or a plurality of applications are deployed in the same container.
As an alternative implementation of this embodiment, as shown in fig. 4C, the monitoring server 400 is disposed outside the clusters to which the first host 4 and the second host 40 belong. In practical applications, the first host 4 and the second host 40 belong to k8s clusters, and each host communicates with data transmission in the k8s clusters through the container Overlay network, so as to realize cross-host communication. In the prior art, an application monitoring system is deployed in a management area (outside a k8s cluster), a k8s application program is deployed in a production area (inside the k8s cluster), a firewall is arranged between the management area and the production area for isolation, and the firewall can only open a limited number of firewall rules with definite rule definitions; because of the large number and scale of application 412, if the firewall rules to be opened are too many, the requirements of secure operation and maintenance management cannot be satisfied. Therefore, by disposing the monitoring server 400 outside the k8s cluster, the monitoring server 400 communicates with the inside and the outside of the k8s cluster through the data transmission protocol in the Overlay network, so that only the firewall rule corresponding to the monitoring server agent 401 needs to be opened, and a corresponding firewall rule does not need to be opened for each application program, thereby solving the problem that the application program cannot be monitored due to complex data communication between the inside and the outside of the cluster because of too many restrictions of the firewall opening rule in the prior art.
Example 5
Fig. 5 shows a schematic structural diagram of another application monitoring system according to an embodiment of the present invention. The system may implement the methods provided in example 1, example 2, example 3, or any alternative embodiment thereof, described above. As shown in fig. 5, the system includes: a plurality of hosts 501, in this embodiment, taking 3 hosts as an example for illustration, the plurality of hosts 501 are deployed with at least one application agent 5011 and at least one monitoring server agent 5012, in this embodiment, one of the hosts 501 is deployed with one monitoring server agent 5012, and one application agent 5011 and one application agent 5013 are deployed, and the other two hosts 501 are deployed with one application agent 5011 and a plurality of application agents 5013 respectively, where the monitoring server agent 5012 is configured to receive data to be monitored of at least one application program 5013 monitored by the application agent 5011; the monitoring server 502 is located outside the clusters to which the plurality of hosts 501 belong, and is configured to receive data to be monitored of an application program sent by the monitoring server agent 5012.
Specifically, the application proxy deployed in the application monitoring system is used to execute the application monitoring method provided in the foregoing embodiment 1, and the monitoring server deployed in the application monitoring system is used to execute another application monitoring method provided in the foregoing embodiment 2, and the monitoring server deployed in the application monitoring system is used to execute another application monitoring method provided in the foregoing embodiment 3, and details of the related descriptions in the foregoing embodiments 1, 2 and 3 are not repeated herein.
Through the cooperation of the above components, the application program monitoring system provided by the embodiment of the invention enables the monitoring server to directly communicate with the monitoring server agent by deploying the monitoring server outside the cluster, thereby avoiding the problem that the application program cannot be monitored due to complex data communication between the inside of the cluster and the outside of the cluster caused by too many restrictions of the firewall opening rules, and realizing the purpose of monitoring the data to be monitored of the application program in the cluster.
As another alternative implementation of this embodiment, the monitoring server agent 5012 is further configured to receive a query identifier sent by the application agent 5011, where the query identifier is generated by a port identifier of each application 5013 and a Pod identifier of a Pod where the query identifier is located; the monitoring server 503 is further configured to receive the query identifier sent by the monitoring server agent 5012. By the port identification of the application program 5013 and the query identification generated by the Pod identification of the Pod where the port identification is located, the unique identification of the application program 5013 is realized, and when the IP address of the application program 5013 changes or a plurality of application programs 5013 are deployed in the same container, the query identification corresponding to each application program 5013 is not changed, and the function of judging whether each application program is monitored or not through the uniqueness of the query identification is realized by the program monitoring system.
Example 6
Fig. 6 shows a schematic structural diagram of an application monitoring device according to an embodiment of the present invention. The apparatus can implement the method provided in embodiment 1 described above. The device can be used for monitoring each application program in the container cluster and applied to a host, wherein the host comprises at least one Pod, the Pod comprises at least two containers, one of the at least two containers is provided with an application program agent, and the other of the at least two containers is provided with at least one application program respectively, as shown in fig. 6, and the device comprises: acquisition unit 601, processing unit 602, and transmission unit 603.
The acquiring unit 601 is configured to acquire a port identifier of each application program and a Pod identifier of a Pod where the port identifier is located. See the relevant description of step S101 in example 1 for details.
And the processing unit 602 is configured to generate a query identifier of each application program according to the port identifier and the corresponding Pod identifier. See the relevant description of step S102 in example 1 for details.
A first sending unit 603, configured to send the query identifier. See the relevant description of step S103 in example 1 for details.
The application program monitoring device provided by the embodiment of the invention realizes the unique identification of the application program through the query identification generated by the port identification of the application program and the Pod identification of the Pod where the port identification is positioned, and when the IP address of the application program changes or a plurality of application programs are deployed in the same container, the query identification corresponding to each application program is not changed, and whether each application program is monitored can be judged through the uniqueness of the query identification.
In an alternative embodiment, the application monitoring device provided in the embodiment of the present invention further includes:
and the first verification message sending unit is used for sending the connection verification message. See the relevant description of step S103 in example 1 for details.
And the acquisition instruction first receiving unit is used for receiving an acquisition instruction for acquiring the data to be monitored. See the relevant description of step S104 in example 1 for details.
And the first monitoring data sending unit is used for sending the data to be monitored according to the acquisition instruction. See the relevant description of step S105 in example 1 for details.
Example 7
Fig. 7 shows a schematic structural diagram of an application monitoring device according to an embodiment of the present invention. The apparatus can implement the method provided in embodiment 2 described above. The device can be used for monitoring each application program in the container cluster and applied to a host, wherein the host comprises at least one Pod, the Pod comprises at least two containers, one of the at least two containers is provided with an application program agent, and the other of the at least two containers is provided with at least one application program respectively, as shown in fig. 7, and the device comprises: a first receiving unit 701 and a second transmitting unit 702.
The first receiving unit 701 is configured to receive a query identifier sent by an application agent, where the query identifier is generated by a port identifier of each application and a Pod identifier of a Pod where the port identifier is located. For details, see the description of step S201 in embodiment 2.
A second sending unit 702, configured to send the query identifier. See the relevant description of step S202 in example 2 for details.
The application program monitoring device provided by the embodiment of the invention realizes the unique identification of the application program by receiving the query identification generated by the port identification of the application program and the Pod identification of the Pod where the port identification is positioned, and when the IP address of the application program changes or a plurality of application programs are deployed in the same container, the query identification corresponding to each application program is not changed, and whether each application program is monitored can be judged by the uniqueness of the query identification.
In an alternative embodiment, the application monitoring device provided in the embodiment of the present invention further includes:
and the verification message second receiving unit is used for receiving the connection verification message. See the relevant description of step S203 in example 2 for details.
And the second verification message sending unit is used for sending the connection verification message. See the relevant description of step S204 in example 2 for details.
And the acquisition instruction second receiving unit is used for receiving an acquisition instruction for acquiring the data to be monitored. See the relevant description of step S205 in example 2 for details.
And the acquisition instruction second sending unit is used for sending the acquisition instruction. See the relevant description of step S206 in example 2 for details.
And the monitoring data forwarding unit is used for receiving and sending the data to be monitored. See the relevant description of step S207 in example 2 for details.
Example 8
Fig. 8 shows a schematic structural diagram of an application monitoring device according to an embodiment of the present invention. The apparatus can implement the method provided in embodiment 3 described above. The apparatus may be used to monitor individual applications in a cluster of containers, as shown in fig. 6, the apparatus comprising: applied to a host, the host comprises at least one Pod, the Pod comprises at least two containers, one of the at least two containers is deployed with an application agent, and the other of the at least two containers is respectively deployed with at least one application, as shown in fig. 8, the apparatus comprises: a second receiving unit 801 and a judging unit 802.
A second receiving unit 801, configured to receive a query identifier sent by the monitoring server proxy, where the query identifier is generated by a port identifier of each application program and a Pod identifier of a Pod where the port identifier is located. See the relevant description of step S301 in example 3 for details.
A judging unit 802, configured to judge whether the application program is monitored according to the query identifier. See the relevant description of step S302 in example 3 for details.
The application program monitoring device provided by the embodiment of the invention realizes the unique identification of the application program by receiving the query identification generated by the port identification of the application program and the Pod identification of the Pod where the application program is located, and when the IP address of the application program changes or a plurality of application programs are deployed in the same container, the query identification corresponding to each application program is not changed, and whether each application program is monitored or not can be judged through the uniqueness of the query identification, so that the application program is more convenient to monitor and manage.
In an alternative embodiment, the application monitoring device provided in the embodiment of the present invention further includes:
and the third receiving unit of the verification message is used for receiving the connection verification message and determining the connection state with the application program proxy according to the connection verification message. See the relevant description of step S303 in example 3 for details.
And the acquisition instruction third sending unit is used for sending an acquisition instruction for acquiring the data to be monitored when the connection state is the connected state. See the relevant description of step S304 in example 3 for details.
And the third receiving unit for the monitoring data is used for receiving the data to be monitored and monitoring the data to be monitored. See the relevant description in example 3 for details.
And the monitoring unit is used for monitoring the monitoring server agent. See the relevant description in example 3 for details.
And the judging unit is used for judging whether the monitoring server agent is abnormal or not. See the relevant description in example 3 for details.
And the standby unit is used for starting the standby monitoring server agent to monitor at least one application program agent monitored by the monitoring server agent when the monitoring server is abnormal. See the relevant description in example 3 for details.
Example 9
Fig. 9 shows a schematic structural diagram of another application monitoring system according to an embodiment of the present invention. The system may implement the methods provided in example 1, example 2, example 3, or any alternative embodiment thereof, described above. The system may be used to monitor individual applications in a container cluster, as shown in fig. 9, the application monitoring system comprising: the details of the application monitoring device 6 described in the above embodiment 6, the application monitoring device 7 described in the above embodiment 7, and the application monitoring device 8 described in the above embodiment 8 are referred to in the related descriptions in the above embodiments 6 to 8, and will not be described here again.
The application program monitoring system provided by the embodiment of the invention realizes the unique identification of the application program by receiving the query identification generated by the port identification of the application program and the Pod identification of the Pod where the application program is located, and when the IP address of the application program changes or a plurality of application programs are deployed in the same container, the query identification corresponding to each application program is not changed, and whether each application program is monitored or not can be judged through the uniqueness of the query identification, so that the application program is more convenient to monitor and manage.
Example 10
Fig. 10 illustrates an electronic device according to an embodiment of the invention, which may include a processor 901 and a memory 902, as shown in fig. 10, wherein the processor 901 and the memory 902 may be connected via a bus or otherwise, as exemplified by the bus connection in fig. 10.
The processor 901 may be a central processing unit (Central Processing Unit, CPU). The processor 901 may also be other general purpose processors, digital signal processors (Digital Signal Processor, DSP), application specific integrated circuits (Application Specific Integrated Circuit, ASIC), field programmable gate arrays (Field-Programmable Gate Array, FPGA) or other programmable logic devices, discrete gate or transistor logic devices, discrete hardware components, or a combination thereof.
The memory 902 is used as a non-transitory computer readable storage medium, and may be used to store non-transitory software programs, non-transitory computer executable programs, and modules, such as program instructions/modules (e.g., the acquisition unit 601, the processing unit 602, and the first sending unit 603 shown in fig. 6) corresponding to a method of managing, using, or constructing a container image in an embodiment of the present invention. The processor 901 executes various functional applications of the processor and data processing, that is, implements the monitoring method of the application program in the above-described method embodiment, by running non-transitory software programs, instructions, and modules stored in the memory 902.
The memory 902 may include a storage program area and a storage data area, wherein the storage program area may store an operating system, at least one application program required for a function; the storage data area may store data created by the processor 901, and the like. In addition, the memory 902 may include high-speed random access memory, and may also include non-transitory memory, such as at least one magnetic disk storage device, flash memory device, or other non-transitory solid state storage device. In some embodiments, memory 902 optionally includes memory remotely located relative to processor 901, which may be connected to processor 901 via a network. Examples of such networks include, but are not limited to, the internet, intranets, local area networks, mobile communication networks, and combinations thereof.
One or more modules are stored in the memory 902 that, when executed by the processor 901, perform the application monitoring method of the method embodiments described above.
The specific details of the electronic device may be correspondingly understood by referring to the corresponding related descriptions and effects in the embodiments shown in embodiments 1 to 3, which are not repeated herein.
It will be appreciated by those skilled in the art that implementing all or part of the above-described embodiment method may be implemented by a computer program to instruct related hardware, and the program may be stored in a computer readable storage medium, and the program may include the above-described embodiment method when executed. The storage medium may be a magnetic Disk, an optical Disk, a Read-Only Memory (ROM), a random access Memory (Random Access Memory, RAM), a Flash Memory (Flash Memory), a Hard Disk (HDD), or a Solid State Drive (SSD); the storage medium may also comprise a combination of memories of the kind described above.
Although embodiments of the present invention have been described in connection with the accompanying drawings, various modifications and variations may be made by those skilled in the art without departing from the spirit and scope of the invention, and such modifications and variations are within the scope of the invention as defined by the appended claims.

Claims (7)

1. An application monitoring method applied to a host and a monitoring server, wherein the host comprises at least one Pod, the Pod comprises at least two containers, one of the at least two containers is deployed with an application agent, the other of the at least two containers is respectively deployed with at least one application, one of the at least one Pod is deployed with a monitoring server agent, and the monitoring server agent monitors the at least one application agent, the method comprises:
the application agent acquires the port identification of each application program and the Pod identification of the Pod where the application program is located;
the application agent generates query identifications of the application programs according to the port identifications and the corresponding Pod identifications;
the query identifier is sent to a monitoring server agent for monitoring the application program through an application program agent which is deployed in the same Pod with the application program, and the query identifier is used for querying whether the corresponding application program is monitored;
the monitoring server agent receives the query identification sent by the application agent;
and sending query identifications sent by all application program agents monitored by the monitoring server agent to a monitoring server for monitoring each application program, so that the monitoring server determines whether the application program corresponding to the query identifications is managed and monitored by the monitoring server by judging whether the query identifications exist or not, and supplementing currently received data to be monitored about the application program into historical monitoring data corresponding to the query identifications if the query identifications exist.
2. The application monitoring method as set forth in claim 1, further comprising:
the application agent sends a connection verification message;
the application agent receives an acquisition instruction for acquiring data to be monitored;
and the application agent sends the data to be monitored according to the acquisition instruction.
3. The application monitoring method as set forth in claim 2, further comprising:
the monitoring server agent receives the connection verification message;
the monitoring server agent sends the connection verification message;
the monitoring server agent receives an acquisition instruction for acquiring data to be monitored;
the monitoring server agent sends the acquisition instruction;
and the monitoring server agent receives and transmits the data to be monitored.
4. The application monitoring method according to claim 3, further comprising:
the monitoring server receives the connection verification message and determines the connection state with the application program agent according to the connection verification message;
when the connection state is a connected state, the monitoring server sends an acquisition instruction for acquiring data to be monitored;
and the monitoring server receives the data to be monitored and monitors the data to be monitored.
5. The application monitoring method of claim 3, wherein the method further comprises:
the monitoring server monitors the monitoring server agent;
the monitoring server judges whether the monitoring server agent is abnormal or not;
and when the monitoring server is abnormal, the monitoring server starts the standby monitoring server agent to monitor at least one application program agent monitored by the monitoring server agent.
6. An electronic device, comprising:
a memory and a processor, the memory and the processor being communicatively coupled to each other, the memory having stored therein computer instructions, the processor executing the computer instructions to perform the application monitoring method of any of claims 1-5.
7. A computer readable storage medium storing computer instructions for causing the computer to perform the application monitoring method of any one of claims 1-5.
CN201910255968.1A 2019-03-29 2019-03-29 Application program monitoring method, device and system Active CN109960634B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910255968.1A CN109960634B (en) 2019-03-29 2019-03-29 Application program monitoring method, device and system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910255968.1A CN109960634B (en) 2019-03-29 2019-03-29 Application program monitoring method, device and system

Publications (2)

Publication Number Publication Date
CN109960634A CN109960634A (en) 2019-07-02
CN109960634B true CN109960634B (en) 2023-10-31

Family

ID=67025471

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910255968.1A Active CN109960634B (en) 2019-03-29 2019-03-29 Application program monitoring method, device and system

Country Status (1)

Country Link
CN (1) CN109960634B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112291288B (en) * 2019-07-24 2022-10-04 北京金山云网络技术有限公司 Container cluster expansion method and device, electronic equipment and readable storage medium
CN110427249A (en) * 2019-07-26 2019-11-08 重庆紫光华山智安科技有限公司 Method for allocating tasks, pod initial method and relevant apparatus
CN110515696A (en) * 2019-08-09 2019-11-29 济南浪潮数据技术有限公司 Information monitoring method and device
CN111064781A (en) * 2019-12-10 2020-04-24 北京金山云网络技术有限公司 Multi-container cluster monitoring data acquisition method and device and electronic equipment
CN111045908A (en) * 2019-12-13 2020-04-21 深圳前海环融联易信息科技服务有限公司 System performance monitoring method and device and computer equipment
CN112835766A (en) * 2021-02-10 2021-05-25 杭州橙鹰数据技术有限公司 Application monitoring method and device
CN116560893B (en) * 2023-07-07 2023-09-22 湖南开放大学(湖南网络工程职业学院、湖南省干部教育培训网络学院) Computer application program operation data fault processing system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB201709133D0 (en) * 2017-06-08 2017-07-26 British Telecomm Containerised programming
CN107197012A (en) * 2017-05-19 2017-09-22 焦点科技股份有限公司 A kind of service issue and supervisory systems and method based on metadata management system
CN109062655A (en) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 A kind of containerization cloud platform and server

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10476767B2 (en) * 2015-06-22 2019-11-12 Draios, Inc. Communication between independent containers
US10503623B2 (en) * 2016-04-29 2019-12-10 Ca, Inc. Monitoring containerized applications
US10505830B2 (en) * 2016-08-11 2019-12-10 Micro Focus Llc Container monitoring configuration deployment
US10244034B2 (en) * 2017-03-29 2019-03-26 Ca, Inc. Introspection driven monitoring of multi-container applications

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107197012A (en) * 2017-05-19 2017-09-22 焦点科技股份有限公司 A kind of service issue and supervisory systems and method based on metadata management system
GB201709133D0 (en) * 2017-06-08 2017-07-26 British Telecomm Containerised programming
CN109062655A (en) * 2018-06-05 2018-12-21 腾讯科技(深圳)有限公司 A kind of containerization cloud platform and server

Also Published As

Publication number Publication date
CN109960634A (en) 2019-07-02

Similar Documents

Publication Publication Date Title
CN109960634B (en) Application program monitoring method, device and system
US11296960B2 (en) Monitoring distributed applications
CN107547589B (en) Data acquisition processing method and device
DE102004052270B4 (en) Processing device management system
CN112073265B (en) Internet of things monitoring method and system based on distributed edge computing
CN109344014B (en) Main/standby switching method and device and communication equipment
US11188371B2 (en) Monitoring controller and a method performed thereby for monitoring network performance
CN106911648B (en) Environment isolation method and equipment
CN111258851B (en) Cluster alarm method, device, setting and storage medium
EP3132567B1 (en) Event processing in a network management system
CN112564994B (en) Flow monitoring method and device, cloud server and storage medium
CN108429656A (en) A method of monitoring physical machine network interface card connection status
US20180324063A1 (en) Cloud-based system for device monitoring and control
CN112929225A (en) Session exception handling method and device, computer equipment and storage medium
US8489727B2 (en) Active storage area network discovery system and method
CN108418860A (en) A kind of osd heartbeat means of communication based on ceph clusters
US10970148B2 (en) Method, device and computer program product for managing input/output stack
CN113946408A (en) Cloud native edge container control method and system and storage medium
CN110768812A (en) Server management system and method
CN113765690A (en) Cluster switching method, system, device, terminal, server and storage medium
CN116886286A (en) Big data authentication service self-adaption method, device and equipment
JP4673532B2 (en) Comprehensive alignment process in a multi-manager environment
CN114697334B (en) Method and device for executing scheduling task
CN106453118B (en) Flow control method and flow control system
US20230146880A1 (en) Management system and management method

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant