Service mesh based monitoring system, method, device and storage medium

By introducing an indicator configuration module and a plugin execution module into the service mesh, user indicator configuration information is obtained, and reasonable monitoring indicator definitions are generated, which solves the problem of unreasonable monitoring indicator configuration and improves the accuracy of measuring the health status of application services.

CN116527554BActive Publication Date: 2026-07-31ALIBABA (CHINA) CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
ALIBABA (CHINA) CO LTD
Filing Date
2023-04-24
Publication Date
2026-07-31

AI Technical Summary

Technical Problem

The existing service mesh has unreasonable configuration of monitoring indicators, which affects the measurement results of the health status of application services.

Method used

A service mesh-based monitoring system is provided, including an indicator configuration module, an indicator definition generation module, a mesh agent, and a plugin execution module. It obtains user indicator configuration information in a non-intrusive manner, calls indicator definition plugins and attribute definition plugins, and generates reasonable monitoring indicator definition information for application services.

Benefits of technology

The configuration of monitoring indicators has been improved to ensure the accuracy of the health status measurement results of application services.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN116527554B_ABST
    Figure CN116527554B_ABST
Patent Text Reader

Abstract

This application provides a service mesh-based monitoring system, method, device, and storage medium. In this embodiment, user-provided indicator configuration information is obtained in a non-intrusive application service manner. Indicator definition plugins, indicator dimension definition plugins, and attribute definition plugins are invoked to generate corresponding indicator definition information for monitoring indicators used to monitor application services. The application service instance is then monitored in conjunction with these indicator definition information. Thus, using a plugin-based framework, users can easily define indicator definition information to better meet their needs, improving the rationality of indicator configuration and ensuring the accuracy of application service health measurement results.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This application relates to the field of computer technology, and in particular to a service mesh-based monitoring system, method, device, and storage medium. Background Technology

[0002] Service mesh, as the infrastructure layer for communication between application services, provides various functions such as traffic control, network security, and service observability. Among these, with the support of service observability, service mesh monitors application services through monitoring metrics and measures the health status of application services based on the monitoring results. The rationality of the configuration of monitoring metrics directly affects the measurement results of application service health; therefore, improving the rationality of monitoring metric configuration is a major research focus in service mesh. Summary of the Invention

[0003] This application provides a service mesh-based monitoring system, method, device, and storage medium to improve the rationality of monitoring indicator configuration.

[0004] This application provides a service mesh-based monitoring system, comprising: an indicator configuration module and an indicator definition generation module deployed in the control plane layer of the service mesh, and at least one grid agent and a corresponding plugin execution module deployed in the data plane layer of the service mesh; the indicator configuration module is used to respond to user indicator configuration operations, obtain indicator configuration information input by the user, and send the indicator configuration information to the indicator definition generation module; the indicator definition generation module is used to configure indicator definition information of monitoring indicators according to the indicator configuration information using indicator definition plugins, indicator dimension definition plugins, and attribute definition plugins, and send the indicator definition information to at least one plugin execution module; the grid agent is used to call the corresponding plugin execution module to monitor requests to access the application service instance it proxies based on the indicator definition information, and obtain the monitoring results of the application service instance under the monitoring indicators.

[0005] This application also provides a service mesh-based monitoring method, including: responding to a user's indicator configuration operation, obtaining indicator configuration information input by the user; using an indicator definition plugin, an indicator dimension definition plugin, and an attribute definition plugin, configuring indicator definition information of the monitoring indicators according to the indicator configuration information; and monitoring requests to access application service instances proxied by the mesh proxy based on the indicator definition information, thereby obtaining monitoring results of the application service instances under the monitoring indicators.

[0006] This application also provides a computer device, including: a memory and a processor; the memory for storing a computer program; and the processor coupled to the memory for executing the computer program to perform steps in a service mesh-based monitoring method.

[0007] This application also provides a computer-readable storage medium storing a computer program that, when executed by a processor, enables the processor to implement steps in a service mesh-based monitoring method.

[0008] In this embodiment, the indicator configuration information provided by the user is obtained in a non-intrusive application service manner. The indicator definition plugin, indicator dimension definition plugin, and attribute definition plugin are invoked to generate corresponding indicator definition information for the monitoring indicators used to monitor the application service. The application service instance is then monitored in conjunction with these indicator definition information. Thus, a plugin-based framework allows users to easily define indicator definition information that better meets their needs, improving the rationality of indicator configuration and ensuring the accuracy of the application service health status measurement results. Attached Figure Description

