A non-invasive application running state monitoring method, device and equipment

By classifying and monitoring application configurations using a non-intrusive method and acquiring monitoring indicators through operating system kernel events, this technology solves the problems of secondary coding and low flexibility in monitoring complex systems in existing technologies, and achieves efficient and accurate performance monitoring of collaborative manufacturing systems.

CN116628552BActive Publication Date: 2025-12-16ZHENGZHOU UNIV +1
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202310605139.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2023-05-22
Publication Date
2025-12-16
Estimated Expiration
2043-05-22

AI Technical Summary

Technical Problem

Existing technologies for monitoring the operational status of applications in distributed architectures and multi-system collaborative manufacturing suffer from problems such as the need for secondary coding, low flexibility, high cost, and inaccurate monitoring results, making them unsuitable for complex industrial application systems.

Method used

A non-intrusive approach is adopted to classify applications and generate runtime status monitoring configuration files, including monitoring points and rules. Monitoring indicators are obtained by utilizing operating system kernel events to achieve runtime status and performance monitoring of the collaborative manufacturing system.

Benefits of technology

It eliminates the need for secondary coding of applications, accurately monitors and analyzes the operational status and performance of the entire collaborative manufacturing system, provides flexible performance monitoring metrics, adapts to heterogeneous services, reduces monitoring costs, and improves the accuracy of monitoring results.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116628552B_ABST
    Figure CN116628552B_ABST
Patent Text Reader

Abstract

The application provides a non-invasive application running state monitoring method, device and equipment, the method comprises the following steps: obtaining an application to be monitored; the application to be monitored is at least one type of application in a collaborative manufacturing system; classifying the application to be monitored to obtain at least one application to be monitored with a category label added; generating a running state monitoring configuration file of the application to be monitored of a target category, the running state monitoring configuration file comprising at least one monitoring point of the application to be monitored of the target category and a monitoring rule corresponding to the monitoring point; monitoring the running state of the application to be monitored of the target category according to the monitoring configuration file to obtain the running state of the application to be monitored of the target category, and outputting and displaying the running state of the application to be monitored of the target category. The scheme of the application can monitor and analyze the running state and performance of the entire collaborative manufacturing system without secondary coding of the application.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of industrial application system, and particularly relates to a non-intrusive application program running state monitoring method, device and equipment. BACKGROUND

[0002] Application running state monitoring is a common requirement in engineering practice. By recording the running state and performance data of an application program, the running state of the application can be accurately mastered. With the development of technology, the technical background of application running state monitoring has developed from single-machine applications to distributed architecture, cloud-native technology and multi-system collaboration. Traditional monitoring methods such as log analysis, performance testing, runtime monitoring and sampling analysis have problems such as the need for secondary coding of programs, low flexibility, high cost and inaccurate monitoring results when facing current complex industrial application systems, and cannot adapt to the application background of distributed architecture and multi-system collaborative manufacturing. SUMMARY

[0003] The technical problem to be solved by the present application is to provide a non-intrusive application program running state monitoring method, device and equipment, which does not require secondary coding of the application program and can monitor and analyze the running state and performance of the entire collaborative manufacturing system.

[0004] To solve the above technical problems, the technical solution of the present application is as follows:

[0005] A non-intrusive application program running state monitoring method, comprising:

[0006] Obtaining a to-be-monitored application program; the to-be-monitored application program is at least one type of application program in a collaborative manufacturing system;

[0007] Classifying the to-be-monitored application program to obtain at least one to-be-monitored application program with a category label added;

[0008] Generating a running state monitoring configuration file of the to-be-monitored application program of a target category, the running state monitoring configuration file comprising at least one monitoring point of the to-be-monitored application program of the target category and a monitoring rule corresponding to the monitoring point;

[0009] According to the monitoring configuration file, the running state of the to-be-monitored application program of the target category is monitored to obtain the running state of the to-be-monitored application program of the target category, and the running state of the to-be-monitored application program of the target category is output and displayed.

[0010] Optionally, classifying the to-be-monitored application program to obtain at least one to-be-monitored application program with a category label added, comprises:

[0011] Adding a first type of identification label to the to-be-monitored application program of the binary application category;

[0012] adding a second type of identification tag to the application program to be monitored in the stateful application category;

[0013] adding a third type of identification tag to the application program to be monitored which is CPU-intensive;

[0014] adding a fourth type of identification tag to the application program to be monitored which is IO-intensive.

[0015] Optionally, the running state monitoring configuration file of the application program to be monitored in the target category is generated, comprising:

[0016] acquiring a state monitoring template of the application program to be monitored in the target category;

[0017] generating a running state monitoring configuration file of the application program to be monitored in the target category according to the state monitoring template.

[0018] Optionally, the state monitoring template of the application program to be monitored in the target category is acquired, comprising:

