CN112115016A - Application performance monitoring system - Google Patents

Application performance monitoring system Download PDF

Info

Publication number
CN112115016A
CN112115016A CN202010784092.2A CN202010784092A CN112115016A CN 112115016 A CN112115016 A CN 112115016A CN 202010784092 A CN202010784092 A CN 202010784092A CN 112115016 A CN112115016 A CN 112115016A
Authority
CN
China
Prior art keywords
information
server
processing
control command
agent
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.)
Pending
Application number
CN202010784092.2A
Other languages
Chinese (zh)
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.)
Beijing Absolute Health Ltd
Original Assignee
Beijing Absolute Health 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 Beijing Absolute Health Ltd filed Critical Beijing Absolute Health Ltd
Priority to CN202010784092.2A priority Critical patent/CN112115016A/en
Publication of CN112115016A publication Critical patent/CN112115016A/en
Pending legal-status Critical Current

Links

Images

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/3006Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is distributed, e.g. networked systems, clusters, multiprocessor systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3051Monitoring arrangements for monitoring the configuration of the computing system or of the computing system component, e.g. monitoring the presence of processing resources, peripherals, I/O links, software programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system

Abstract

The invention discloses an application performance monitoring system, which comprises a performance monitor, a server cluster, an agent end and a database, wherein the performance monitor is used for sending monitoring information to the server cluster; the server cluster is used for receiving the monitoring information, generating a control command according to the monitoring information and sending the control command to the agent terminal; the agent end is used for receiving the control commands, writing the control commands into the command processing queue, sequentially processing the control commands according to the processing sequence in the command processing queue to obtain processing results, and packaging the processing results into messages to be issued to the server cluster; and the server cluster is also used for collecting and writing back the message and storing the message in the database. The system coordinates asynchronous communication between the proxy side and the server cluster, and simultaneously realizes efficient distribution of performance monitor information.

Description