[0009] The accompanying drawings, which are included to provide a further understanding of this application and form part of this application, illustrate exemplary embodiments and are used to explain this application, but do not constitute an undue limitation of this application. In the drawings:

[0010] Figure 1 An exemplary system architecture diagram of a service mesh is provided for embodiments of this application;

[0011] Figure 2 A system architecture diagram of an application service monitoring system based on a service mesh is provided for embodiments of this application;

[0012] Figure 3 Another exemplary system architecture diagram of a service mesh provided for embodiments of this application;

[0013] Figure 4 A flowchart illustrating a service mesh-based monitoring method provided in this application embodiment.

[0014] Figure 5 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Detailed Implementation

[0015] To make the objectives, technical solutions, and advantages of this application clearer, the technical solutions of this application will be clearly and completely described below in conjunction with specific embodiments and corresponding drawings. Obviously, the described embodiments are only a part of the embodiments of this application, and not all of them. Based on the embodiments in this application, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of this application.

[0016] In the embodiments of this application, "at least one" refers to one or more, and "more than one" refers to two or more. "And / or" describes the access relationship between associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A existing alone, A and B existing simultaneously, and B existing alone, where A and B can be singular or plural. In the textual description of this application, the character " / " generally indicates that the preceding and following associated objects have an "or" relationship. Furthermore, in the embodiments of this application, "first," "second," "third," etc., are only used to distinguish the content of different objects and have no other special meaning.

[0017] The following is an explanation of several terms used in this application.

[0018] 1. Microservice: A microservice is a set of small service components that divide a single application into its constituent parts. Compared to traditional monolithic applications, a microservice architecture treats each microservice as an independent entity / module, fundamentally simplifying its code and the maintenance of related infrastructure. Cloud-native applications running on a microservice architecture can rely on the following components: containerization (Docker), which manages and deploys services effectively by dividing them into multiple processes; orchestration, such as the Kubernetes platform, for configuring, allocating, and managing available system resources for services; and service mesh, such as Istio, which connects, manages, and protects microservices through a service proxy mesh for inter-service communication. A microservice architecture can develop and deploy individual microservices within an application using different technology stacks. Each microservice can be independently optimized, deployed, or scaled, and it offers better handling of fault and error detection. Therefore, a microservice architecture is beneficial for building complex, large applications, is widely used for building small applications, and can also meet the needs of further expansion. In this embodiment, the microservice is referred to as an application service instance.

[0019] 2. Kubernetes (K8s): An open-source container orchestration engine used to manage containerized applications across multiple hosts in a cloud platform. K8s aims to make deploying containerized applications simple and efficient, providing a mechanism for application deployment, planning, updating, and maintenance. In K8s, multiple containers can be created, each running an application instance. Built-in load balancing strategies enable management, discovery, and access to this group of application instances, eliminating the need for complex manual configuration and handling by operations personnel. K8s features include: Portability: Supports public, private, hybrid, and multi-cloud environments; Scalability: Modular, pluggable, mountable, and composable; Automation: Automatic deployment, automatic restart, automatic replication, and automatic scaling / expansion.

[0020] 3. Service Mesh: Used to ensure controlled service-to-service communication through multiple service mesh proxies. In a service mesh, a service mesh proxy deployed with a single service enables communication between services; this is widely known as the sidecar pattern. The service mesh proxy is designed to handle any functions related to inter-service communication, such as load balancing, routing, and service discovery. In other words, the service mesh deploys a service mesh proxy for each service. Each service uses basic networking functions to initiate requests and connect to the corresponding service mesh proxy. Communication between services is indirectly achieved through communication between service mesh proxies.

[0021] A service mesh consists of a control plane layer and a data plane layer. The data plane layer may contain at least one application service instance and a corresponding service mesh proxy. The control plane layer manages and maintains the components in the data plane layer. Communication between services is achieved through communication between service mesh proxies within the data plane layer. In this embodiment, the service mesh proxy is simply referred to as a mesh proxy.

[0022] Figure 1 This is an exemplary system architecture diagram of a service mesh provided in this application embodiment. The service mesh is primarily used to facilitate secure and reliable communication between multiple microservices. A microservice refers to an application being decomposed into multiple smaller services or instances, distributed across different clusters / machines.

[0023] like Figure 1 As shown, the microservice includes application service instance A and application service instance B. In one implementation, application service instances A and B run as containers / processes on a machine / workload container group (POD). In one implementation, application service instance A may be a product query service, and application service instance B may be a product order placement service.