[0019] configuring a general state monitoring template to the application program to be monitored marked with the first type of identification tag, wherein the general state monitoring template contains preset monitoring points;

[0020] configuring a customized state monitoring template to the application program to be monitored without the first type of identification tag.

[0021] Optionally, the running state monitoring configuration file of the application program to be monitored in the target category is generated according to the state monitoring template, comprising:

[0022] if the state monitoring template is a general state monitoring template, configuring a monitoring rule to the general state monitoring template, or using a default monitoring rule contained in the general state monitoring template to generate a running state monitoring configuration file;

[0023] if the state monitoring template is a customized state monitoring template, reading the type of the application program to be monitored, determining a monitoring point, configuring a monitoring rule to the customized state monitoring template according to the monitoring point, and generating a running state monitoring configuration file; the monitoring rule uses a non-intrusive code description monitoring point monitoring index extraction method.

[0024] Optionally, the running state of the application program to be monitored in the target category is obtained by monitoring the running state of the application program to be monitored in the target category according to the monitoring configuration file, comprising:

[0025] configuring a program monitoring point in a system kernel according to the monitoring rule in the monitoring configuration file, and registering a monitoring event;

[0026] When a corresponding monitoring point event is triggered, the non-intrusive file mapping storage in the kernel is updated according to a predefined action;

[0027] The monitoring indicators corresponding to the monitoring points are obtained from the mapping storage by a target tool;

[0028] According to the monitoring indicators, the running state of the target category of the to-be-monitored application programs is monitored to obtain the running state of the target category of the to-be-monitored application programs.

[0029] Optionally, the monitoring rule and the state monitoring template are further updated, and when the configuration file and the configuration custom module file hash value are inconsistent, an update event is triggered, the configuration is reloaded, and the hash value of the configuration is saved.

[0030] The application further provides a non-intrusive application program running state monitoring device, which comprises:

[0031] An acquisition module acquires to-be-monitored application programs, wherein the to-be-monitored application programs are at least one type of application programs in a collaborative manufacturing system;

[0032] A monitoring module classifies the to-be-monitored application programs to obtain at least one to-be-monitored application program with a category label added, generates a running state monitoring configuration file of the target category of the to-be-monitored application programs, wherein the running state monitoring configuration file comprises at least one monitoring point of the target category of the to-be-monitored application programs and a monitoring rule corresponding to the monitoring point, monitors the running state of the target category of the to-be-monitored application programs according to the monitoring configuration file, obtains the running state of the target category of the to-be-monitored application programs, and outputs and displays the running state of the target category of the to-be-monitored application programs.

[0033] The application further provides a computing device, which comprises a processor and a memory storing a computer program, wherein the computer program is executed by the processor to perform the method as described above.

[0034] The application further provides a computer readable storage medium storing instructions, wherein when the instructions are executed on a computer, the computer performs the method as described above.

[0035] The above-mentioned scheme of the application at least has the following beneficial effects:

[0036] The above scheme of the present application, by obtaining a to-be-monitored application program; the to-be-monitored application program is at least one type of application program in a collaborative manufacturing system; classifying the to-be-monitored application program to obtain at least one to-be-monitored application program added with a category label; generating a running state monitoring configuration file of a target category of to-be-monitored application programs, the running state monitoring configuration file comprising: at least one monitoring point of the target category of to-be-monitored application programs and a monitoring rule corresponding to the monitoring point; according to the monitoring configuration file, performing running state monitoring on the target category of to-be-monitored application programs to obtain a running state of the target category of to-be-monitored application programs, and outputting and displaying the running state of the target category of to-be-monitored application programs. Without secondary coding of the application program, the running state and performance of the entire collaborative manufacturing system can be monitored and analyzed. BRIEF DESCRIPTION OF DRAWINGS

[0037] Figure 1 is a flowchart of a non-intrusive application program running state monitoring method of an embodiment of the present application;

[0038] Figure 2 is a general model diagram of a non-intrusive application program running state monitoring method of an embodiment of the present application;

[0039] Figure 3 is a general architecture diagram of a non-intrusive application program running state monitoring method of an embodiment of the present application;

[0040] Figure 4 is a classification module algorithm flowchart of a non-intrusive application program running state monitoring method of an embodiment of the present application;

[0041] Figure 5 is a configuration file generation flowchart of a non-intrusive application program running state monitoring method of an embodiment of the present application;

[0042] Figure 6 is an application data processing flowchart of a non-intrusive application program running state monitoring method of an embodiment of the present application;

[0043] Figure 7 is a configuration update model diagram of a non-intrusive application program running state monitoring method of an embodiment of the present application;

[0044] Figure 8 is a configuration loading flowchart of a non-intrusive application program running state monitoring method of an embodiment of the present application;