Application performance monitoring system
Technical Field
The invention relates to the technical field of internet, in particular to an application performance monitoring system.
Background
An Application Performance Management (APM) is a solution for monitoring an enterprise system in real time to achieve systematization of Application Performance Management and fault Management. The method mainly monitors and optimizes key business applications of the enterprise, improves the reliability and quality of the enterprise applications, ensures that users obtain good services, and reduces the total cost of ownership of the enterprise. APM can be applied to several aspects:
(1) monitoring key application performance of an enterprise: the response time of the user is actually measured by means of transaction process monitoring, simulation and the like, and in addition, the user using the application, the use frequency of the application and whether the transaction process performed by the user is successfully completed can be reported;
(2) rapidly positioning performance faults of an application system: by monitoring various components (such as a database and middleware) of an application system, system faults, such as the occurrence of an Oracle database deadlock and the like, can be quickly located.
(3) Optimizing the system performance: the method has the advantages that the condition that each component of the system occupies system resources, the execution efficiency of the middleware and the database is accurately analyzed, expert suggestions are provided according to the performance requirements of the application system, the requirement on the system resources used in the whole life cycle is minimum, and the total cost of ownership is saved.
However, the existing application performance monitoring system can only monitor the application program running at the agent end in real time, and cannot control the running application timely and effectively, and the main reasons are that the existing application performance monitoring system is low in information distribution efficiency, poor in message distribution coordination among the server cluster, the agent end and the performance monitor, and cannot timely and effectively respond to the information issued by the performance monitor.
Disclosure of Invention
In view of this, the present application provides an application performance monitoring system, and mainly aims to solve the technical problems that a server cluster, an agent end and a performance monitor have poor message distribution coordination among each other, and cannot timely and effectively respond to information sent by the performance monitor.
According to a first aspect of the present invention, there is provided an application performance monitoring system, the system comprising a performance monitor, a server cluster, an agent side and a database, wherein:
the performance monitor is used for sending monitoring information to the server cluster;
the server cluster is used for receiving the monitoring information, generating a control command according to the monitoring information and sending the control command to the agent terminal;
the agent end is used for receiving the control command, writing the control command into a command processing queue, sequentially processing each control command according to the processing sequence in the command processing queue to obtain a processing result, and packaging the processing result into a message to be issued to the server cluster;
the server cluster is also used for collecting and writing back the message and storing the message in a database.
In one embodiment, the server cluster comprises a plurality of servers, and each server maintains a long connection state with at least one agent; each server in the server cluster is specifically configured to receive monitoring information sent by the performance monitor, generate a control command according to the monitoring information, and send the control command to an agent connected to the server.
In one embodiment, the monitoring information includes load monitoring information, cache monitoring information, configuration file monitoring information, and bytecode file monitoring information, and the performance monitor includes: the load monitoring module is used for monitoring the number of the agent terminals connected with each server in the server cluster and generating load monitoring information according to the number of the agent terminals connected with each server; the cache monitoring module is used for monitoring whether the cache information of each agent end is invalid or not and generating cache monitoring information according to the validity of the cache information of each agent end; the configuration monitoring module is used for monitoring whether the information of the configuration file of the application is updated or not and generating configuration file monitoring information according to the updating information of the configuration file; and the byte code monitoring module is used for monitoring whether the applied byte code file is updated or not and generating byte code file monitoring information according to the updating information of the byte code file.
In one embodiment, the performance monitor further comprises: the input module is used for inputting configuration file updating information and byte code file updating information; the display module is used for displaying the application performance monitoring information reported by the server cluster and the agent terminal in real time and the application performance monitoring information stored in the database; and the sending module is used for sending the load monitoring information, the cache monitoring information, the configuration file monitoring information and the byte code file monitoring information to a server side in the server cluster.
In an embodiment, the load monitoring module is specifically configured to monitor whether the number of the server-side connection agent sides exceeds a preset threshold; and if the number of the server side connection agent sides exceeds a preset threshold value, generating load monitoring information aiming at the server side, and sending the load monitoring information to the server side.
In an embodiment, the cache monitoring module is specifically configured to monitor whether server information in the cache information of the agent is consistent with information of a server currently connected to the agent; and if the server information in the cache information of the agent end is inconsistent with the information of the server currently connected with the agent end, generating cache monitoring information aiming at the agent end, and sending the cache monitoring information to the server connected with the agent end.
In one embodiment, the control commands include a load balancing control command, a cache invalidation control command, a configuration update control command, a bytecode update control command; the server includes: the command generation module is used for generating a load balance control command according to the load monitoring information; or generating a cache failure control command according to the cache monitoring information; or generating a configuration updating control command according to the configuration parameter monitoring information; or generating a bytecode update control command according to the bytecode monitoring information; and the command sending module is used for sending the load balance control command, the cache invalidation control command, the configuration updating control command and the byte code updating control command to an agent end connected with the server end.
In one embodiment, the server further includes: the message acquisition unit is used for acquiring the message issued by the agent terminal and analyzing the message to obtain the processing result of the control command; the processing result write-back unit is used for writing back the processing result of the control command to the server and storing the processing result of the control command in a database; the parameter checking unit is used for checking the parameters of the message issued by the agent terminal; and the heartbeat data processing unit is used for receiving and checking heartbeat data issued by the agent terminal.
In one embodiment, the agent side includes: the command processing queue is used for sequentially processing the received control commands according to the processing sequence of the control commands and sequentially outputting the processing results of the control commands, wherein the command processing queue comprises a command thread pool, a command idempotent processing unit, a command processing unit and a command processing thread; and the information encapsulation module is used for encapsulating the processing results of the control commands which are output in sequence into messages and sending the messages to the server side connected with the agent side.
In one embodiment, the command processing unit includes: the load balance processing subunit is used for processing the load balance control command and establishing or disconnecting long connection with the server according to the load balance control command; the cache invalidation processing subunit is used for processing the cache invalidation control command and deleting the invalidated cache information in the proxy end; the configuration updating processing subunit is used for processing the configuration updating control command and performing replacement processing on the configuration file to be updated; and the byte code file processing subunit is used for processing the byte code updating control command and enhancing the byte code file to be updated.
The invention provides an application performance monitoring system, which comprises a performance monitor, a server cluster, an agent end and a database, wherein the performance monitor is used for sending monitoring information to the server cluster; the server cluster is used for receiving the monitoring information, generating a control command according to the monitoring information and sending the control command to the agent terminal; the agent end is used for receiving the control commands, writing the control commands into the command processing queue, sequentially processing each control command according to the processing sequence in the command processing queue to obtain a processing result, and packaging the processing result into a message to be issued to the server cluster; the server cluster is also used for collecting and writing back the messages and storing the messages in a database. In the system, the server cluster converts the information sent by the application performance monitor into the control command and sends the control command to the agent end, so that the agent end can process each control command in sequence in a queue mode, and further, after the agent end processes the control command, the agent end can package the processing result of the control command into information and send the information to the server cluster, and the information is stored in a database or displayed on an interface of the performance monitor.
The foregoing description is only an overview of the technical solutions of the present application, and the present application can be implemented according to the content of the description in order to make the technical means of the present application more clearly understood, and the following detailed description of the present application is given in order to make the above and other objects, features, and advantages of the present application more clearly understandable.
Drawings
The accompanying drawings, which are included to provide a further understanding of the invention and are incorporated in and constitute a part of this application, illustrate embodiment(s) of the invention and together with the description serve to explain the invention without limiting the invention. In the drawings:
fig. 1 shows a schematic structural diagram of an application performance monitoring system according to an embodiment of the present invention.
Detailed Description
The invention will be described in detail hereinafter with reference to the accompanying drawings in conjunction with embodiments. It should be noted that the embodiments and features of the embodiments in the present application may be combined with each other without conflict.
In one embodiment, an application performance monitoring system is first provided, as shown in fig. 1, the system includes a performance monitor 101, a server cluster 102, an agent 103, and a database 104, where:
the performance monitor 101 includes a plurality of performance monitoring modules, which are respectively used for monitoring various performance indexes of applications running in real time at each server in the server cluster and each agent connected with each server, in addition, the performance monitoring system further includes an input module, a display module and an information sending module, wherein the input module includes but is not limited to input devices of various peripherals such as a touch screen, a keyboard, a mouse, etc., through the input module, the performance monitor can receive various application performance retrieval information input by a user, update information of a configuration file and update information of a byte code file, etc., the display module can be a display device such as a touch screen or a liquid crystal screen, etc., and can display information input by the user and information monitored by the performance monitor 101 in real time or information queried in a database, the sending module is configured to send the monitoring information generated by the performance monitor 101 to each server in the server cluster.
Further, the server cluster 102 includes a plurality of servers, each server maintains a long connection state with at least one agent, and each server includes a command generating module and a command sending module, where the command generating module is configured to receive the monitoring information sent by the performance monitor 101 and generate a corresponding control command according to the monitoring information, and the command sending module is configured to send the generated control command to the agent connected to the server. Here, a long connection means that a plurality of packets can be continuously transmitted over one connection, and if no packet is transmitted during the connection maintenance period, both sides need to transmit a link check packet. That is, when the network is stable, the connection between both parties is always present, and in the long connection state, the agent and the server can communicate at any time.
Further, the agent terminal 103 may be configured to receive a control command sent by a server terminal that is in long connection with the agent terminal, sequentially write the received control command into the command processing queue, sequentially process each control command according to a processing sequence in the command processing queue, obtain a processing result of each control command, and finally encapsulate the processing result of the command into a message and send the message to the server terminal connected to the agent terminal.
Further, the server in the server cluster 102 further includes a message collection module and a processing result write-back module, where the message collection module may collect the message sent by the agent 103, analyze and verify the message to obtain a processing result of the control command, and the processing result write-back module is configured to write back the processing result of the control command to the server and store the message in the database, so that the user can refer to the processing result of the control command through the performance monitor 101 at any time. By the asynchronous message processing mode, a complete closed loop with high-efficiency message processing is formed, the message distribution coordination among the server cluster, the agent end and the performance monitor is improved, the information processing burden of each module in the system is reduced, and the information distribution efficiency in the performance monitor system is improved.
In the application performance monitoring system provided in this embodiment, the performance monitor is configured to send monitoring information to the server cluster; the server cluster is used for receiving the monitoring information, generating a control command according to the monitoring information and sending the control command to the agent terminal; the agent end is used for receiving the control commands, writing the control commands into the command processing queue, sequentially processing each control command according to the processing sequence in the command processing queue to obtain a processing result, and packaging the processing result into a message to be issued to the server cluster; the server cluster is also used for collecting and writing back the messages and storing the messages in a database. In the system, the server cluster converts the information sent by the application performance monitor into the control command and sends the control command to the agent end, so that the agent end can process each control command in sequence in a queue mode, and further, after the agent end processes the control command, the agent end can package the processing result of the control command into information and send the information to the server cluster, and the information is stored in a database or displayed on an interface of the performance monitor.
Further, in a specific embodiment, in order to further refine the description of the foregoing embodiment, as shown in fig. 1, this embodiment further provides an application performance management system, which includes a performance monitor 101, a server cluster 102, an agent end 103, and a database 104, where:
the performance monitor 101 may include a plurality of performance monitoring modules, each of which is configured to monitor a part of performance of the server cluster or the agent, where the plurality of performance monitoring modules may specifically be one or more of a load monitoring module, a cache monitoring module, a configuration monitoring module, and a bytecode monitoring module. Based on this, the monitoring information sent by the performance monitor 101 may specifically be one or more of load monitoring information, cache monitoring information, configuration file monitoring information, and byte code file monitoring information. In contrast, the control command generated by each server in the server cluster 102 may specifically be one or more of a load balancing control command, a cache invalidation control command, a configuration update control command, and a bytecode update control command, and the command processing unit of the proxy 103 may specifically be one or more of a load balancing processing subunit, a cache invalidation processing subunit, a configuration update processing subunit, and a bytecode file processing subunit. Specifically, for various monitoring information generated by each performance monitoring module in the performance monitoring system, various control commands generated by the server, and the workflow of each command processing unit in the agent, see the following embodiments.
In an optional embodiment, the load monitoring module of the performance monitor 101 may be configured to monitor whether the number of the agent terminals connected to each server in the server cluster exceeds a preset threshold, and if the number of the agent terminals connected to a certain server exceeds the preset threshold, the load monitoring module may generate load monitoring information for the server and send the load monitoring information to the server whose load number exceeds the preset threshold, where the preset threshold may be a percentage value of an average value of the numbers of the agent terminals connected to all the servers, such as 120% of the average value of the numbers of the agent terminals connected to all the servers, and when data of the agent terminals connected to a certain server exceeds the preset threshold, the load monitoring module generates load monitoring information for the overload server and sends the load monitoring information to the corresponding server, and after the server receives the load monitoring information, the method includes that a part of agent terminals are appointed to cut off long connection with the overload server terminals, long connection with the agent terminals and a server terminal with a small load capacity is appointed to be established, then the server terminal can send the load balance control command to the corresponding agent terminals, and after the agent terminals receive the load balance control command, the agent terminals can cut off the long connection with the server terminal according to the load balance control command through a load balance processing subunit and establish long connection relations with other appointed server terminals, so that the load number of the agent terminals connected with the server terminals is balanced, and the application performance monitoring system can run stably.
In the above embodiment, the performance monitor 101 may monitor the number of the proxy terminals connected to each server in the server cluster in real time, and when it is determined that the number of the proxy terminals connected to one or more servers exceeds a preset threshold, send the load monitoring information to only the overloaded server, after receiving the load monitoring information, the overloaded server generates a load balancing control command according to the load monitoring information, then the overloaded server selects a part of the proxy terminals to send the load balancing control command, the proxy terminals that receive the load balancing control command will disconnect the long connection with the original server and establish long connection with the other assigned server, and the proxy terminals that do not receive the load balancing control command only need to maintain the existing long connection state, and by this way, the number of the proxy terminals and the server terminals participating in the load balancing control can be reduced to the maximum extent, the accuracy and the communication efficiency of information distribution are improved.
In this embodiment, the load monitoring module of the performance monitor can effectively monitor the load number of each server in real time, and determine the server with the overload, and then the load balancing subunit of the corresponding agent end can effectively control the load number of the server with the overload through the information issuing mode of the system, thereby effectively balancing the load number of each server and enabling the application performance monitoring system to run stably.
In an optional embodiment, the cache monitoring module of the performance monitor 101 may be configured to monitor whether the cache information of each agent end is invalid, that is, monitor whether the server information in the cache information of each agent end is consistent with the information of the server end currently connected to the agent end, if the server information in the cache information of one agent end is not consistent with the information of the server end currently connected to the agent end, the cache monitoring module may generate the cache monitoring information for the agent end and send the cache monitoring information to the server end connected to the agent end, after receiving the cache monitoring information, the server end may generate a corresponding cache invalidation control command, where the content of the cache invalidation control command may specifically include that the agent end that instructs cache invalidation deletes the invalidated cache information, and then the server end may send the cache invalidation control command to the corresponding agent end, after the proxy end receives the cache invalidation control command, the invalidated cache information can be deleted through the cache invalidation processing subunit, so that the operation burden of the proxy end is reduced, and the consistency of data is kept. In the above manner, only the proxy end with cache invalidation receives the cache invalidation control command, and deletes the invalidated cache information, thereby improving the accuracy of information distribution and the communication efficiency.
In this embodiment, the cache monitoring module of the performance monitor may effectively monitor the cache information of each agent end in real time, and determine the agent end with failed cache, and then, through the information issuing manner of the system, the cache failure processing subunit of the corresponding agent end deletes the failed cache information, thereby reducing the operation burden of the agent end and maintaining the consistency of the data.
In an optional embodiment, the configuration monitoring module of the performance monitor 101 may be configured to monitor whether configuration file information of an application is updated, if a user changes a configuration parameter of an application through the input module of the performance monitor 101 or uploads the configuration parameter of an application through an interface program, after obtaining the update information of the configuration file, the configuration monitoring module may generate configuration file monitoring information according to the update information of the configuration file and send the configuration file monitoring information to a server running the application, after receiving the configuration file monitoring information, the server may generate a corresponding configuration update control command, where the content of the configuration update control command may specifically include instructing each agent to replace an original configuration file with an updated configuration file, and then the server may send the configuration update control command to each agent connected thereto, after the agent end receives the configuration updating control command, the original configuration file can be replaced by the updated configuration file through the configuration updating processing subunit, so that the hot updating of the configuration parameters is realized, and the performance of the application performance monitoring system is improved. In the above manner, only the agent end running the application with parameter update will receive the configuration update control command, and implement the hot update of the configuration parameters through the configuration update processing subunit, thereby improving the accuracy and communication efficiency of information distribution.
In this embodiment, the configuration monitoring module of the performance monitor may effectively monitor the configuration file of the application running at each agent end in real time, receive the update information of the configuration file, and then, in an information issuing manner of the system, enable the configuration update processing subunit of the corresponding agent end to implement the hot update of the configuration parameters, thereby avoiding the restart operation of the agent end and improving the efficiency of updating the configuration file.
In an optional embodiment, the bytecode monitoring module of the performance monitor 101 may be configured to monitor whether the bytecode file of the application is updated, and if the user changes a bytecode file through the input module of the performance monitor 101 or uploads a bytecode file through the interface program, the bytecode monitoring module may generate bytecode file monitoring information according to the update information of the bytecode file after obtaining the update information of the bytecode file, and send the bytecode file monitoring information to the server connected to the agent running the bytecode file, and after receiving the bytecode file monitoring information, the server may generate a corresponding bytecode update control command, where the content of the bytecode update control command may specifically include a command for enhancing the original bytecode file by the agent storing the bytecode file, the original byte code file is replaced by the updated byte code file, wherein the byte code file enhancement processing refers to a mode of modifying the original byte code file in the running period after the byte code file is generated. Then, the server side can send the byte code update control command to each agent side connected with the server side, and after the agent side receives the byte code update control command, the agent side can perform enhancement processing on the original byte code file through the byte code file processing subunit so as to replace the original byte code file with the updated byte code file, thereby realizing dynamic update of the byte code file and improving the performance of the application performance monitoring system.
In the above embodiment, the node-burying operation may be directly performed on the running application, for example, the node-burying data such as the tag and the log is filled in the bytecode file, so as to monitor the application performance through the node-burying file, and in addition, the redundant code in the bytecode file may be removed in this way, so as to improve the performance of the system. In the above manner, only the agent end running the application with the corresponding class file receives the byte code update control command, and the dynamic update of the byte code file is realized through the byte code file processing subunit, so that the accuracy of information distribution and the communication efficiency are improved.
In this embodiment, the bytecode monitoring module of the performance monitor can effectively monitor the bytecode file of the application running at each agent end in real time, receive the update information of the bytecode file, and then, through the information issuing mode of the system, enable the corresponding bytecode file processing subunit at the agent end to realize dynamic update of the bytecode file, thereby avoiding the restart operation of the agent end and improving the efficiency of bytecode file update.
Further, in this embodiment, the performance monitor 101 further includes an input module, a display module, and a sending module, where the input module may be configured to input configuration file update information and bytecode file update information, the display module may be configured to display application performance monitoring information reported by the server cluster and the agent terminal in real time and application performance monitoring information stored in the database, and the sending module may be configured to send load monitoring information, cache monitoring information, configuration file monitoring information, and bytecode file monitoring information to the server cluster.
In this embodiment, as shown in fig. 1, the server includes a command generating module and a command sending module, where the command generating module may be configured to generate a load balancing control command according to the load monitoring information, or generate a cache failure control command according to the cache monitoring information, or generate a configuration update control command according to the configuration parameter monitoring information, or generate a bytecode update control command according to the bytecode monitoring information, and the command sending module may be configured to send the load balancing control command, the cache failure control command, the configuration update control command, and the bytecode update control command to an agent connected to the server.
Further, as shown in fig. 1, the server further includes a message collection module, a processing result write-back module, a parameter verification module, and a heartbeat data processing module, wherein, the message collection module can be used for collecting messages sent by the agent end and analyzing the messages to obtain the processing results of the control commands, the processing result write-back module can be used for writing back the processing results of the control commands to the server end and storing the processing results of the control commands in the database, so that the performance monitor 101 can retrieve the processing result of the command at any time, the parameter checking module can be used for checking the parameters of the message sent by the agent, the heartbeat data processing module can be used for receiving and checking heartbeat data issued by the agent end to verify the validity of the command processing result, and checking whether the proxy end and the server end keep the long connection state according to the heartbeat data issued by the proxy end.
Further, as shown in fig. 1, the agent includes a command processing queue and an information encapsulation module, where the command processing queue includes a command thread pool, a command idempotent processing unit, a command processing unit, and a command processing thread, the command processing queue is mainly used to sequentially process a plurality of received control commands according to a processing sequence of the control commands and sequentially output processing results of the control commands, and the information encapsulation module is used to encapsulate the sequentially output processing results of the control commands into messages and send the messages to the server connected to the agent. In this embodiment, the command thread pool may be configured to store unprocessed control commands, the command idempotent processing unit is configured to perform deduplication processing on repeated control commands, the command processing unit includes each processing subunit, and may implement different processing functions according to different control commands, and the command processing thread is configured to store processed control commands, and wait for a processing result of the control commands to be encapsulated as a message.
Further, as shown in fig. 1, the command processing unit may specifically include a load balancing processing subunit, a cache invalidation processing subunit, a configuration update processing subunit, and a bytecode file processing subunit, wherein, the load balance processing subunit can be used for processing the load balance control command and establishing or disconnecting the long connection with the service end according to the load balance control command, the cache failure processing subunit can be used for processing the cache failure control command, and delete the invalid cache information in the agent end, the configuration update processing subunit can be used for processing the configuration update control command, and the configuration file to be updated is replaced, the byte code file processing subunit can be used for processing the byte code update control command, and performing enhancement processing on the bytecode file to be updated, and specific processing procedures can be detailed in other embodiments in this embodiment.
The application performance monitoring system provided by the embodiment can monitor the application performance of the application when the system can be in a running state, namely, the configuration file and the byte code file of the application are dynamically updated in the process of running a plurality of application programs in the agent terminal, thereby avoiding the restarting operation of the application programs, reducing the complexity of modifying the configuration file and the byte code file of the application, improving the efficiency of updating the configuration file and the byte code file, meanwhile, the system can dynamically adjust the load quantity of each server, so that the quantity of the agent ends connected with each server end is kept relatively balanced, the stability of the system is improved, the system can also immediately clean the invalid cache of the agent end to improve the operating efficiency of the agent end, in addition, in the process of distributing the information by the system, the system also ensures the accuracy of the information issuing and improves the efficiency of information communication.
Based on such understanding, the technical solution of the present application may be embodied in the form of a software product, and the software product to be identified may be stored in a non-volatile storage medium (which may be a CD-ROM, a usb disk, a removable hard disk, or the like), and include several instructions to enable a computer device (which may be a personal computer, a server, or a network device) to execute the method according to the implementation scenarios of the present application.
The embodiment also provides an entity device for monitoring application performance, which may specifically be a personal computer, a server, a smart phone, a tablet computer, a smart watch, or other network devices, and the entity device includes a storage medium and a processor; a storage medium for storing a computer program; a processor for executing a computer program to implement the above method.
Optionally, the entity device may further include a user interface, a network interface, a camera, a Radio Frequency (RF) circuit, a sensor, an audio circuit, a WI-FI module, and the like. The user interface may include a Display screen (Display), an input unit such as a keypad (Keyboard), etc., and the optional user interface may also include a USB interface, a card reader interface, etc. The network interface may optionally include a standard wired interface, a wireless interface (e.g., WI-FI interface), etc.
It will be understood by those skilled in the art that the physical device structure for monitoring application performance provided in the present embodiment is not limited to the physical device, and may include more or less components, or combine some components, or arrange different components.
The storage medium may further include an operating system and a network communication module. The operating system is a program for managing the hardware of the above-mentioned entity device and the software resources to be identified, and supports the operation of the information processing program and other software and/or programs to be identified. The network communication module is used for realizing communication among components in the storage medium and communication with other hardware and software in the information processing entity device.
Through the above description of the embodiments, those skilled in the art will clearly understand that the present application can be implemented by software plus a necessary general hardware platform, and can also be implemented by hardware. By applying the technical scheme of the application, the server cluster converts the information sent by the application performance monitor into the control command and sends the control command to the agent end, so that the agent end can process each command in sequence in a queue mode, and further, after processing the received command, the agent end can package the result of the command processing into information and send the information to the server cluster and store the information in the database or display the information in the interface of the performance monitor. Compared with the prior art, the method and the device realize efficient asynchronous communication between the proxy side and the server cluster, and realize efficient distribution of performance monitor information.
Those skilled in the art will appreciate that the figures are merely schematic representations of one preferred implementation scenario and that the blocks or flow diagrams in the figures are not necessarily required to practice the present application. Those skilled in the art will appreciate that the modules in the devices in the implementation scenario may be distributed in the devices in the implementation scenario according to the description of the implementation scenario, or may be located in one or more devices different from the present implementation scenario with corresponding changes. The modules of the implementation scenario may be combined into one module, or may be further split into a plurality of sub-modules.
The above application serial numbers are for description purposes only and do not represent the superiority or inferiority of the implementation scenarios. The above disclosure is only a few specific implementation scenarios of the present application, but the present application is not limited thereto, and any variations that can be made by those skilled in the art are intended to fall within the scope of the present application.