[0024] like Figure 1 As shown, application service instance A and grid agent (sidecar) A coexist in machine workload container group A, and application service instance B and grid agent B coexist in machine workload container B. Application service instance A, application service instance B, and grid agents A and B form the data plane layer of the service mesh. Grid agents A and B run as containers / processes A and B respectively, and grid agent A and application service instance A can communicate bidirectionally, as can grid agent B and application service instance B. Furthermore, grid agents A and B can also communicate bidirectionally.

[0025] In one implementation, all network traffic from application service instance A is routed to the appropriate destination through mesh proxy A, and all network traffic from application service instance B is routed to the appropriate destination through mesh proxy B. It should be noted that the network traffic mentioned here includes, but is not limited to, HTTP (Hypertext Transfer Protocol), REST (Representational State Transfer), gRPC, Redis, etc. gRPC is a type of RPC (Remote Procedure Call); Redis is an open-source, in-memory, optional persistent key-value store database written in ANSI C, containing various data structures.

[0026] In one implementation, the functionality of extending the data plane layer can be achieved by writing custom filters for the grid proxy (Envoy) in the service mesh. The service mesh proxy configuration can enable the service mesh to correctly proxy service traffic, achieving service interoperability and service governance. Grid proxy A and grid proxy B can be configured to perform at least one of the following functions: service discovery, health checking, routing, load balancing, authentication and authorization, and observability.

[0027] like Figure 1 As shown, the service mesh also includes a control plane layer. This control plane layer can consist of a set of services running in a dedicated namespace, managed by a managed control plane component on the machine / workload container group C. For example... Figure 1 As shown, the managed control plane component communicates bidirectionally with mesh agent A and mesh agent B. The managed control plane component is configured to perform various control and management functions. For example, it receives telemetry data from mesh agents A and B and can further aggregate this telemetry data. In addition to these services, the managed control plane component can also provide a user-facing Application Programming Interface (API) to facilitate easier manipulation of network behavior and the provision of configuration data to mesh agents A and B.

[0028] Figure 2This document presents a system architecture diagram for an application service monitoring system based on a service mesh, as provided in an embodiment of this application. See also... Figure 2 The service mesh-based monitoring system includes: an indicator configuration module 10 and an indicator definition generation module 20 deployed in the control plane layer of the service mesh, and at least one grid agent 40 and a corresponding plugin execution module 30 deployed in the data plane layer of the service mesh. The indicator configuration module 10 is used to respond to user indicator configuration operations, obtain user-input indicator configuration information, and send the indicator configuration information to the indicator definition generation module 20. The indicator definition generation module 20 is used to configure indicator definition information of monitoring indicators based on the indicator configuration information using indicator definition plugin 21, indicator dimension definition plugin 22, and attribute definition plugin 23, and send the indicator definition information to at least one plugin execution module 30. The grid agent 40 is used to call the corresponding plugin execution module 30 to monitor requests to the application service instance 60 it proxies based on the indicator definition information, and obtain the monitoring results of the application service instance 60 under the monitoring indicators.

[0029] To better understand, combine Figure 3 The service mesh with the monitoring system deployed is shown for illustration. Figure 3 The medium gray (i.e., relatively darker) modules constitute the service mesh-based monitoring system. Specifically, the service mesh-based monitoring system includes: an indicator configuration module 10, an indicator definition generation module 20, a plugin execution module 30, and a mesh agent 40. The indicator definition generation module 20 includes: an indicator definition plugin 21, an indicator dimension definition plugin 22, an attribute definition plugin 23, a data collection mode definer 24, a statistical mode definer 25, and an attribute value convergent generator 26.

[0030] In this embodiment, the user can provide indicator configuration information to the indicator configuration module 10 of the monitoring system through the declarative API (Application Programming Interface) 70. The indicator configuration information describes the relevant information of the monitoring indicators. In practical applications, an indicator configuration interface can be provided to the user, who can initiate indicator configuration operations through various configuration items on the interface. For example, the configuration items include service identifier configuration items for application services, indicator name configuration items, data collection mode configuration items, data statistics mode configuration items, indicator type configuration items, data type configuration items for monitoring results, and indicator dimension list configuration items, etc. Through the above configuration items, the user can input data configuration information such as the service identifier of the application service, the indicator name of the monitoring indicator, the data collection mode, the data statistics mode, the indicator type, the data type of the monitoring results, and the indicator dimension list, which includes basic information about the attributes of at least one indicator dimension.