[0045] Figure 9 is a structure diagram of a non-intrusive application program running state monitoring device of an embodiment of the present application. DETAILED DESCRIPTION

[0046] Exemplary embodiments of the present application will be described herein below with reference to the accompanying drawings. While exemplary embodiments of the present application are shown in the drawings, it is understood that the present application can be embodied in various forms and should not be limited by the embodiments set forth herein. Rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the scope of the application to those skilled in the art.

[0047] As shown in Figure 1 An embodiment of the present application proposes a non-intrusive application running state monitoring method, comprising:

[0048] Step 11, obtaining a to-be-monitored application; the to-be-monitored application is at least one type of application in a collaborative manufacturing system;

[0049] Step 12, classifying the to-be-monitored application to obtain at least one to-be-monitored application with a category label added;

[0050] Step 13, generating a running state monitoring configuration file of the to-be-monitored application of a target category, the running state monitoring configuration file comprising at least one monitoring point of the to-be-monitored application of the target category and a monitoring rule corresponding to the monitoring point;

[0051] Step 14, monitoring the running state of the to-be-monitored application of the target category according to the monitoring configuration file to obtain the running state of the to-be-monitored application of the target category, and outputting and displaying the running state of the to-be-monitored application of the target category.

[0052] In this embodiment, a non-intrusive application running state monitoring method suitable for the field of collaborative manufacturing is proposed, which does not affect the application, does not need to re-code the application, can adapt to heterogeneous service running, helps to monitor and analyze the running state and performance of the entire collaborative manufacturing system, and is more suitable for actual engineering scenarios.

[0053] The non-intrusive application running state monitoring method is based on the operating system kernel event, provides direct information of system behavior and system hardware, and can also directly access the memory area of a specific application, extract execution tracking information from a running process, and directly access the resources allocated for each specific process, including file descriptors, CPU and memory. The non-intrusive application running state monitoring method accurately masters the running state of the to-be-monitored application, so that the performance monitoring indicators of various application programs using the method have great flexibility, are no longer subject to the development limitations of the original application program, are based on the external running indicators of the application program, and thus can flexibly aggregate indicators.

[0054] The overall model of the method is as shown in Figure 2As shown, the non-intrusive application operation monitoring system is divided into an application type classification module, a configuration customization module, a monitoring configuration generation module, and a monitoring data processing module. The non-intrusive application operation monitoring system is based on operating system kernel events. It uses a program to capture network data packets containing monitoring indicators from the operating system kernel and then uses a data visualization platform or IT operation and maintenance artificial intelligence to visualize and analyze the operational status of the obtained monitoring indicators.

[0055] like Figure 3 As shown, this method adopts a layered processing approach, dividing the entire monitoring system architecture into a data plane, a control plane, and a presentation plane. The data plane is the foundational layer of the entire monitoring method. It uses subsystem technology to encode user-defined monitoring rules into data packet filtering programs, which are then loaded into the system kernel to interact with the underlying operating system, providing necessary system information data to the upper layers. Simultaneously, through the data interaction medium between the kernel layer and the user layer, it outputs monitoring indicators to the data acquisition tool daemon process, which is the core of the entire monitoring system. Based on the corresponding configuration information, it collects and processes data such as operating system events, application runtime logs, application debug points, perf events, or binary runtime states. Furthermore, the data plane is crucial for achieving platform-independent, non-intrusive runtime monitoring. It inserts an abstraction layer between the underlying and upper-layer development, shielding against platform dependencies.

[0056] The control plane is responsible for identifying application types and, as needed, using different template configurations and other available metric data, providing configuration integration and availability testing. This layer assigns relevant configuration items based on the application type, lowering the barrier to entry. It also provides users with the ability to customize monitoring rule sets and import templates, ensuring high customizability while lowering the barrier to entry.

[0057] The display plane is responsible for the post-processing of monitoring data, such as visualization and big data mining. It can also provide enough data to predict the future load of application services.

[0058] During the application process, users input the application to be monitored through the management terminal. The application classification module classifies the application to be monitored. Based on the application type, the configuration module configures different monitoring templates for the application to be monitored, selects monitoring points, and defines monitoring rules. For example, when the selected monitoring point is the number of function calls, the monitoring rule is defined as recording the number of times the target function call time is greater than a preset time period. The function call events that meet the rules are recorded through the monitoring rules.

[0059] The monitoring points are divided into two types: a numerical counting type and a histogram type, wherein the numerical counting type monitoring points include function call times, TCP SYN handshake times, system OOM trigger times and the like, and the histogram type monitoring points include execution time and how long a socket stays in an accept queue and the like. The TCP SYN handshake times represent that when a TCP connection is established, a SYN handshake packet needs to be sent, and by monitoring the number of SYN handshakes of a corresponding service, a malicious SYN half-connection attack can be found in time; how long a socket stays in an accept queue represents that by counting the delay existing between a socket being added to an accept queue and being actually accepted, the current network pressure state of a target node or service can be mastered; and the system OOM trigger times represent that when the operating system is insufficient in memory, an oom_kill_process event is triggered to kill a large memory consumer, and by monitoring the number of times of triggering of the event, the abnormal state of memory use of a target system or service can be mastered.