Claims (10)

1. An application performance monitoring system, the system comprising a performance monitor, a server cluster, an agent side and a database, wherein:
the performance monitor is used for sending monitoring information to the server cluster;
the server cluster is used for receiving the monitoring information, generating a control command according to the monitoring information and sending the control command to the agent terminal;
the agent end is used for receiving the control command, writing the control command into a command processing queue, sequentially processing each control command according to the processing sequence in the command processing queue to obtain a processing result, and packaging the processing result into a message to be issued to the server cluster;
the server cluster is also used for collecting and writing back the message and storing the message in a database.
2. The system of claim 1, wherein the server cluster comprises a plurality of servers, each of the servers maintaining a long connection with at least one agent;
each server in the server cluster is specifically configured to receive monitoring information sent by the performance monitor, generate a control command according to the monitoring information, and send the control command to an agent connected to the server.
3. The system of claim 2, wherein the monitoring information includes load monitoring information, cache monitoring information, configuration file monitoring information, and bytecode file monitoring information, and wherein the performance monitor includes:
the load monitoring module is used for monitoring the number of the agent terminals connected with each server in the server cluster and generating load monitoring information according to the number of the agent terminals connected with each server;
the cache monitoring module is used for monitoring whether the cache information of each agent end is invalid or not and generating cache monitoring information according to the validity of the cache information of each agent end;
the configuration monitoring module is used for monitoring whether the information of the configuration file of the application is updated or not and generating configuration file monitoring information according to the updating information of the configuration file;
and the byte code monitoring module is used for monitoring whether the applied byte code file is updated or not and generating byte code file monitoring information according to the updating information of the byte code file.
4. The system of claim 3, wherein the performance monitor further comprises:
the input module is used for inputting configuration file updating information and byte code file updating information;
the display module is used for displaying the application performance monitoring information reported by the server cluster and the agent terminal in real time and the application performance monitoring information stored in the database;
and the sending module is used for sending the load monitoring information, the cache monitoring information, the configuration file monitoring information and the byte code file monitoring information to a server side in the server cluster.
5. The system of claim 3,
the load monitoring module is specifically configured to monitor whether the number of the server-side connection agent sides exceeds a preset threshold;
and if the number of the server side connection agent sides exceeds a preset threshold value, generating load monitoring information aiming at the server side, and sending the load monitoring information to the server side.
6. The system of claim 3,
the cache monitoring module is specifically configured to monitor whether server information in the cache information of the agent is consistent with information of a server currently connected to the agent;
and if the server information in the cache information of the agent end is inconsistent with the information of the server currently connected with the agent end, generating cache monitoring information aiming at the agent end, and sending the cache monitoring information to the server connected with the agent end.
7. The system of claim 3, wherein the control commands comprise load balancing control commands, cache invalidation control commands, configuration update control commands, bytecode update control commands; the server side comprises:
the command generation module is used for generating a load balance control command according to the load monitoring information; or
Generating a cache failure control command according to the cache monitoring information; or
Generating a configuration updating control command according to the configuration parameter monitoring information; or
Generating a bytecode updating control command according to the bytecode monitoring information;
and the command sending module is used for sending the load balance control command, the cache invalidation control command, the configuration updating control command and the byte code updating control command to an agent end connected with the server end.
8. The system of claim 7, wherein the server further comprises:
the message acquisition module is used for acquiring the message issued by the agent terminal and analyzing the message to obtain the processing result of the control command;
the processing result write-back module is used for writing back the processing result of the control command to the server and storing the processing result of the control command in a database;
the parameter checking module is used for checking parameters of the message issued by the agent terminal;
and the heartbeat data processing module is used for receiving and checking heartbeat data issued by the agent terminal.
9. The system of claim 7, wherein the agent side comprises:
the command processing queue is used for sequentially processing the received control commands according to the processing sequence of the control commands and sequentially outputting the processing results of the control commands, wherein the command processing queue comprises a command thread pool, a command idempotent processing unit, a command processing unit and a command processing thread;
and the information encapsulation module is used for encapsulating the processing results of the control commands which are output in sequence into messages and sending the messages to the server side connected with the agent side.
10. The system of claim 9, wherein the command processing unit comprises:
the load balance processing subunit is used for processing the load balance control command and establishing or disconnecting long connection with the server according to the load balance control command;
the cache invalidation processing subunit is used for processing the cache invalidation control command and deleting the invalidated cache information in the proxy end;
the configuration updating processing subunit is used for processing the configuration updating control command and performing replacement processing on the configuration file to be updated;
and the byte code file processing subunit is used for processing the byte code updating control command and enhancing the byte code file to be updated.
CN202010784092.2A 2020-08-06 2020-08-06 Application performance monitoring system Pending CN112115016A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010784092.2A CN112115016A (en) 2020-08-06 2020-08-06 Application performance monitoring system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010784092.2A CN112115016A (en) 2020-08-06 2020-08-06 Application performance monitoring system