[0031] In this embodiment, the service identifier of the application service can indicate the monitoring object of the monitoring metric. For example, monitoring metrics such as QPS (Queries Per Second) and TPS (Transactions Per Second) of the product query service can be monitored.

[0032] The data collection mode can indicate the data source of the data monitored by the monitoring indicator. For example, the data collection mode indicates that the inbound and / or outbound traffic of the application service instance 60 associated with the application service is monitored.

[0033] Data statistics modes are used to indicate the numerical range and / or time interval of the data monitored by the monitoring indicators. For example, statistics can be compiled on response codes with values ​​between 400 and 499, or statistics can be compiled on the number of requests in the past hour, etc.

[0034] Metrics type: This helps users understand and differentiate between different monitoring metrics, including but not limited to the following metric types: Counter, Gauge, Histogram, and Summary.

[0035] The data types of the monitoring results include, but are not limited to: numeric, string, and boolean types.

[0036] The indicator dimension list indicates the attributes of at least one indicator dimension included in the monitoring indicator. The monitoring result of the monitoring indicator is obtained by evaluating the attribute values ​​of the attributes of at least one indicator dimension. In practical applications, the data statistical mode can be used to indicate the evaluation method of the monitoring result. The evaluation method is then used to evaluate the attribute values ​​of the attributes of at least one indicator dimension under the monitoring indicator to obtain the monitoring result of the monitoring indicator. For example, weighted summation, accumulation, or merging of the attribute values ​​of at least one indicator dimension can be performed to obtain the monitoring result of the monitoring indicator. In addition, the monitoring result evaluation method can be flexibly set as needed.

[0037] In this embodiment, the attribute definition information for any indicator dimension includes a conditional expression and an attribute value. The conditional expression is used to search for attribute data associated with the attribute value. In other words, the conditional expression can aggregate multiple attribute data into a single attribute value, greatly reducing the number of attribute values ​​while still satisfying conventional indicator statistics.

[0038] For ease of understanding, the following is an example of indicator configuration information:

[0039]

[0040]

[0041]

[0042] In this embodiment, the indicator configuration module 10 responds to the user's indicator configuration operation by obtaining the indicator configuration information input by the user and sending the indicator configuration information to the indicator definition generator. The indicator definition generation module 20 uses the indicator definition plugin 21, the indicator dimension definition plugin 22, and the attribute definition plugin 23 to configure the indicator definition information of the monitoring indicators according to the indicator configuration information.

[0043] For example, when configuring the indicator definition information of the monitoring indicator, the indicator definition generation module 20 calls the indicator definition plugin 21 to configure the indicator name, data collection mode, data statistics mode, indicator type, and data type of the monitoring result according to the indicator name, data collection mode, data statistics mode, indicator type, and data type of the monitoring result in the indicator configuration information; calls the indicator dimension definition plugin 22 to configure the indicator dimension list of the monitoring indicator according to the indicator dimension list in the indicator configuration information; and calls the attribute definition plugin 23 to configure the conditional expression and attribute value corresponding to the attribute of each indicator dimension of the monitoring indicator according to the attribute definition information of each indicator dimension in the indicator configuration information.

[0044] In practical applications, the indicator definition plugin 21 can call the data acquisition mode definer 24 to configure the data acquisition mode of the monitoring indicators. The data acquisition mode definer 24 is, for example, a plugin with data acquisition mode configuration function developed on demand.

[0045] In practical applications, the indicator definition plugin 21 can call the statistical mode definer 25 to configure the data statistical mode of the monitoring indicators. The statistical mode definer 25 is, for example, a plugin with data statistical mode configuration function developed on demand.

[0046] Further optionally, in order to better configure the data statistics mode of the monitoring indicators, the indicator definition generation module 20 can also obtain the workload context corresponding to the application service, call the indicator definition plugin 21 to optimize the data statistics mode of the monitoring indicators in the indicator configuration information according to the workload context, and set the optimized data statistics mode as the data statistics mode of the configured monitoring indicators.

[0047] In practical applications, the workload context of each application service instance 60 corresponding to an application service can be collected by the service mesh controller 50 in the control plane layer and passed to the metric definition generation module 20. The workload context includes, but is not limited to: the application service name, the namespace where the application service resides, the runtime node environment where the application service resides, the operating system used by the application service, the monitoring services supported by the application service, and other attribute tags. Optimizing the data statistics mode of the monitoring metrics in the metric configuration information by combining the workload context can make the final configured data statistics mode of the monitoring metrics more closely match the actual situation of the application service.