[0060] The monitoring configuration generation module parses the custom monitoring rule, and generates a non-intrusive running state monitoring configuration file according to a monitoring template; the monitoring data processing module encodes the running state monitoring configuration file to form a data packet filtering program containing an extraction rule, assembles the data packet filtering program into bytecode and loads the bytecode into an operating system kernel; the monitoring data processing module outputs the monitoring indicators extracted by filtering data packets according to a preset extraction rule, and simultaneously provides a unified interface to process data into a preset standard format, considering that application data specifications are not unified and running data display interfaces are not unified in actual collaborative manufacturing processes. The monitoring indicators are exported from the kernel space by an indicator exporter, the time series database collects the monitoring indicators in the indicator exporter at regular time intervals, and outputs the monitoring indicators to a display plane, and the application program running state is displayed and analyzed according to the monitoring indicators.

[0061] In an optional embodiment of the present application, step 12 can include:

[0062] Step 121 adds a first type of identification tag to the binary application category of the application program to be monitored;

[0063] Step 122 adds a second type of identification tag to the stateful application category of the application program to be monitored;

[0064] Step 123 adds a third type of identification tag to the CPU-intensive application program to be monitored;

[0065] Step 124 adds a fourth type of identification tag to the IO-intensive application program to be monitored.

[0066] In the embodiment, as Figure 4As shown, since different categories of applications require different monitoring strategies, it is necessary to classify the applications to be monitored. First, determine whether the input application to be monitored is a binary application. If so, add a first-class identification tag to the application, i.e., a binary application identification tag; otherwise, do not add one. Next, determine whether the application to be monitored is a stateful application. If so, add a second-class identification tag to the application and update the application to the stateful application queue; otherwise, determine whether the application to be monitored is an I / O-intensive application. If so, add a fourth-class identification tag to the application and update the application to the I / O-intensive queue; otherwise, add a third-class identification tag and update the application to the CPU-intensive queue.

[0067] In an optional embodiment of the present invention, step 13 may include:

[0068] Step 131: Obtain the status monitoring template of the application to be monitored for the target category;

[0069] Step 132: Generate a runtime status monitoring configuration file for the target category of the application to be monitored based on the status monitoring template.

[0070] Step 131 may include:

[0071] Step 1311: Configure a general status monitoring template for the application to be monitored that is marked with a first type of identification tag. The general status monitoring template includes preset monitoring points.

[0072] Step 1312: Configure a custom status monitoring template for the application to be monitored that is not labeled with the first type of identification tag.

[0073] In this embodiment, as Figure 5 As shown, a general status monitoring template is used for binary application types, while a custom status monitoring template is used for non-binary application types. Users can generate monitoring configuration files by combining custom monitoring rules with custom status monitoring templates. Since monitoring points are divided into two types—numerical counting and histogram—the corresponding general status monitoring template and custom status monitoring template are divided into counter template and histogram template, respectively.

[0074] In an optional embodiment of the present invention, step 132 may include:

[0075] Step 1321: If the status monitoring template is a general status monitoring template, then configure monitoring rules for the general status monitoring template, or use the default monitoring rules contained in the general status monitoring template to generate a running status monitoring configuration file.

[0076] Step 1322, if the state monitoring template is a custom state monitoring template, read the application type to be monitored, determine the monitoring point, configure the monitoring rule for the custom state monitoring template according to the monitoring point, and generate the running state monitoring configuration file; the monitoring rule uses a non-intrusive code description method to extract the monitoring indicators of the monitoring point.

[0077] In this embodiment, as shown in the figure, Figure 5 When the application to be monitored is a binary application, a general state monitoring template is selected, and according to the actual monitoring needs, when the default monitoring rule contained in the general state monitoring template meets the monitoring requirement, the default monitoring rule is used to monitor the binary application; when the default monitoring rule does not meet the actual monitoring requirement, a custom monitoring rule is configured for the general state monitoring template, and the binary application is monitored through the configured monitoring rule.

[0078] When the application to be monitored is not a binary application, a monitoring template is selected by configuring a custom module, the absolute path of the application to be monitored is input, and a symbol table is obtained; the target monitoring function is determined and the symbol table name of the target monitoring function is obtained through the symbol table, the monitoring point is determined according to the target monitoring function and the actual business requirement, the monitoring rule is defined according to the monitoring point and the symbol table name of the target monitoring function, the monitoring rule and the custom state monitoring template are combined, and the running state monitoring configuration file is generated.