Publications (1)

Publication Number Publication Date
CN112115016A true CN112115016A (en) 2020-12-22

Family

ID=73798813

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010784092.2A Pending CN112115016A (en) 2020-08-06 2020-08-06 Application performance monitoring system

Country Status (1)

Country Link
CN (1) CN112115016A (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711514A (en) * 2020-12-30 2021-04-27 北京珞安科技有限责任公司 Monitoring system, method and device of terminal equipment
CN113821421A (en) * 2021-08-27 2021-12-21 济南浪潮数据技术有限公司 Server performance data acquisition method, system, device and storage medium
CN117714537A (en) * 2024-02-06 2024-03-15 湖南四方天箭信息科技有限公司 Access method, device, terminal and storage medium

Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102104628A (en) * 2010-12-29 2011-06-22 北京新媒传信科技有限公司 Server cluster system and management method thereof
CN102132255A (en) * 2008-05-29 2011-07-20 思杰系统有限公司 Systems and methods for load balancing via a plurality of virtual servers upon failover using metrics from a backup virtual server
CN102301677A (en) * 2008-11-25 2011-12-28 思杰系统有限公司 Systems And Methods For Gslb Site Persistence
CN102460393A (en) * 2009-05-01 2012-05-16 思杰系统有限公司 Systems and methods for establishing a cloud bridge between virtual storage resources
CN103326896A (en) * 2013-06-07 2013-09-25 合一信息技术(北京)有限公司 System and method for collecting information data generated by a user on Internet
US20140237114A1 (en) * 2012-12-13 2014-08-21 Tencent Technology (Shenzhen) Company Limited Method and system for managing servers
CN105915405A (en) * 2016-03-29 2016-08-31 深圳市中博科创信息技术有限公司 Large-scale cluster node performance monitoring system
CN106550002A (en) * 2015-09-23 2017-03-29 中移(杭州)信息技术有限公司 A kind of paas clouds mandatory system and method
CN108390907A (en) * 2018-01-09 2018-08-10 浙江航天恒嘉数据科技有限公司 A kind of management monitoring system and method based on Hadoop clusters
CN109104377A (en) * 2018-09-21 2018-12-28 深圳前海微众银行股份有限公司 Long connection load-balancing method, equipment, system and computer readable storage medium
CN109714192A (en) * 2018-11-29 2019-05-03 深圳供电局有限公司 A kind of monitoring method and system monitoring cloud platform
CN110990213A (en) * 2019-10-22 2020-04-10 北京国电通网络技术有限公司 Method and device for monitoring user logs in cluster environment in real time

Patent Citations (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102132255A (en) * 2008-05-29 2011-07-20 思杰系统有限公司 Systems and methods for load balancing via a plurality of virtual servers upon failover using metrics from a backup virtual server
CN102301677A (en) * 2008-11-25 2011-12-28 思杰系统有限公司 Systems And Methods For Gslb Site Persistence
CN102460393A (en) * 2009-05-01 2012-05-16 思杰系统有限公司 Systems and methods for establishing a cloud bridge between virtual storage resources
CN102104628A (en) * 2010-12-29 2011-06-22 北京新媒传信科技有限公司 Server cluster system and management method thereof
US20140237114A1 (en) * 2012-12-13 2014-08-21 Tencent Technology (Shenzhen) Company Limited Method and system for managing servers
CN103326896A (en) * 2013-06-07 2013-09-25 合一信息技术(北京)有限公司 System and method for collecting information data generated by a user on Internet
CN106550002A (en) * 2015-09-23 2017-03-29 中移(杭州)信息技术有限公司 A kind of paas clouds mandatory system and method
CN105915405A (en) * 2016-03-29 2016-08-31 深圳市中博科创信息技术有限公司 Large-scale cluster node performance monitoring system
CN108390907A (en) * 2018-01-09 2018-08-10 浙江航天恒嘉数据科技有限公司 A kind of management monitoring system and method based on Hadoop clusters
CN109104377A (en) * 2018-09-21 2018-12-28 深圳前海微众银行股份有限公司 Long connection load-balancing method, equipment, system and computer readable storage medium
CN109714192A (en) * 2018-11-29 2019-05-03 深圳供电局有限公司 A kind of monitoring method and system monitoring cloud platform
CN110990213A (en) * 2019-10-22 2020-04-10 北京国电通网络技术有限公司 Method and device for monitoring user logs in cluster environment in real time

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112711514A (en) * 2020-12-30 2021-04-27 北京珞安科技有限责任公司 Monitoring system, method and device of terminal equipment
CN113821421A (en) * 2021-08-27 2021-12-21 济南浪潮数据技术有限公司 Server performance data acquisition method, system, device and storage medium
CN113821421B (en) * 2021-08-27 2023-12-22 济南浪潮数据技术有限公司 Method, system, device and storage medium for collecting server performance data
CN117714537A (en) * 2024-02-06 2024-03-15 湖南四方天箭信息科技有限公司 Access method, device, terminal and storage medium
CN117714537B (en) * 2024-02-06 2024-04-16 湖南四方天箭信息科技有限公司 Access method, device, terminal and storage medium

Similar Documents

Publication Publication Date Title
CN112115016A (en) Application performance monitoring system
US10348809B2 (en) Naming of distributed business transactions
CN107483418A (en) Login process method, method for processing business, device and server
US20100153529A1 (en) Enhancing network details using network monitoring scripts
CN108108286A (en) Method of data capture and device, server, storage medium
EP3812930A1 (en) Distributed transaction processing method and related device
CN102497427A (en) Method and device for realizing data acquisition services of renewable energy source monitoring system
US20230052935A1 (en) Asynchronous accounting method and apparatus for blockchain, medium and electronic device
CN107729176A (en) The disaster recovery method and disaster tolerance system of a kind of profile management systems
CN110334072A (en) A kind of distributed file system, file updating method and device
CN111784329A (en) Service data processing method and device, storage medium and electronic device
CN111064626B (en) Configuration updating method, device, server and readable storage medium
CN104408178A (en) Device and method for WEB control loading
CN115086347B (en) Data synchronization method, device, electronic equipment and storage medium
CN114895879B (en) Management system design scheme determining method, device, equipment and storage medium
CN114356970B (en) Storage system resource caching method and device
CN103457980B (en) Terminal unit data acquisition methods
CN114880604A (en) Data processing method, data sending method, data acquiring method, data processing device, data sending device and data acquiring device
CN110768855B (en) Method and device for testing linkmzation performance
CN113505067B (en) Distributed database tpc-c test optimization method and system based on openness
CN115334153B (en) Data processing method and device for service grid
US11921700B1 (en) Error tables to track errors associated with a base table
CN113312234B (en) Health detection optimization method and terminal
CN117632439A (en) Message middleware updating method and device and electronic equipment
CN116055450A (en) Address book data processing method and device, storage medium and electronic equipment

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
CB02 Change of applicant information

Address after: 100102 201 / F, block C, 2 lizezhong 2nd Road, Chaoyang District, Beijing

Applicant after: Beijing Shuidi Technology Group Co.,Ltd.

Address before: 100102 201, 2 / F, block C, No.2 lizezhong 2nd Road, Chaoyang District, Beijing

Applicant before: Beijing Health Home Technology Co.,Ltd.

CB02 Change of applicant information