[0048] In this embodiment, the attribute definition plugin 23 can call the attribute value convergent plugin 26 to converge originally different attribute data into a single attribute value through conditional expressions. The attribute value convergent plugin is, for example, a plugin with data convergence functionality developed on demand. For instance, the conditional expression "response.code>=200&&response.code<=299" converges the original response status codes 200 (indicating successful request), 201 (indicating successful creation), 202 (accepted), 203 (unauthorized information), 204 (no content), 205 (reset content), 206 (partial content), and other status codes up to 299, which indicate that the server has successfully processed the request, into 2xx codes (indicating success). This reduces the range of attribute values ​​from 100 divergent values ​​to a single value, significantly decreasing the number of attribute values ​​while still satisfying conventional statistical requirements.

[0049] In this embodiment, after obtaining the indicator definition information of the monitoring indicators, the indicator definition generation module 20 can send the indicator definition information to at least one plugin execution module 30. Thus, any grid proxy in the service mesh can call the corresponding plugin execution module 30 to monitor requests to the application service instance 60 proxies represented by the grid proxy based on the indicator definition information, and obtain the monitoring results of the application service instance 60 under the monitoring indicators.

[0050] Specifically, the grid proxy non-intrusively proxies requests to access application service instance 60, and, in cooperation with the plugin execution module 30, monitors the application service instance 60 under monitoring metrics to obtain monitoring results. Monitoring results include, but are not limited to, QPS, TPS, concurrency, and throughput.

[0051] The service mesh-based monitoring system provided in this application embodiment obtains user-provided indicator configuration information in a non-intrusive manner. It then calls indicator definition plugins, indicator dimension definition plugins, and attribute definition plugins to generate corresponding indicator definition information for monitoring indicators used to monitor application services. Finally, it combines this indicator definition information with the monitoring indicators to monitor application service instances. Thus, using a plugin-based framework, it allows users to easily define indicator definitions that better meet their needs, improving the rationality of indicator configuration and ensuring the accuracy of application service health measurement results.

[0052] Figure 4 A flowchart illustrating a service mesh-based monitoring method provided in this application embodiment. See also... Figure 4 The method may include the following steps:

[0053] 401. Responding to the user's indicator configuration operation, obtain the indicator configuration information input by the user.

[0054] 402. Use the indicator definition plugin, indicator dimension definition plugin, and attribute definition plugin to configure the indicator definition information of the monitoring indicators according to the indicator configuration information.

[0055] 403. Based on the indicator definition information, monitor the requests to access the application service instances proxied by the grid agent, and obtain the monitoring results of the application service instances under the monitoring indicators.

[0056] Optionally, the indicator configuration information may include at least one of the following: the service identifier of the application service, the indicator name of the monitoring indicator, the data collection mode, the data statistics mode, the indicator type, the data type of the monitoring results, and the indicator dimension list. The indicator dimension list includes at least one attribute of the indicator dimension. The attribute definition information of the indicator dimension attribute includes a conditional expression and an aggregated attribute value. The conditional expression is used to search for attribute data associated with the aggregated attribute value of the attribute.

[0057] Optionally, the indicator definition information of the monitoring indicators can be configured based on the indicator configuration information, including: calling the indicator definition plugin to configure the indicator name, data collection mode, data statistics mode, indicator type, and data type of the monitoring results of the monitoring indicators according to the indicator name, data collection mode, data statistics mode, indicator type, and data type of the monitoring results in the indicator configuration information; calling the indicator dimension definition plugin to configure the indicator dimension list of the monitoring indicators according to the indicator dimension list in the indicator configuration information; and calling the attribute definition plugin to configure the conditional expressions and attribute values ​​corresponding to the attributes of each indicator dimension of the monitoring indicators according to the attribute definition information of each indicator dimension in the indicator configuration information.

[0058] Optionally, the metric definition plugin can be invoked to configure the data statistics mode of the monitoring metrics according to the data statistics mode of the monitoring metrics in the metric configuration information. This includes: obtaining the workload context corresponding to the application service; invoking the metric definition plugin to optimize the data statistics mode of the monitoring metrics in the metric configuration information according to the workload context; and setting the optimized data statistics mode as the data statistics mode of the configured monitoring metrics.

[0059] For detailed implementation procedures of each step in the above method, please refer to the relevant descriptions in the foregoing embodiments, which will not be repeated here.