[0079] For example: input the executable file path of the application to be monitored / data / test / hello, read the executable file symbol table:

[0080] 0000000000515000D main..inittask

[0081] 0000000000481060T main.main

[0082] 00000000004331a0T runtime.main

[0083] 0000000000458160T runtime.main.func1

[0084] 00000000004334e0T runtime.main.func2

[0085] 000000000052bfa8B runtime.main_init_done

[0086] 00000000004b7148 R runtime.mainPC

[0087] 0000000000559e6c B runtime.mainStarted

[0088] The function symbol for the target monitoring function is determined to be main.main. Based on actual needs, the monitoring point is determined to be the number of function calls, and the monitoring rules are described as follows:

[0089]

[0090] SEC("uprobe / / data / test / hello:main.main") / / The absolute path to the executable application + the function symbol of the target monitoring function, main.main, constitutes the monitoring point.

[0091]

[0092]

[0093] char LICENSE[]SEC("license")="GPL";

[0094] This code defines a structure named `data_t` containing a 16-byte character array `comm` to store the name of the current process. It also defines a hash map named `hello_calls_total` to count function calls, with a maximum of 1024 entries. Both keys and values ​​are of type `u64`. Furthermore, the code defines a monitoring function `do_count`, which retrieves the name of the current process and stores it in the `comm` variable within the `data` structure. Then, it uses the `increment_map` function to increment the value associated with the current process name in the `hello_calls_total` map by 1, thus monitoring the number of function calls.

[0095] Select the appropriate monitoring template as the counter template:

[0096]

[0097] This code is a metric configuration, which is used to select the counter template. It defines a numerical counter named {{map_name}}, whose help is {{metrics_help}}. It also defines an output data label named {{label_name}} with a size of {{label_size}}. Finally, it defines a decoder named {{decoders_name}}. The configurations enclosed in {{}} in the template correspond to the configurations in the monitoring rule described above. When the template is applied, the corresponding parts will be replaced and modified, and the final monitoring configuration file will be as follows.

[0098]

[0099]

[0100] In an optional embodiment of the present application, step 14 can include:

[0101] Step 141, according to the monitoring rule in the monitoring configuration file, configure the program monitoring point in the system kernel, register the monitoring event;

[0102] Step 142, when the corresponding monitoring point event is triggered, update the non-intrusive file mapping storage in the kernel according to the pre-defined action;

[0103] Step 143, obtain the monitoring indicators corresponding to the monitoring points from the mapping storage through the target tool;

[0104] Step 144, according to the monitoring indicators, monitor the running state of the target category of the to-be-monitored application program, and obtain the running state of the target category of the to-be-monitored application program.

[0105] As shown in Figure 6 the user space loads the monitoring rule, registers the monitoring event in the kernel through the monitoring rule at a specific program monitoring point, updates the mapping storage in the kernel according to the pre-defined action when the corresponding monitoring point event is triggered, obtains the corresponding monitoring indicators from the mapping storage through the indicator exporter, collects the monitoring indicators in the indicator exporter through the time series database at regular intervals, and outputs the monitoring indicators to the display plane. According to the monitoring indicators, the running state of the application program is displayed and analyzed.

[0106] In this embodiment, the display plane can be a visualization display platform, which can visually display the monitoring indicators, accurately grasp the running state of the corresponding device, and configure the early warning rules or send the stored data into the prediction system to grasp the running state of the system in advance. It can also be an IT operation artificial intelligence, which analyzes the monitoring indicators collected by the system through artificial intelligence and machine learning, identifies important events and analyzes the running state, diagnoses the root cause and reports.

[0107] In an optional embodiment of the application, the monitoring rule and the state monitoring template are also updated by monitoring configuration, and when the configuration file and the file hash value in the configuration custom module are inconsistent, an update event is triggered, the configuration is reloaded and the hash value of the configuration is saved.

[0108] In this embodiment, the configuration custom module can update the state monitoring template and the monitoring rule, as shown in Figure 7 The timing function queries whether the configuration file is changed every preset time, and triggers the callback function when the change is detected, and reloads the configuration.

[0109] The loading method is as shown in Figure 8 The sm3 hash value of the configuration is saved when it is loaded for the first time, if the configuration in the library already exists, whether the configuration is updated is judged by comparing the hash value of the configuration, if the configuration is updated, the configuration is loaded and the sm3 hash value of the configuration is updated, if the hash values are consistent, the next configuration is continuously compared until the traversal is completed. Through real-time comparison of the hash value, the dynamic hot loading of the configuration is realized, and the operation of restarting the service is avoided.

[0110] The above method of the application can realize the collection of different application running state data through non-intrusive application running data collection technology in a new collaborative manufacturing scene with multiple participants and non-uniform application types and data interfaces. This makes the information of the application program be accurately grasped, so that the performance monitoring indicators of these application programs have great flexibility. Compared with the development limitation of the original application program, the method can more flexibly aggregate the indicators based on the external running indicators of the application program, so as to more accurately evaluate the performance.