[0060] The technical solution provided in this application obtains user-provided indicator configuration information in a non-intrusive application service manner, calls indicator definition plugins, indicator dimension definition plugins, and attribute definition plugins to generate corresponding indicator definition information for monitoring indicators used to monitor application services, and combines the indicator definition information of the monitoring indicators to monitor application service instances. Thus, using a plugin-based framework, users can easily define indicator definition information for monitoring indicators that better meet their needs, improving the rationality of monitoring indicator configuration and ensuring the accuracy of the measurement results of the application service's health status.

[0061] It should be noted that the execution subject of each step of the method provided in the above embodiments can be the same device, or the method can be executed by different devices. For example, the execution subject of steps 401 to 403 can be device A; or the execution subject of steps 401 and 402 can be device A, and the execution subject of step 403 can be device B; and so on.

[0062] Furthermore, in some of the processes described in the above embodiments and accompanying drawings, multiple operations appear in a specific order. However, it should be clearly understood that these operations may not be executed in the order they appear herein, or they may be executed in parallel. The operation numbers, such as 401, 402, etc., are merely used to distinguish different operations and do not represent any execution order. Additionally, these processes may include more or fewer operations, and these operations may be executed sequentially or in parallel. It should be noted that the descriptions such as "first" and "second" in this document are used to distinguish different messages, devices, modules, etc., and do not represent a sequential order, nor do they limit "first" and "second" to different types.

[0063] It should be noted that the user information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for analysis, data stored, data displayed, etc.) involved in this application are all information and data authorized by the user or fully authorized by all parties. Furthermore, the collection, use and processing of the relevant data must comply with the relevant laws, regulations and standards of the relevant countries and regions, and corresponding operation portals are provided for users to choose to authorize or refuse.

[0064] Figure 5 This is a schematic diagram of the structure of a computer device provided in an embodiment of this application. Figure 5 As shown, the computer device includes: a memory 51 and a processor 52;

[0065] Memory 51 is used to store computer programs and can be configured to store various other data to support operation on the computing platform. Examples of this data include instructions for any application or method operating on the computing platform, contact data, phone book data, messages, pictures, videos, etc.

[0066] The memory 51 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random-access memory (SRAM), electrically erasable programmable read-only memory (EEPROM), erasable programmable read-only memory (EPROM), programmable read-only memory (PROM), read-only memory (ROM), magnetic storage, flash memory, magnetic disk, or optical disk.

[0067] Processor 52, coupled to memory 51, is used to execute computer programs in memory 51 for performing steps in a service mesh-based monitoring method.

[0068] Furthermore, such as Figure 5 As shown, the computer device also includes other components such as a communication component 53, a display 54, a power supply component 55, and an audio component 56. Figure 5 The diagram only shows some components and does not mean that the computer device includes only these components. Figure 5 The components shown. Additionally... Figure 5The components within the dashed box are optional, not mandatory, and their specific requirements depend on the product form of the computer device. The computer device in this embodiment can be a desktop computer, laptop computer, smartphone, or IoT (Internet of Things) device, or a server-side device such as a conventional server, cloud server, or server array. If the computer device in this embodiment is implemented as a desktop computer, laptop computer, or smartphone, it may include... Figure 5 The components within the dashed box; if the computer device in this embodiment is implemented as a conventional server, cloud server, or server array, etc., then it may not include... Figure 5 The component within the dashed box.

[0069] For a detailed description of the implementation process of each action by the processor, please refer to the relevant descriptions in the foregoing method embodiments or device embodiments, which will not be repeated here.

[0070] Accordingly, embodiments of this application also provide a computer-readable storage medium storing a computer program, which, when executed, can perform the steps that can be executed by a computer device in the above method embodiments.

[0071] Accordingly, this application also provides a computer program product, including a computer program / instructions, which, when executed by a processor, enable the processor to perform the steps that can be executed by a computer device in the above method embodiments.

[0072] The aforementioned communication components are configured to facilitate wired or wireless communication between the device containing the communication components and other devices. The device containing the communication components can access wireless networks based on communication standards, such as WiFi (Wireless Fidelity), 2G (2nd Generation), 3G (3rd Generation), 4G (4th Generation) / LTE (long Term Evolution), 5G (5th Generation), or combinations thereof. In one exemplary embodiment, the communication components receive broadcast signals or broadcast-related information from an external broadcast management system via a broadcast channel. In one exemplary embodiment, the communication components also include a Near Field Communication (NFC) module to facilitate short-range communication. For example, the NFC module may be based on Radio Frequency Identification (RFID), Infrared Data Association (IrDA), Ultra Wide Band (UWB), Bluetooth, and other technologies.

[0073] The aforementioned display includes a screen, which may include a Liquid Crystal Display (LCD) and a Touch Panel (TP). If the screen includes a Touch Panel, the screen can be implemented as a touchscreen to receive input signals from a user. The Touch Panel includes one or more touch sensors to sense touches, swipes, and gestures on the Touch Panel. The touch sensors can sense not only the boundaries of the touch or swipe action but also the duration and pressure associated with the touch or swipe operation.

[0074] The aforementioned power supply components provide power to various components within the device in which they reside. These power supply components may include a power management system, one or more power sources, and other components associated with generating, managing, and distributing power to the device in which they reside.

[0075] The aforementioned audio component can be configured to output and / or input audio signals. For example, the audio component includes a microphone (MIC) configured to receive external audio signals when the device containing the audio component is in an operating mode, such as call mode, recording mode, or voice recognition mode. The received audio signals can be further stored in memory or transmitted via a communication component. In some embodiments, the audio component also includes a speaker for outputting audio signals.

[0076] Those skilled in the art will understand that embodiments of this application can be provided as methods, systems, or computer program products. Therefore, this application can take the form of a completely hardware embodiment, a completely software embodiment, or an embodiment combining software and hardware aspects. Furthermore, this application can take the form of a computer program product embodied on one or more computer-readable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) containing computer-usable program code.

[0077] This application is described with reference to flowchart illustrations and / or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of this application. It will be understood that each block of the flowchart illustrations and / or block diagrams, and combinations of blocks in the flowchart illustrations and / or block diagrams, can be implemented by computer program instructions. These computer program instructions can be provided to a processor of a general-purpose computer, special-purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, generate instructions for implementing the flowchart... Figure 1 One or more processes and / or boxes Figure 1 A device that provides the functions specified in one or more boxes.

[0078] These computer program instructions may also be stored in a computer-readable storage medium that can direct a computer or other programmable data processing device to function in a particular manner, such that the instructions stored in the computer-readable storage medium produce an article of manufacture including instruction means, which are implemented in a process Figure 1 One or more processes and / or boxes Figure 1 The function specified in one or more boxes.

[0079] These computer program instructions may also be loaded onto a computer or other programmable data processing equipment to cause a series of operational steps to be performed on the computer or other programmable equipment to produce a computer-implemented process, thereby providing instructions that execute on the computer or other programmable equipment for implementing the process. Figure 1 One or more processes and / or boxes Figure 1 The steps of the function specified in one or more boxes.

[0080] In a typical configuration, a computing device includes one or more processors (Central Processing Unit, CPU), input / output interfaces, network interfaces, and memory.

[0081] Memory may include non-persistent storage in computer-readable media, such as random access memory (RAM) and / or non-volatile memory, such as read-only memory (ROM) or flash RAM. Memory is an example of computer-readable media.