[0111] The layered idea adopted by the application can maximize the shielding of the differences between various systems in collaborative manufacturing, integrate the timing load prediction technology, realize the dynamic prediction of the application running state, and realize the dynamic allocation of resources, thereby reducing energy consumption.

[0112] As shown in Figure 9 The embodiment of the application also provides a non-intrusive application program running state monitoring device 90, which comprises:

[0113] The acquisition module 91 acquires an application to be monitored; the application to be monitored is at least one type of application in a collaborative manufacturing system;

[0114] The monitoring module 92 classifies the application to be monitored to obtain at least one application to be monitored with a category label added; generates a running state monitoring configuration file of the application to be monitored of a target category, the running state monitoring configuration file including at least one monitoring point of the application to be monitored of the target category and a monitoring rule corresponding to the monitoring point; performs running state monitoring on the application to be monitored of the target category according to the monitoring configuration file to obtain a running state of the application to be monitored of the target category, and outputs and displays the running state of the application to be monitored of the target category.

[0115] Optionally, classifying the application to be monitored to obtain at least one application to be monitored with a category label added includes:

[0116] adding a first type of identification label to the application to be monitored of a binary application category;

[0117] adding a second type of identification label to the application to be monitored of a stateful application category;

[0118] adding a third type of identification label to the application to be monitored of a CPU-intensive type;

[0119] adding a fourth type of identification label to the application to be monitored of an IO-intensive type.

[0120] Optionally, generating a running state monitoring configuration file of the application to be monitored of a target category includes:

[0121] acquiring a state monitoring template of the application to be monitored of the target category;

[0122] generating a running state monitoring configuration file of the application to be monitored of the target category according to the state monitoring template.

[0123] Optionally, acquiring a state monitoring template of the application to be monitored of a target category includes:

[0124] configuring a general state monitoring template to the application to be monitored marked with a first type of identification label, the general state monitoring template including preset monitoring points;

[0125] configuring a custom state monitoring template to the application to be monitored without the first type of identification label.

[0126] Optionally, generating a running state monitoring configuration file of the application to be monitored of a target category according to the state monitoring template includes:

[0127] If the state monitoring template is a general state monitoring template, a monitoring rule is configured for the general state monitoring template, or a running state monitoring configuration file is generated using a default monitoring rule included in the general state monitoring template;

[0128] If the state monitoring template is a self-defined state monitoring template, a to-be-monitored application type is read, a monitoring point is determined, a monitoring rule is configured for the self-defined state monitoring template according to the monitoring point, and a running state monitoring configuration file is generated; the monitoring rule adopts a non-intrusive code description monitoring point monitoring index extraction method.

[0129] Optionally, according to the monitoring configuration file, a running state of the target category of to-be-monitored application programs is monitored to obtain a running state of the target category of to-be-monitored application programs, including:

[0130] According to the monitoring rule in the monitoring configuration file, a program monitoring point in a system kernel is configured, and a monitoring event is registered;

[0131] When a corresponding monitoring point event is triggered, a non-intrusive file mapping storage in the kernel is updated according to a predefined action;

[0132] A monitoring index corresponding to the monitoring point is obtained from the mapping storage by a target tool;

[0133] According to the monitoring index, a running state of the target category of to-be-monitored application programs is monitored to obtain a running state of the target category of to-be-monitored application programs.

[0134] Optionally, the method further includes: monitoring configuration update is performed on the monitoring rule and the state monitoring template, when a configuration file and a configuration self-defined module internal file hash value are inconsistent, an update event is triggered, the configuration is reloaded, and a hash value of the configuration is saved.

[0135] It should be noted that the device corresponds to the above method, and all implementation manners in the above method embodiments are applicable to the device embodiments and can achieve the same technical effects.

[0136] An embodiment of the present application provides a computing device, including a processor and a memory storing a computer program, when the computer program is executed by the processor, the method described above is executed. All implementation manners in the above method embodiments are applicable to this embodiment and can achieve the same technical effects.

[0137] An embodiment of the present application further provides a computer readable storage medium storing instructions, when the instructions are executed on a computer, the computer executes the method described above. All implementation manners in the above method embodiments are applicable to this embodiment and can achieve the same technical effects.

[0138] Those skilled in the art can clearly understand that the units and algorithm steps of each example described in combination with the embodiments disclosed herein can be realized by electronic hardware or a combination of computer software and electronic hardware. Whether the functions are performed in hardware or software depends on the specific application and design constraints of the technical solution. Those skilled in the art can use different methods to implement the described functions for each specific application, but such implementation should not be considered beyond the scope of the present application.