[0082] Computer-readable media, including both permanent and non-permanent, removable and non-removable media, can store information using any method or technology. Information can be computer-readable instructions, data structures, program modules, or other data. Examples of computer storage media include, but are not limited to, phase-change RAM (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technologies, CD-ROM, digital versatile disc (DVD) or other optical storage, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transfer medium that can be used to store information accessible by a computing device. As defined in this article, computer-readable media do not include transient media, such as modulated data signals and carrier waves.

[0083] It should also be noted that the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.

[0084] The above description is merely an embodiment of this application and is not intended to limit the scope of this application. Various modifications and variations can be made to this application by those skilled in the art. Any modifications, equivalent substitutions, improvements, etc., made within the spirit and principles of this application should be included within the scope of the claims of this application.

Claims

1. A service mesh based monitoring system, characterized in that, include: The indicator configuration module and indicator definition generation module are deployed in the control plane layer of the service mesh, and at least one mesh agent and the corresponding plugin execution module of the mesh agent are deployed in the data plane layer of the service mesh; The indicator configuration module is used to respond to the user's indicator configuration operation, obtain the indicator configuration information input by the user, and send the indicator configuration information to the indicator definition generation module. The indicator definition generation module is used to call the indicator definition plugin to configure the relevant basic information of the monitoring indicator according to the indicator configuration information; The indicator dimension definition plugin is invoked to configure the indicator dimension list of the monitored indicator based on the indicator dimension list in the indicator configuration information. The attribute definition plugin is invoked to configure the conditional expressions and attribute values ​​corresponding to the attributes of each indicator dimension of the monitoring indicator according to the attribute definition information of each indicator dimension in the indicator configuration information; the relevant basic information of the monitoring indicator, the list of indicator dimensions of the monitoring indicator, the conditional expressions and attribute values ​​corresponding to the attributes of each indicator dimension of the monitoring indicator are used as indicator definition information, and the indicator definition information is sent to at least one plugin execution module. The grid proxy is used to call the corresponding plugin execution module to monitor requests to access the application service instance it proxies based on the indicator definition information, and obtain the monitoring results of the application service instance under the monitoring indicators.

2. The system of claim 1, wherein, The indicator configuration information includes at least one of the following: the service identifier of the application service, the indicator name of the monitoring indicator, the data collection mode, the data statistics mode, the indicator type, the data type of the monitoring result, and the indicator dimension list. The indicator dimension list includes at least one attribute of the indicator dimension. The attribute definition information of the attribute of the indicator dimension includes a conditional expression and an attribute value. The conditional expression is used to search for attribute data associated with the attribute value of the attribute.

3. The system of claim 1, wherein, When configuring the basic information related to the monitoring indicators, the indicator definition generation module is specifically used for: The indicator definition plugin is invoked to configure the indicator name, data collection mode, data statistics mode, indicator type, and data type of the monitoring result of the monitored indicator according to the indicator name, data collection mode, data statistics mode, indicator type, and data type of the monitoring result in the indicator configuration information.

4. The system of claim 3, wherein, When configuring the data statistics mode for the monitoring indicators, the indicator definition generation module is specifically used for: Obtain the workload context corresponding to the application service; The indicator definition plugin is invoked to configure the data statistics mode of the monitoring indicator based on the data statistics mode of the monitoring indicator in the indicator configuration information and the workload context. 5.A service mesh based monitoring method, characterized in that, include: In response to the user's metric configuration operation, obtain the metric configuration information input by the user; The indicator definition plugin is invoked to configure the relevant basic information of the monitoring indicator based on the indicator configuration information. The indicator dimension definition plugin is invoked to configure the indicator dimension list of the monitoring indicator according to the indicator dimension list in the indicator configuration information; The attribute definition plugin is invoked to configure the conditional expressions and attribute values ​​corresponding to the attributes of each indicator dimension of the monitoring indicator according to the attribute definition information of each indicator dimension in the indicator configuration information; the relevant basic information of the monitoring indicator, the list of indicator dimensions of the monitoring indicator, and the conditional expressions and attribute values ​​corresponding to the attributes of each indicator dimension of the monitoring indicator are used as indicator definition information. Based on the defined metric information, requests to access application service instances proxied by the grid proxy are monitored to obtain the monitoring results of the application service instances under the monitored metrics.

6. The method of claim 5, wherein, The indicator configuration information includes at least one of the following: the service identifier of the application service, the indicator name of the monitoring indicator, the data collection mode, the data statistics mode, the indicator type, the data type of the monitoring result, and the indicator dimension list. The indicator dimension list includes at least one attribute of the indicator dimension. The attribute definition information of the attribute of the indicator dimension includes a conditional expression and an aggregated attribute value. The conditional expression is used to search for attribute data associated with the aggregated attribute value of the attribute.

7. The method of claim 5, wherein, Configure the relevant basic information of the monitoring indicators according to the indicator configuration information, including: The indicator definition plugin is invoked to configure the indicator name, data collection mode, data statistics mode, indicator type, and data type of the monitoring result of the monitored indicator according to the indicator name, data collection mode, data statistics mode, indicator type, and data type of the monitoring result in the indicator configuration information.

8. The method of claim 7, wherein, The indicator definition plugin is invoked to configure the data statistics mode of the monitored indicator according to the data statistics mode of the monitored indicator in the indicator configuration information, including: Obtain the workload context corresponding to the application service; The indicator definition plugin is invoked to optimize the data statistics mode of the monitored indicators in the indicator configuration information according to the workload context; The optimized data statistics mode is the data statistics mode configured for the monitoring indicators.

9. A computer device, characterized in that, include: Memory and processor; The memory is used to store computer programs; The processor is coupled to the memory for executing the computer program to perform the steps of the method according to any one of claims 5-8.

10. A computer readable storage medium storing a computer program, characterized in that, When the computer program is executed by a processor, it causes the processor to perform the steps of the method according to any one of claims 5-8.