[0139] Those skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working processes of the above-described system, device and unit can refer to the corresponding processes in the foregoing method embodiments, which will not be repeated here.

[0140] In the embodiments provided by the present application, it should be understood that the disclosed device and method can be implemented in other ways. For example, the device embodiments described above are only schematic. The division of the units is only a logical function division. There can be another division during actual implementation. For example, a plurality of units or components can be combined or integrated into another system, or some features can be ignored or not executed. In addition, the displayed or discussed mutual couplings or direct couplings or communication connections between the units can be indirect couplings or communication connections through some interfaces, devices or units, and can be electrical, mechanical or in other forms.

[0141] The units described as separate components can or can not be physically separate, and the components shown as units can or can not be physical units, i.e. can be located in one place, or can be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the embodiments.

[0142] In addition, each functional unit in each embodiment of the present application can be integrated into a processing unit, or each unit can exist physically, or two or more units can be integrated into one unit.

[0143] If the functions are realized in the form of software function units and sold or used as independent products, they can be stored in a computer readable storage medium. Based on this understanding, the technical solutions of the present application essentially or the parts that make contributions to the prior art or parts of the technical solutions can be embodied in the form of a software product. The computer software product is stored in a storage medium and includes a plurality of instructions for causing a computer device (which can be a personal computer, a server, or a network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present application. The foregoing storage medium includes: a U disk, a mobile hard disk, a ROM, a RAM, a magnetic disk or an optical disk, and various program code storage media.

[0144] Furthermore, it is pointed out that in the device and method of the present application, obviously, the components or steps can be decomposed and / or recombined. These decompositions and / or recombinations are to be considered as equivalent solutions of the present application. Moreover, the steps of performing the above series of processes can naturally be executed in time sequence according to the order of description, but do not necessarily have to be executed in time sequence. Some steps can be executed in parallel or independently of each other. It is understood by those skilled in the art that all or any of the steps or components of the method and device of the present application can be implemented in hardware, firmware, software, or a combination thereof, in any computing device (including a processor, a storage medium, etc.) or network of computing devices, using the basic programming skills of those skilled in the art upon reading the description of the present application.

[0145] Therefore, the object of the present application can also be achieved by running a program or a set of programs on any computing device. The computing device can be a commonly known general-purpose device. Therefore, the object of the present application can also be achieved only by providing a program product containing program code for implementing the method or device. That is, such a program product also constitutes the present application, and a storage medium storing such a program product also constitutes the present application. Obviously, the storage medium can be any commonly known storage medium or any storage medium developed in the future. It is also pointed out that in the device and method of the present application, obviously, the components or steps can be decomposed and / or recombined. These decompositions and / or recombinations are to be considered as equivalent solutions of the present application. Moreover, the steps of performing the above series of processes can naturally be executed in time sequence according to the order of description, but do not necessarily have to be executed in time sequence. Some steps can be executed in parallel or independently of each other.

[0146] The above is the preferred embodiment of the present application. It should be pointed out that for those skilled in the art, several improvements and refinements can be made without departing from the principles of the present application, and these improvements and refinements are also to be considered as the protection scope of the present application.

Claims

1. A non-invasive application program running state monitoring method, characterized by, The application is applied to a collaborative manufacturing system, comprising: acquiring a to-be-monitored application program; the to-be-monitored application program is at least one type of application program in the collaborative manufacturing system; classifying the to-be-monitored application program to obtain at least one to-be-monitored application program with a category label added; generating a running state monitoring configuration file of the to-be-monitored application program of a target category, the running state monitoring configuration file comprising at least one monitoring point of the to-be-monitored application program of the target category and a monitoring rule corresponding to the monitoring point; wherein the monitoring point comprises a numerical counting type monitoring point and a histogram type monitoring point; monitoring the running state of the to-be-monitored application program of the target category according to the monitoring configuration file to obtain the running state of the to-be-monitored application program of the target category, and outputting and displaying the running state of the to-be-monitored application program of the target category; wherein classifying the to-be-monitored application program to obtain at least one to-be-monitored application program with a category label added comprises: adding a first type of identification label to the to-be-monitored application program of a binary application category; adding a second type of identification label to the to-be-monitored application program of a stateful application category; adding a third type of identification label to the to-be-monitored application program of a CPU-intensive type; adding a fourth type of identification label to the to-be-monitored application program of an IO-intensive type; wherein generating the running state monitoring configuration file of the to-be-monitored application program of the target category comprises: acquiring a state monitoring template of the to-be-monitored application program of the target category; generating the running state monitoring configuration file of the to-be-monitored application program of the target category according to the state monitoring template; wherein monitoring the running state of the to-be-monitored application program of the target category according to the monitoring configuration file to obtain the running state of the to-be-monitored application program of the target category comprises: configuring a program monitoring point in a system kernel according to a monitoring rule in the monitoring configuration file, and registering a monitoring event; when a corresponding monitoring point event is triggered, updating a non-intrusive file mapping storage in the kernel according to a predefined action; acquiring a monitoring index corresponding to the monitoring point from the mapping storage through a target tool; monitoring the running state of the to-be-monitored application program of the target category according to the monitoring index to obtain the running state of the to-be-monitored application program of the target category; wherein outputting and displaying the running state of the to-be-monitored application program of the target category comprises: acquiring the monitoring index from the kernel mapping storage through an index exporter; collecting the monitoring index in the index exporter at a time interval by a time series database; and outputting the monitoring index to a display plane for visualization display and analysis.

2. The non-invasive application program running state monitoring method according to claim 1, characterized in that, acquiring the state monitoring template of the to-be-monitored application program of the target category comprises: configuring a general state monitoring template for the to-be-monitored application program marked with the first type of identification label, the general state monitoring template containing a preset monitoring point; configuring a customized state monitoring template for the to-be-monitored application program without the first type of identification label.

3. The non-invasive application program running state monitoring method according to claim 1, characterized in that, generating the running state monitoring configuration file of the to-be-monitored application program of the target category according to the state monitoring template comprises: If the state monitoring template is a general state monitoring template, a monitoring rule is configured for the general state monitoring template, or a running state monitoring configuration file is generated using a default monitoring rule included in the general state monitoring template; If the state monitoring template is a self-defined state monitoring template, a type of an application to be monitored is read, a monitoring point is determined, a monitoring rule is configured for the self-defined state monitoring template according to the monitoring point, and a running state monitoring configuration file is generated; the monitoring rule adopts a non-intrusive code description monitoring point monitoring index extraction method.

4. The non-invasive application program running state monitoring method according to claim 3, characterized in that, Further comprising: The monitoring rule and the state monitoring template are subjected to monitoring configuration updating, an updating event is triggered when a configuration file and a configuration self-defined module file hash value are inconsistent, the configuration is reloaded, and a hash value of the configuration is saved.

5. A non-invasive application program running state monitoring apparatus characterized by comprising: Including: An acquisition module is configured to acquire an application to be monitored; the application to be monitored is at least one type of application in a collaborative manufacturing system; A monitoring module is configured to classify the application to be monitored to obtain at least one application to be monitored with a category label added. A running state monitoring configuration file of an application to be monitored of a target category is generated, the running state monitoring configuration file comprising at least one monitoring point of the application to be monitored of the target category and a monitoring rule corresponding to the monitoring point; wherein the monitoring point comprises a numerical counting type monitoring point and a histogram type monitoring point; according to the monitoring configuration file, running state monitoring is performed on the application to be monitored of the target category, to obtain a running state of the application to be monitored of the target category, and the running state of the application to be monitored of the target category is output and displayed; wherein the application to be monitored is classified to obtain at least one application to be monitored with a category label added, comprising: adding a first type of identification label to the application to be monitored of a binary application category; adding a second type of identification label to the application to be monitored of a stateful application category; adding a third type of identification label to the application to be monitored of a CPU intensive type; and adding a fourth type of identification label to the application to be monitored of an IO intensive type; wherein the running state monitoring configuration file of the application to be monitored of the target category is generated, comprising: obtaining a state monitoring template of the application to be monitored of the target category; and according to the state monitoring template, generating the running state monitoring configuration file of the application to be monitored of the target category; wherein according to the monitoring configuration file, running state monitoring is performed on the application to be monitored of the target category, to obtain a running state of the application to be monitored of the target category, comprising: according to a monitoring rule in the monitoring configuration file, configuring a program monitoring point in a system kernel, and registering a monitoring event; when a corresponding monitoring point event is triggered, according to a predefined action, updating a non-intrusive file mapping storage in the kernel; through a target tool, obtaining a monitoring index corresponding to the monitoring point from the mapping storage; according to the monitoring index, performing running state monitoring on the application to be monitored of the target category, to obtain a running state of the application to be monitored of the target category; wherein the running state of the application to be monitored of the target category is output and displayed, comprising: through an index exporter, obtaining a monitoring index from a kernel mapping storage; by a time series database, collecting the monitoring index in the index exporter at a timing; and outputting the monitoring index to a display plane for visual display and analysis.

6. A computing device, comprising: Comprise: A processor, a memory storing a computer program, the computer program being executed by the processor to perform the method of any one of claims 1 to 4.

7. A computer-readable storage medium, characterized in that, A storage instruction, when the instruction is executed on a computer, causes the computer to perform the method of any one of claims 1 to 4.

Citation Information

Patent Citations

  • Event monitoring configuration method and system, computer equipment and storage medium

    CN112153329A

  • Distributed system monitoring method, device and system

    CN115827392A