An example monitoring method, apparatus, electronic device, and storage medium
By generating and displaying operator monitoring diagrams, the problem of low efficiency in querying operator topological relationships and monitoring indicator parameters in the existing technology is solved, and fast and accurate positioning of abnormal operators is achieved.
Patent Information
- Application Number
- CN202411224118.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2024-09-02
- Publication Date
- 2025-10-10
- Estimated Expiration
- 2044-09-02
AI Technical Summary
In the existing technology, querying the operator topology relationship and monitoring indicator parameters of an instance is inefficient and labor-intensive, making it difficult to quickly and accurately locate abnormal operators.
By receiving the client's query request, obtaining the current operator information of the target instance, generating a web page code, and returning a query response carrying the web page code to the client to display the operator monitoring diagram corresponding to the target instance.
It enables efficient and convenient visualization of the current information of operators on the client, accurately locates abnormal operators, and improves the efficiency and accuracy of abnormality detection.
Smart Images

Figure CN119299443B_ABST
Abstract
Description
Technical Field
[0001] The present disclosure relates to the field of computer technology, and in particular to technical fields such as data monitoring and operator monitoring. Background Art
[0002] In related technologies, when troubleshooting anomalies in an instance, investigators often need to query configuration files and log information to obtain the instance's operator topology and operator monitoring indicator parameters. This approach is not only inefficient but also labor-intensive. Therefore, how to intuitively display the instance's operator topology and operator monitoring indicator parameters to quickly and accurately locate anomalous operators has become a problem that needs to be solved. Summary of the Invention
[0003] The present disclosure provides an example monitoring method, apparatus, electronic device, and storage medium.
[0004] According to one aspect of the present disclosure, there is provided an instance monitoring method, comprising:
[0005] Receive a query request for a target instance from a client;
[0006] Get the current operator information of the target instance;
[0007] Generate web page encoding based on the current operator information of the target instance;
[0008] A query response is returned to the client, where the query response carries a web page code, which is used by the client to display the operator monitoring graph corresponding to the target instance.
[0009] According to another aspect of the present disclosure, there is provided an instance monitoring device, comprising:
[0010] The communication module is used to receive a query request for a target instance from a client and return a query response to the client. The query response carries a web page code that is used by the client to display the operator monitoring graph corresponding to the target instance.
[0011] Operator information acquisition module, used to obtain the current operator information of the target instance;
[0012] The processing module is used to generate web page code based on the current operator information of the target instance.
[0013] According to another aspect of the present disclosure, there is provided an electronic device, comprising:
[0014] at least one processor; and
[0015] a memory communicatively connected to the at least one processor; wherein,
[0016] The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to execute the method provided by any embodiment of the present disclosure.
[0017] According to another aspect of the present disclosure, a non-transitory computer-readable storage medium storing computer instructions is provided, where the computer instructions are used to enable the computer to execute the method provided by any one of the embodiments of the present disclosure.
[0018] According to another aspect of the present disclosure, a computer program product is provided, comprising computer instructions, which implement the method provided in any embodiment of the present disclosure when executed by a processor.
[0019] By employing the method provided in this embodiment, the current operator information of a target instance can be obtained in real time based on a query request for the target instance sent by a client. A webpage code generated based on this current operator information is then fed back to the client, allowing the client to display the operator monitoring graph corresponding to the target instance based on the webpage code. This allows the client to visually display the current operator information of any instance, enabling efficient and convenient detection of abnormal operators in the instance and accurate location of the abnormal operator.
[0020] It should be understood that the contents described in this section are not intended to identify the key or important features of the embodiments of the present disclosure, nor are they intended to limit the scope of the present disclosure. Other features of the present disclosure will become readily understood through the following description. BRIEF DESCRIPTION OF THE DRAWINGS
[0021] The accompanying drawings are provided to facilitate a better understanding of the present invention and do not constitute a limitation of the present disclosure.
[0022] Figure 1 is a flow chart of an example monitoring method according to an embodiment of the present disclosure;
[0023] Figure 2 is a schematic diagram of a structure of an example monitoring device according to an embodiment of the present disclosure;
[0024] Figure 3 is another structural diagram of an example monitoring device according to an embodiment of the present disclosure;
[0025] Figure 4 Schematic diagram of an instance monitoring system architecture for interaction between a client and a server according to an instance monitoring method of an embodiment of the present disclosure;
[0026] Figure 5 1 is a schematic diagram of the interaction process between the client and the server according to the example monitoring method of the embodiment of the present disclosure;
[0027] Figure 6 is a schematic diagram of an operation of a user of an example monitoring method according to an embodiment of the present disclosure entering a URL of a target example in a client browser;
[0028] Figure 7 is a schematic diagram of an operator monitoring chart corresponding to a target example displayed on a client according to an example monitoring method of an embodiment of the present disclosure;
[0029] Figure 8 is a block diagram of an electronic device for implementing an example monitoring method of an embodiment of the present disclosure. DETAILED DESCRIPTION
[0030] Exemplary embodiments of the present disclosure are described herein with reference to the accompanying drawings, which are included to provide a thorough understanding of embodiments of the present disclosure by a person of ordinary skill in the art, and they should be considered in conjunction only. Thus, those of ordinary skill in the art will recognize that various changes and modifications can be made to the embodiments described herein, without departing from the scope and spirit of the present disclosure. Also, in the following description, descriptions of well-known functions and constructions are omitted for clarity and conciseness.
[0031] The term "and / or" herein is merely a description of the association relationship of the associated objects, which means that there can be three relationships, for example, A and / or B can mean that A exists alone, A and B exist together, and B exists alone. The term "at least one" herein means any one of a plurality or any combination of at least two of a plurality, for example, including at least one of A, B, and C can mean including any one or more elements selected from the set consisting of A, B, and C. The terms "first", "second" herein mean to refer to a plurality of similar technical terms and to distinguish them, and do not mean to limit the order or mean to limit only two, for example, the first feature and the second feature mean to refer to two categories / two features, and the first feature can be one or more, and the second feature can also be one or more.
[0032] In addition, in order to better illustrate the present disclosure, a large number of specific details are given in the following detailed description. Those skilled in the art should understand that the present disclosure can also be implemented without certain specific details. In some examples, methods, means, elements and circuits well known to those skilled in the art are not described in detail, in order to highlight the main idea of the present disclosure.
[0033] Figure 1 is a schematic flowchart of an example monitoring method according to an embodiment of the present disclosure, comprising:
[0034] S110, receiving a query request for a target example from a client;
[0035] S120, obtaining current operator information of the target example;
[0036] S130, generating a webpage code based on the current operator information of the target instance;
[0037] S140. Return a query response to the client, wherein the query response carries a web page code, and the web page code is used by the client to display a current operator monitoring graph corresponding to the target instance.
[0038] The example monitoring method provided in this embodiment can be applied to a server, which can include one or more servers. For example, the server can be one or more servers in a service cluster.
[0039] The client can be any electronic device with a display screen and supporting web browsing used by the user. For example, the client can include but is not limited to any one of the following: a smart phone, a tablet computer, a laptop computer, a personal computer, etc.
[0040] By employing the method provided in this embodiment, the current operator information of a target instance can be obtained in real time based on a query request for the target instance sent by a client. A webpage code generated based on this current operator information is then fed back to the client, allowing the client to display the operator monitoring graph corresponding to the target instance based on the webpage code. This allows the client to visually display the current operator information of any instance, enabling efficient and convenient detection of abnormal operators in the instance and accurate location of the abnormal operator.
[0041] In some implementations, the query request for the target instance may include a URL (Uniform Resource Locator) corresponding to the target instance.
[0042] The message type of the query request of the target instance may be an HTTP (Hyper Text Transfer Protocol) GET request.
[0043] An example of the URL corresponding to the target instance is "http: / / target instance address:target instance port number / common / call_graph", where "http: / / " indicates that the hypertext transfer protocol is used to access resources; "target instance address" can be an IP (Internet Protocol) address of the target instance, or a domain name of the target instance, the IP address of the target instance refers to a network address of a server running the target instance, and the domain name of the target instance refers to a domain name corresponding to the IP address of the server running the target instance; "target instance port number" is a port used by a service associated with the target instance, and it can be understood that different services or applications can be distinguished on a server, and each service usually listens to a specific port number to receive requests from a client, so the target instance port number can be determined by the port number of the service corresponding to the target instance; " / common / call_graph" is a path part, which is used to specify a specific resource or function to be accessed, where " / common / " can represent a general path prefix, and "call_graph" can be used to recall a web coding used for drawing a graph by the client.
[0044] In some possible examples, the client can generate the query request of the target instance in the following manner: in a case where the client obtains the URL corresponding to the target instance input by the user in the address bar of the browser, the client adds the URL corresponding to the target instance to the query request of the target instance. It should be noted that the query request of the target instance can include other information or content in addition to the URL corresponding to the target instance, but the present embodiment does not limit or exhaustively list.
[0045] The service end can receive the query request of the target instance from the client in the following manner: the service end receives the query request of the target instance from the client through an HTTP service interface. Here, the HTTP service can be a newly added service of the service end, or can be a service end that reuses an existing RPC (Remote Procedure Call) service; if the service end reuses the existing RPC service, a GraphService (graph service) can be added on the basis of the RPC service to process the query request of the target instance from the client, so that repeated development can be avoided, the development efficiency is improved, and the complexity of the system is reduced.
[0046] In some embodiments, the current operator information of the target instance comprises at least one of: static topology of the plurality of operators corresponding to the target instance, current dynamic topology of the plurality of operators corresponding to the target instance, and current value of each of the plurality of operators corresponding to the target instance under each of one or more monitoring indicators.
[0047] The obtaining of the current operator information of the target instance comprises at least one of: obtaining an operator topology file corresponding to the target instance, and obtaining the static topology of the plurality of operators corresponding to the target instance based on the operator topology file corresponding to the target instance; obtaining current connection relationship of each of the plurality of operators corresponding to the target instance, and obtaining current dynamic topology of at least part of the plurality of operators corresponding to the target instance based on the current connection relationship of the at least part of the plurality of operators in a case where the current connection relationship of the at least part of the plurality of operators is different from the static topology of the plurality of operators corresponding to the target instance; and obtaining the current value of each of the plurality of operators corresponding to the target instance under each of one or more monitoring indicators.
[0048] In the embodiment, at least one of the static topology of the plurality of operators corresponding to the target instance, the current dynamic topology of the plurality of operators corresponding to the target instance, and the current value of each of the plurality of operators corresponding to the target instance under each of one or more monitoring indicators included in the current operator information of the target instance can be a specific description code or specific description content. In the following, the current operator information of the target instance obtained in the embodiment is referred to as the original basic information of the current operator of the target instance, which will not be explained again in the following.
[0049] The plurality of operators corresponding to the target instance can refer to all operators constituting the target instance or all operators required to be used or executed when the target instance is running. The operator can refer to the smallest calculation granularity with logical meaning, and any operator can be implemented by an operation function, a neural network model, etc., which is not limited here.
[0050] The static topology of the plurality of operators corresponding to the target instance can comprise static connection relationship among the plurality of operators constituting the target instance.
[0051] Specifically, the obtaining of the operator topology file corresponding to the target instance can be: obtaining the operator topology file corresponding to the target instance from the target computing engine through an interface of the target computing engine.
[0052] The target computing engine can be a system or tool capable of processing each operator corresponding to the target instance. For example, the target computing engine can be any graph computing engine, such as a base-build engine or a DDC (Distributed Data Center). This does not limit or exhaustively enumerate the various possible types or names of graph computing engines.
[0053] The operator topology file corresponding to the target instance can be used to determine the upper-level operator and / or lower-level operator associated with each operator of the target instance. For example, the operator topology file corresponding to the target instance may include the identification information of each operator among all the operators contained in the target instance, the identification information of the upper-level operator and / or lower-level operator associated with each operator, and the identification information of any operator may include at least one of the following: the identifier of the operator, the name of the operator, the type of the operator, the number of the operator, the location of the operator, etc. It should be noted that the operator topology file may include other content in addition to the above content, but this embodiment does not limit or exhaustively list them.
[0054] The operator topology file corresponding to the target instance may be generated and saved when constructing or configuring multiple operators of the target instance. This embodiment does not limit the specific method of generating the operator topology file corresponding to the target instance.
[0055] The storage location of the operator topology file corresponding to the target instance is not limited in this embodiment and can be in the storage space corresponding to the target computing engine.
[0056] Obtaining the static topology of multiple operators corresponding to the target instance based on the operator topology file corresponding to the target instance may include: obtaining the static connection relationship of the multiple operators corresponding to the target instance based on the upper-level operator and / or lower-level operator associated with each operator of the target instance contained in the operator topology file corresponding to the target instance, and using the static connection relationship of the multiple operators corresponding to the target instance as the static topology of the multiple operators corresponding to the target instance.
[0057] Acquiring the current connection relationship of each of the multiple operators corresponding to the target instance may include: acquiring the current connection relationship of each of the multiple operators corresponding to the target instance from the target computing engine through an interface of the target computing engine.
[0058] The current connection relationship of any operator may include at least one of the following: the operator to which the current output data of the operator flows, and the source operator of the current input data of the operator.
[0059] Optionally, the method for determining whether the current connection relationship of at least some operators among the multiple operators corresponding to the target instance is the same as the static topology of the multiple operators corresponding to the target instance may include: when the i-th operator corresponding to the target instance is not a leaf node operator in the static topology of the multiple operators corresponding to the target instance, determining whether the operator to which the current output data of the i-th operator flows is the next-level operator of the i-th operator in the static topology of the multiple operators corresponding to the target instance, wherein the i-th operator is any one of the multiple operators and i is an integer greater than or equal to 1; when the operator to which the current output data of the i-th operator flows is not the next-level operator of the i-th operator in the static topology, determining that the current connection relationship of the i-th operator is different from the static topology of the multiple operators; when the operator to which the current output data of the i-th operator flows is the next-level operator of the i-th operator in the static topology, determining that the current connection relationship of the i-th operator is the same as the static topology of the multiple operators. Among them, the leaf node operator in the static topology where the i-th operator is not a plurality of operators corresponding to the target instance can be: the root node operator or the intermediate node operator in the static topology where the i-th operator is a plurality of operators corresponding to the target instance.
[0060] Optionally, determining whether the current connection relationship of at least some operators among the multiple operators corresponding to the target instance is the same as the static topology of the multiple operators corresponding to the target instance may include: when the i-th operator corresponding to the target instance is not the root node operator in the static topology of the multiple operators corresponding to the target instance, determining whether the source operator of the i-th operator's current input data is the upper-level operator of the i-th operator in the static topology of the multiple operators corresponding to the target instance; when the source operator of the i-th operator's current input data is not the upper-level operator of the i-th operator in the static topology, determining that the current connection relationship of the i-th operator is different from the static topology of the multiple operators; when the source operator of the i-th operator's current input data is the upper-level operator of the i-th operator in the static topology, determining that the current connection relationship of the i-th operator is the same as the static topology of the multiple operators. Wherein, the i-th operator not being the root node operator in the static topology of the multiple operators corresponding to the target instance may be: the i-th operator being a leaf node operator or an intermediate node operator in the static topology of the multiple operators corresponding to the target instance.
[0061] Since the same processing as the aforementioned i-th operator can be performed on each operator corresponding to the target instance, it can ultimately be determined whether the current connection relationships of at least some of the multiple operators corresponding to the target instance are different from the static topology of the multiple operators. Further, the current connection relationship of each of the multiple operators corresponding to the target instance is obtained. If the current connection relationships of at least some of the multiple operators corresponding to the target instance are different from the static topology of the multiple operators corresponding to the target instance, the current dynamic topology of at least some of the multiple operators corresponding to the target instance is obtained based on the current connection relationships of at least some of the operators. Here, the current connection relationships of at least some of the operators can be directly used as the current dynamic topology of at least some of the operators.
[0062] In addition, the method may further include: when the current connection relationship of each operator in the multiple operators corresponding to the target instance is the same as the static topology of the multiple operators, not generating the current dynamic topology of the multiple operators corresponding to the target instance.
[0063] The one or more monitoring indicators are any one or more monitoring indicators that can be used to represent the operating status of an operator. For example, the one or more monitoring indicators may include at least one of the following: number of failed processing, total number of processing, operator queue, operator backlog information, operator latency information, QPS (Query Per Second), etc. It should be understood that the one or more monitoring indicators may include, but are not limited to, the several possible types listed in the examples above, but this embodiment does not limit or exhaustively list them.
[0064] Obtaining the current value of each operator corresponding to the target instance under each monitoring indicator may refer to: obtaining the current value of each operator corresponding to the target instance under each monitoring indicator from the target computing engine through the interface of the target computing engine.
[0065] The target computing engine's interface may be pre-configured in the target computing engine. For example, the target computing engine's developer may pre-write or pre-set the interface and embed it in the target computing engine. In some possible examples, monitoring indicators may also be pre-configured in the target computing engine.
[0066] In one example, the interface of the target computing engine may be a first interface pre-configured in the target computing engine; the first interface may be an interface in a highly reused mode, and the type of interface content or interface information that can be obtained through the first interface of the target computing engine may be pre-configured. For example, the type of interface information corresponding to the first interface may also be pre-written or pre-set by the developer of the target computing engine and embedded in the target computing engine.
[0067] For example, the types of interface content or interface information that can be obtained through the first interface of the target computing engine include the static topology between operators and the monitoring information (i.e., value) of each operator under one or more specified monitoring indicators. Accordingly, the aforementioned acquisition of the current operator information of the target instance may include: obtaining the operator topology file corresponding to the target instance and the current value of each operator corresponding to the target instance under each monitoring indicator from the target computing engine through the first interface of the target computing engine, and obtaining the static topology of multiple operators corresponding to the target instance based on the operator topology file corresponding to the target instance.
[0068] The operator topology file corresponding to the target instance provided by the target computing engine may include the connection relationship between each operator corresponding to the target instance, specifically including the upper-level operator and / or lower-level operator of each operator. For example, the connection relationship between any pair of upper-level and lower-level operators in the operator topology file corresponding to the target instance can be expressed as: map <pair<operatorA,operatorB> >, where "map" is used to represent a static topology (or static topology graph), "pair" represents a pair of operators with a hierarchical relationship, "operator A" represents operator A among multiple operators corresponding to the target instance, "operator B" represents operator B among multiple operators corresponding to the target instance, and<operatorA,operatorB> " indicates that operator A is the previous level operator of operator B, or operator B is the next level operator of operator A.
[0069] For example, the current value of any operator provided by the target computing engine under one or more monitoring indicators may include at least one of the following: set_operatorA_info(qps,10), set_operatorA_info(latency,20); where "set_operatorA_info(qps,10)" indicates that the current value of operator A under the QPS monitoring indicator is 10, and "set_operatorA_info(latency,20)" indicates that the current value of operator A under the latency monitoring indicator is 20.
[0070] By adopting the above solution, the original basic information of the current operator of the target instance can be directly obtained, which enables the client to more accurately display the current status of multiple operators of the target instance, thereby more efficiently and conveniently checking whether there are abnormal operators in the instance and accurately locating the position of the abnormal operator.
[0071] In one example, the method further includes: receiving indication information from the client, wherein the indication information is used to indicate the one or more monitoring indicators.
[0072] In this example, the interface of the target computing engine can be a second interface pre-configured in the target computing engine; the second interface can be an interface in a highly flexible mode, and the type of interface content or interface information that can be obtained through the second interface of the target computing engine can be configured to the target computing engine by the user according to actual needs.
[0073] In this example, the process of obtaining the current value of each operator corresponding to the target instance under each monitoring indicator in one or more monitoring indicators may include: sending the one or more monitoring indicators to the target computing engine through the interface of the target computing engine; and obtaining the current value of each operator corresponding to the target instance under each monitoring indicator from the target computing engine through the interface of the target computing engine.
[0074] In this example, at least one of the static topology of the multiple operators corresponding to the target instance and the current dynamic topology of the multiple operators corresponding to the target instance can also be obtained. The methods for obtaining the static topology of the multiple operators corresponding to the target instance and the current dynamic topology of the multiple operators corresponding to the target instance are the same as those in the previous embodiment and are not described again.
[0075] By adopting the above solution, when obtaining the current operator information of the target instance, the current value of each operator under each configured monitoring indicator can be flexibly obtained according to the client configuration based on the monitoring indicators configured by the client, so that the current operator information of the target instance that meets the client's needs can be obtained more flexibly, thereby ensuring that the client can more accurately display the current status of multiple operators of the target instance, so as to more efficiently and conveniently check whether there are abnormal operators in the instance and accurately locate the position of the abnormal operator.
[0076] In some embodiments, the current operator information of the target instance may be a current operator vector map of the target instance. Obtaining the current operator information of the target instance includes: obtaining a current operator vector map corresponding to the target instance, wherein the current operator vector map corresponding to the target instance is composed of at least one of the following: a static topology of multiple operators corresponding to the target instance, a current dynamic topology of multiple operators corresponding to the target instance, and a current value of each operator in the multiple operators corresponding to the target instance under each monitoring indicator in one or more monitoring indicators; and using the current operator vector map corresponding to the target instance as the current operator information of the target instance.
[0077] Acquiring the current operator vector map corresponding to the target instance may include: acquiring the current operator vector map corresponding to the target instance from the target computing engine through an interface of the target computing engine.
[0078] In this embodiment, the interface of the target computing engine may be a third interface pre-configured in the target computing engine. The third interface may be an interface in a semi-multiplexing mode. The type of interface content or interface information that can be obtained through the third interface of the target computing engine is a vector diagram.
[0079] In this embodiment, the target computing engine itself already has the function of constructing a current operator vector map corresponding to the target instance based on the static topology of the multiple operators corresponding to the target instance, the current dynamic topology of the multiple operators corresponding to the target instance, and at least one of the current values of each operator in the multiple operators corresponding to the target instance under each monitoring indicator in one or more monitoring indicators. Therefore, after generating the current operator vector map corresponding to the target instance, the target computing engine can directly pass the current operator vector map corresponding to the target instance constructed by itself to the server.
[0080] Among them, the target computing engine specifically forms a processing method for the current operator vector map corresponding to the target instance based on the static topology of the multiple operators corresponding to the target instance, the current dynamic topology of the multiple operators corresponding to the target instance, and at least one of the current values of each operator in the multiple operators corresponding to the target instance under each monitoring indicator in one or more monitoring indicators. It can be configured according to actual conditions. For example, the target computing engine can use Graphviz (GraphVisualization Software) to implement the composition function, that is, the target computing engine can process the static topology of the multiple operators corresponding to the target instance, the current dynamic topology of the multiple operators corresponding to the target instance, and at least one of the current values of each operator in the multiple operators corresponding to the target instance under each monitoring indicator in one or more monitoring indicators based on Graphviz to form the current operator vector map corresponding to the target instance. It should be pointed out that this is only an exemplary description, and this embodiment does not exhaustively list and limit the composition functions specifically used by the target computing engine.
[0081] Since the target computing engine is a system or tool that runs multiple operators corresponding to the target instance, the target computing engine can obtain at least one of the static topology of the multiple operators corresponding to the target instance, the current dynamic topology of the multiple operators corresponding to the target instance, and the current value of each of the multiple operators corresponding to the target instance under each monitoring indicator in one or more monitoring indicators. This embodiment does not limit the manner in which the target computing engine specifically obtains the static topology of the multiple operators corresponding to the target instance, the current dynamic topology of the multiple operators corresponding to the target instance, and the current value of each of the multiple operators corresponding to the target instance under each monitoring indicator in one or more monitoring indicators.
[0082] The method by which the target computing engine transmits the current operator vector graph corresponding to the target instance to the server can also be configured according to actual conditions. For example, the current operator vector graph corresponding to the target instance can be transmitted through the "set_graph_viz (Set Graphviz)" function.
[0083] By adopting the above scheme, it is possible to directly obtain an operator vector map composed of the static topology of multiple operators corresponding to the target instance, the current dynamic topology of the multiple operators corresponding to the target instance, and at least one of the current values of each operator in the multiple operators corresponding to the target instance under each monitoring indicator of one or more monitoring indicators. The operator vector map is directly used as the current operator information of the target instance, thereby reducing the processing on the server side and improving the processing efficiency. At the same time, it can ensure that the client can more intuitively display the current status of the multiple operators of the target instance, so as to more efficiently and conveniently check whether there are abnormal operators in the instance, thereby accurately locating the position of the abnormal operator.
[0084] In some embodiments, the webpage is encoded as an HTML (Hypertext Markup Language) webpage. Generating the webpage encoding based on the current operator information of the target instance includes adding the current operator information of the target instance to a specified element of an HTML template to obtain the HTML webpage. Returning the query response to the client may include sending a query response including the HTML webpage to the client.
[0085] The HTML template can be pre-configured according to actual needs. The HTML template is a template that follows the HTML document structure. The HTML template may include:<head(头)> 、<body(内容)> One or more tags, and the nested structure of various HTML elements. The nested structure of the HTML element can include one or more<div(Division,划分)> The element is used to display dynamically generated items, any one or more The element may be the specified element.
[0086] That is, the current operator information of the target instance is added to the specified element of the HTML template to obtain the HTML web page, which can be done by: filling the current operator information of the target instance into the specified element of the HTML template. element, generates an HTML page containing the current operator information of the target instance.
[0087] In this implementation, the current operator information of the target instance may be original basic information of the current operator of the target instance, or a current operator vector map of the target instance.
[0088] Sending the query response including the HTML web page to the client may include sending the query response including the HTML web page to the client through an HTTP service interface.
[0089] On the client side, after receiving the query response including the HTML web page, the following steps may be performed: rendering the HTML web page and displaying a page view including the operator monitoring graph corresponding to the target instance.
[0090] The operator monitoring graph corresponding to the target instance can be a vector graph. The specific method for rendering and displaying the page view on the client side can be configured based on actual circumstances. For example, the client can use HTML5 Canvas or the Graphviz graph representation engine for rendering and display. This embodiment does not limit or exhaustively describe these methods. It should be noted that the content of the operator monitoring graph corresponding to the target instance displayed on the client should be the same as the current operator information of the target instance, and therefore will not be detailed here.
[0091] In this embodiment, the current operator information of the target instance can be entered into an HTML template to generate an HTML page, and the HTML page can be transmitted to the client. This ensures that the client can more accurately display the current status of multiple operators of the target instance, thereby more efficiently and conveniently checking whether there are abnormal operators in the instance and accurately locating the location of the abnormal operator. At the same time, it can also improve the processing efficiency of the client's display page view.
[0092] In some implementations, the web page is encoded as HTML code, and generating the web page code based on the current operator information of the target instance includes: directly using the current operator information of the target instance as HTML code.
[0093] Returning the query response to the client may be accomplished by transmitting the query response including the HTML code to the client via the set_html function. Specifically, the set_html function may be called via an HTTP service interface to transmit the query response including the HTML code to the client.
[0094] This embodiment is particularly applicable to a scenario where the current operator information of the target instance is the original basic information of the current operator of the target instance.
[0095] Specifically, directly using the current operator information of the target instance as web page code may refer to directly using the original basic information of the current operator of the target instance as HTML code.
[0096] On the client side, after receiving the query response containing HTML code, the HTML code may be rendered using a local HTML template and ultimately displayed as a page view containing the operator monitoring graph corresponding to the target instance. This embodiment does not limit the specific method for rendering and displaying the page view on the client side.
[0097] In this embodiment, the HTML code consisting of the original basic information of the current operator of the target instance can be passed to the client through the "set_html" function, and the server does not need to configure the HTML template. While ensuring that the client can more accurately display the current status of multiple operators of the target instance, thereby more efficiently and conveniently checking whether there are abnormal operators in the instance and accurately locating the position of the abnormal operator, it can also provide great flexibility for the client, allowing the client to configure the HTML template according to its own needs and ultimately dynamically display the HTML code.
[0098] In some embodiments, a web page code is generated based on the current operator information of the target instance, including: when it is determined based on the current operator information of the target instance that there are one or more current abnormal operators among the multiple operators corresponding to the target instance, current alarm information is generated, wherein the current alarm information is used to indicate the abnormal state of the one or more current abnormal operators; and the web page code is generated based on the current operator information of the target instance and the current alarm information.
[0099] The method of judging whether there are one or more current abnormal operators among the multiple operators corresponding to the target instance based on the current operator information of the target instance may include at least one of the following: when the current operator information of the target instance includes the current dynamic topology of at least some of the multiple operators corresponding to the target instance, determining that at least some of the operators are one or more current abnormal operators with topological abnormalities; when the current operator information of the target instance includes the current value of each operator under each monitoring indicator, judging whether the current value of each monitoring indicator of each operator is within a normal range; if there are one or more candidate operators whose current values of one or more monitoring indicators are not within the normal range, then the one or more candidate operators are regarded as one or more current abnormal operators with abnormal monitoring indicators, and determining each abnormal monitoring indicator of each current abnormal operator with abnormal monitoring indicators.
[0100] When it is determined based on the current operator information of the target instance that there are one or more current abnormal operators, current alarm information is generated, which may include at least one of the following: when it is determined based on the current operator information of the target instance that there are one or more current abnormal operators with topological abnormalities, connection information of the one or more current abnormal operators with topological abnormalities is generated as the first type of current alarm information; when it is determined based on the current operator information of the target instance that there are one or more current abnormal operators with abnormal monitoring indicators, an alarm display method is set for each abnormal monitoring indicator of each current abnormal operator with abnormal monitoring indicators to obtain the second type of current alarm information.
[0101] In which, the connection information can be used to indicate the abnormal connection relationship generated by each current abnormal operator; optionally, the connection information can also be used to indicate the rendering and / or display method of the abnormal connection relationship generated by each current abnormal operator, for example, the connection information can be used to indicate that the rendering and / or display method of the abnormal connection relationship generated by each current abnormal operator is a dotted arrow.
[0102] In a scenario where the current operator information of the target instance is the original basic information of the current operator of the target instance, an alarm display method is set for each abnormal monitoring indicator of each current abnormal operator whose monitoring indicator is abnormal. This can be: associating the description code of each abnormal monitoring indicator of each current abnormal operator whose monitoring indicator is abnormal with the alarm display method.
[0103] In a scenario where the current operator information of the target instance is the current operator vector diagram of the target instance, an alarm display method is set for each abnormal monitoring indicator of each current abnormal operator with abnormal monitoring indicators. The method can be associating the position of each abnormal monitoring indicator of each current abnormal operator with abnormal monitoring indicators in the current operator vector diagram with the alarm display method.
[0104] The alarm display method can be configured based on actual conditions. By configuring the alarm display method for the abnormal indicators of abnormal operators, the display of abnormal monitoring indicators of the current abnormal operator can be distinguished from the display of normal operators and / or normal monitoring indicators on the client side. For example, the alarm display method can be at least one of highlighting, blurring, and using a different display color than normal monitoring indicators. This allows users to intuitively see the current abnormal operator and its corresponding abnormal monitoring indicator, thereby facilitating more accurate problem location.
[0105] In one example, the webpage encoding is an HTML webpage. Generating the webpage encoding based on the current operator information and the current alarm information of the target instance includes adding the current operator information and the current alarm information of the target instance to a specified element of an HTML template to obtain the HTML webpage. Returning the query response to the client may include sending a query response including the HTML webpage to the client.
[0106] This example applies to scenarios where the current operator information of the target instance is the original basic information of the current operator of the target instance, or the current operator vector diagram of the target instance. In this example, the processing after the server obtains the HTML webpage and the client receives the query response containing the HTML webpage is similar to the previous embodiment and will not be repeated here.
[0107] In one example, the webpage is encoded as HTML code. Generating the webpage encoding based on the current operator information and the current alarm information of the target instance includes directly using the current operator information and the current alarm information of the target instance as the HTML code. Returning the query response to the client may include delivering the query response including the HTML code to the client via a set_html function.
[0108] This example is particularly suitable for scenarios where the current operator information of the target instance is the original basic information of the current operator of the target instance. In this example, the relevant processing after the server obtains the HTML code and the client receives the query response containing the HTML code is similar to the previous embodiment and will not be repeated here.
[0109] By adopting the above solution, the server can analyze whether there are any abnormal operators based on the current operator information of the target instance. If an abnormal operator is present, the webpage code is generated based on the current operator information of the target instance and the current alarm information. This allows the client to directly determine whether the target instance has any abnormal operators based on the currently displayed content and accurately locate the abnormal operator.
[0110] In some embodiments, the method further includes: inputting the current operator information of the target instance and the historical operator information of the target instance into a prediction model to obtain a prediction result output by the prediction model, wherein the prediction result is used to indicate whether there are one or more operators to be adjusted that are expected to have abnormalities among the multiple operators corresponding to the target instance.
[0111] In this implementation, the historical operator information of the target instance may refer to: the historical operator information of the target instance at each historical moment in one or more historical moments within a first time period up to the current moment (excluding the current moment).
[0112] The first duration can be configured according to actual conditions. Each historical moment may refer to the moment when the server periodically obtains the historical operator information of the target instance; or each historical moment may be the historical moment when the server obtains the historical query request of the target instance from the client, that is, at each historical moment, the server will obtain the historical operator information of the target instance based on the historical query request of the target instance from the client.
[0113] The content that the historical operator information of the target instance may contain is similar to the current operator information of the target instance in the aforementioned embodiment. For example, it may include the original basic information of the historical operator of the target instance or the historical operator vector diagram of the target instance, etc., which will not be repeated here.
[0114] The prediction model can be configured according to actual conditions, and its training method is not limited in this embodiment. The function of the prediction model can be to analyze the current operator information of the target instance and the historical operator information of the target instance to obtain a prediction result of whether there are one or more operators to be adjusted that are expected to have abnormalities among the multiple operators corresponding to the target instance.
[0115] The "expected abnormality" may refer to an abnormality expected to occur within a second time period starting from the current moment (excluding the current moment). The second time period may be configured according to actual circumstances and may be 1 day, 7 days, 10 hours, or longer or shorter, and is not limited in this embodiment.
[0116] Each operator to be adjusted included in the prediction result can be represented by identification information of each operator to be adjusted. The relevant description of the identification information is the same as that in the above embodiment and is not repeated here.
[0117] In this way, using a prediction model, we can comprehensively analyze the operator information of the target instance over a period of time to predict whether one or more operators to be adjusted are likely to experience anomalies among the multiple operators of the target instance. This allows for a more comprehensive assessment of the status of each operator of the target instance.
[0118] In some embodiments, generating the web page code based on the operator information of the target instance includes: when the prediction result indicates that there are one or more operators to be adjusted among the multiple operators corresponding to the target instance that are expected to have abnormalities, generating the web page code based on the current operator information of the target instance and the one or more operators to be adjusted.
[0119] Here, generating the web page code based on the current operator information of the target instance and the one or more operators to be adjusted may include: adding the identification information of each operator to be adjusted in the one or more operators to be adjusted to the prediction prompt information; generating the web page code based on the prediction prompt information and the current operator information of the target instance.
[0120] In one example, the webpage encoding is an HTML webpage. Generating the webpage encoding based on the prediction prompt information and the current operator information of the target instance includes adding the current operator information of the target instance and the prediction prompt information to a designated element of an HTML template to obtain the HTML webpage. Returning the query response to the client may include sending the query response including the HTML webpage to the client.
[0121] This example applies to scenarios where the current operator information of the target instance is the original basic information of the current operator of the target instance, or the current operator vector diagram of the target instance. In this example, the processing after the server obtains the HTML webpage and the client receives the query response containing the HTML webpage is similar to the previous embodiment and will not be repeated here.
[0122] In one example, the web page is encoded as HTML code, and the web page encoding is generated based on the prediction prompt information and the current operator information of the target instance, including: directly using the current operator information of the target instance and the prediction prompt information as HTML code.
[0123] This example is particularly applicable to scenarios where the current operator information of the target instance is the original basic information of the current operator of the target instance. In this example, the related processing after the server obtains the HTML code, feeds the HTML code back to the client, and the client receives the query response containing the HTML code is similar to the previous embodiment and will not be repeated here.
[0124] It should be pointed out that the processing of generating the web page encoding based on the operator information of the target instance provided in this embodiment can be combined with the related processing such as the judgment of whether there is a current abnormal operator in the current operator information of the target instance in the aforementioned embodiment.
[0125] Exemplarily, generating a web page code based on the current operator information of the target instance may include: generating current alarm information when it is determined based on the current operator information of the target instance that there are one or more current abnormal operators among the multiple operators corresponding to the target instance; generating the web page code based on the current operator information of the target instance, the current alarm information, and each operator to be adjusted when the prediction result indicates that there are one or more operators to be adjusted that are expected to be abnormal among the multiple operators corresponding to the target instance.
[0126] Exemplarily, generating a web page code based on the current operator information of the target instance may include: when it is determined based on the current operator information of the target instance that there is no current abnormal operator among the multiple operators corresponding to the target instance, and the prediction result indicates that there is no operator to be adjusted that is expected to be abnormal among the multiple operators corresponding to the target instance, it is only necessary to generate a web page code based on the current operator information of the target instance.
[0127] By adopting the above solution, if the server determines based on the prediction results that an operator is about to be adjusted and is about to become abnormal, it can generate the webpage code based on the current operator information of the target instance and the one or more operators to be adjusted. This allows the client to not only determine whether the target instance has abnormal operators based on the currently displayed content and accurately locate the abnormal operator, but also provide a prompt on the client side regarding the operator to be adjusted that is about to become abnormal, thereby resolving potential abnormalities in advance.
[0128] In some embodiments, when the prediction result indicates that there are one or more operators to be adjusted that are expected to have an abnormality among the multiple operators corresponding to the target instance, the web page code is generated based on the current operator information of the target instance and the one or more operators to be adjusted, including: when the prediction result indicates that there are one or more operators to be adjusted that are expected to have an abnormality among the multiple operators corresponding to the target instance, and indicates the expected abnormality type of each of the one or more operators to be adjusted, based on the expected abnormality type of each operator to be adjusted, obtaining adjustment information of each operator to be adjusted; generating the web page code based on the current operator information of the target instance, each operator to be adjusted, and the adjustment information of each operator to be adjusted.
[0129] In this embodiment, the prediction result output by the prediction model may include not only whether one or more operators to be adjusted are expected to have an anomaly among the multiple operators corresponding to the target instance, but also the expected anomaly type for each of the one or more operators to be adjusted, if such an anomaly exists. Unlike the previous embodiment, this embodiment requires configuring the expected anomaly type of each operator to be adjusted as a training label in the training data when training the prediction model.
[0130] The expected exception type of each to-be-adjusted operator may include one or more optional exception types from among a plurality of pre-configured optional exception types.
[0131] For example, the pre-configured multiple optional abnormality types may include at least one of the following: one or more monitoring indicator abnormalities, connection relationship abnormalities, etc. Based on the expected abnormality type of each operator to be adjusted, the adjustment information of each operator to be adjusted is obtained, which may include at least one of the following: when the expected abnormality type of the mth operator to be adjusted includes one or more monitoring indicator abnormalities, determining that the adjustment information of the mth operator to be adjusted includes the adjustment method associated with each abnormal monitoring indicator; when the expected abnormality type of the mth operator to be adjusted includes a connection relationship abnormality, determining that the adjustment information of the mth operator to be adjusted includes maintaining the static topology of the mth operator to be adjusted using the multiple operators corresponding to the target instance to connect the upper-level operator and / or the lower-level operator, the mth operator to be adjusted is any one of the one or more operators to be adjusted, and m is an integer greater than or equal to 1. Since the processing for each operator to be adjusted is the same as that for the mth operator to be adjusted, they will not be described one by one. It should be noted that the above description is merely an example, and does not limit or exhaustively list the various optional exception types. Correspondingly, it does not limit or exhaustively list the possible contents of the adjustment information corresponding to all possible exception types.
[0132] In one example, the webpage encoding is an HTML webpage. Generating the webpage encoding based on the current operator information of the target instance, each operator to be adjusted, and the adjustment information of each operator to be adjusted includes: adding the current operator information of the target instance, the identification information of each operator to be adjusted, and the adjustment information of each operator to be adjusted to a designated element of an HTML template to obtain the HTML webpage. Returning the query response to the client may include sending the query response including the HTML webpage to the client.
[0133] This example applies to scenarios where the current operator information of the target instance is the original basic information of the current operator of the target instance, or the current operator vector diagram of the target instance. In this example, the processing after the server obtains the HTML webpage and the client receives the query response containing the HTML webpage is similar to the previous embodiment and will not be repeated here.
[0134] In one example, a web page is encoded as HTML code, and the web page code is generated based on the current operator information of the target instance, each operator to be adjusted, and the adjustment information of each operator to be adjusted, including: directly using the current operator information of the target instance, the identification information of each operator to be adjusted, and the adjustment information of each operator to be adjusted as HTML code.
[0135] This example is particularly applicable to scenarios where the current operator information of the target instance is the original basic information of the current operator of the target instance. In this example, the related processing after the server obtains the HTML code, feeds the HTML code back to the client, and the client receives the query response containing the HTML code is similar to the previous embodiment and will not be repeated here.
[0136] It should be pointed out that the processing of generating the web page encoding based on the operator information of the target instance provided in this embodiment can be combined with the related processing such as the judgment of whether there is a current abnormal operator in the current operator information of the target instance in the aforementioned embodiment.
[0137] Exemplarily, generating a web page code based on the current operator information of the target instance may include: generating current alarm information when it is determined based on the current operator information of the target instance that there are one or more current abnormal operators among the multiple operators corresponding to the target instance; obtaining adjustment information of each operator to be adjusted based on the expected abnormal type of each operator to be adjusted when the prediction result indicates that there are one or more operators to be adjusted that are expected to have abnormalities among the multiple operators corresponding to the target instance, and indicates the expected abnormality type of each of the one or more operators to be adjusted; generating the web page code based on the current operator information of the target instance, the current alarm information, each operator to be adjusted, and the adjustment information of each operator to be adjusted.
[0138] The specific processing method for generating the web page code based on the current operator information of the target instance, the current alarm information, each operator to be adjusted, and the adjustment information of each operator to be adjusted is similar to the above example and will not be repeated.
[0139] By adopting the above solution, when the prediction result indicates that the target instance has an operator to be adjusted that is about to become abnormal, and indicates the expected abnormality type of each operator to be adjusted, the server can determine the corresponding adjustment information based on the expected abnormality type of each operator to be adjusted, and generate the webpage code based on the current operator information of the target instance, the one or more operators to be adjusted, and the adjustment information of each operator to be adjusted. In this way, the client can not only determine whether the target instance has an abnormal operator based on the currently displayed content and accurately locate the position of the abnormal operator, but also provide a prompt on the client about the operator to be adjusted that is about to become abnormal and the corresponding adjustment method, thereby resolving potential abnormality issues in advance.
[0140] In some embodiments, the generating of the web page code based on the current operator information of the target instance includes: when the prediction result indicates that there are one or more operators to be adjusted in the target instance that are expected to have an operational abnormality, and indicates adjustment information of each of the one or more operators to be adjusted, generating the web page code based on the current operator information of the target instance, each operator to be adjusted, and the adjustment information of each operator to be adjusted.
[0141] In this embodiment, the prediction result output by the prediction model may not only include whether there are one or more operators to be adjusted that are expected to have abnormalities among the multiple operators corresponding to the target instance, but also include adjustment information of each of the one or more operators to be adjusted when there are one or more operators to be adjusted that are expected to have abnormalities among the multiple operators corresponding to the target instance.
[0142] The difference from the previous embodiment is that when this embodiment trains the prediction model, it is necessary to configure the adjustment information of each operator to be adjusted in the training data as a training label. The specific content that the adjustment information may contain is related to the training label, which is not limited in this embodiment.
[0143] The relevant processing method of generating the web page encoding based on the current operator information of the target instance, each operator to be adjusted, and the adjustment information of each operator to be adjusted is the same as that in the above embodiment, so it is not repeated here.
[0144] It should be pointed out that the processing of generating the web page encoding based on the operator information of the target instance provided in this embodiment can be combined with the related processing such as the judgment of whether there is a current abnormal operator in the current operator information of the target instance in the aforementioned embodiment.
[0145] Exemplarily, generating a web page code based on the current operator information of the target instance may include: generating current alarm information when it is determined based on the current operator information of the target instance that there are one or more current abnormal operators among the multiple operators corresponding to the target instance; generating the web page code based on the current operator information of the target instance, the current alarm information, each operator to be adjusted, and the adjustment information of each operator to be adjusted when the prediction result indicates that there are one or more operators to be adjusted that are expected to be abnormal among the multiple operators corresponding to the target instance, and indicates the adjustment information of each of the one or more operators to be adjusted.
[0146] The specific processing method for generating the web page code based on the current operator information of the target instance, the current alarm information, each operator to be adjusted, and the adjustment information of each operator to be adjusted is similar to the above example and will not be repeated.
[0147] By adopting the above solution, when the prediction result indicates that the target instance has an operator to be adjusted that is about to become abnormal and indicates the adjustment information for each operator to be adjusted, the server can generate the webpage code based on the current operator information of the target instance, the one or more operators to be adjusted, and the adjustment information for each operator to be adjusted. In this way, the client can not only determine whether the target instance has an abnormal operator based on the currently displayed content and accurately locate the abnormal operator, but also be prompted on the client side about the operator to be adjusted that is about to become abnormal and the corresponding adjustment method, thereby resolving potential abnormal issues in advance.
[0148] The present disclosure also provides an example monitoring device, such as Figure 2 Shown, including:
[0149] Communication module 201 is used to receive a query request for a target instance from a client and return a query response to the client. The query response carries a web page code that is used by the client to display the operator monitoring graph corresponding to the target instance.
[0150] Operator information acquisition module 202, used to obtain the current operator information of the target instance;
[0151] The processing module 203 is used to generate web page code based on the current operator information of the target instance.
[0152] In one embodiment, the operator information acquisition module 202 is used to perform at least one of the following: obtaining an operator topology file corresponding to the target instance, and obtaining the static topology of multiple operators corresponding to the target instance based on the operator topology file corresponding to the target instance; obtaining the current connection relationship of each operator among the multiple operators corresponding to the target instance, and when the current connection relationship of at least some operators among the multiple operators corresponding to the target instance is different from the static topology of the multiple operators corresponding to the target instance, obtaining the current dynamic topology of at least some operators among the multiple operators corresponding to the target instance based on the current connection relationship of at least some operators; obtaining the current value of each operator corresponding to the target instance under each monitoring indicator in one or more monitoring indicators.
[0153] In one embodiment, the communication module 201 is further configured to receive indication information from a client, wherein the indication information is configured to indicate one or more monitoring indicators.
[0154] In one embodiment, the operator information acquisition module 202 is used to obtain a current operator vector map corresponding to the target instance, wherein the current operator vector map corresponding to the target instance is composed of at least one of the following: a static topology of multiple operators corresponding to the target instance, a current dynamic topology of at least some of the multiple operators corresponding to the target instance, and a current value of each operator in the multiple operators corresponding to the target instance under each monitoring indicator in one or more monitoring indicators; the current operator vector map corresponding to the target instance is used as the current operator information of the target instance.
[0155] In one embodiment, the processing module 203 is used to generate current alarm information when it is determined that there are one or more current abnormal operators based on the current operator information of the target instance, wherein the current alarm information is used to indicate the abnormal state of one or more current abnormal operators; and generate web page code based on the current operator information and current alarm information of the target instance.
[0156] In one embodiment, Figure 3 As shown, the instance monitoring device also includes: a prediction module 301, which is used to input the current operator information of the target instance and the historical operator information of the target instance into the prediction model to obtain the prediction result output by the prediction model, wherein the prediction result is used to indicate whether there are one or more operators to be adjusted that are expected to have abnormalities among the multiple operators corresponding to the target instance.
[0157] In one embodiment, the processing module 203 is used to generate web page code based on the current operator information of the target instance and the one or more operators to be adjusted when the prediction result indicates that there are one or more operators to be adjusted among the multiple operators corresponding to the target instance that are expected to have an abnormality.
[0158] In one embodiment, the processing module 203 is used to obtain adjustment information of each operator to be adjusted based on the expected abnormality type of each operator to be adjusted when the prediction result indicates that there are one or more operators to be adjusted among the multiple operators corresponding to the target instance and that an abnormality is expected to occur, and indicates the expected abnormality type of each operator to be adjusted among the one or more operators to be adjusted; and generate web page code based on the current operator information of the target instance, each operator to be adjusted, and the adjustment information of each operator to be adjusted.
[0159] In one embodiment, the processing module 203 is used to generate web page code based on the current operator information of the target instance, each operator to be adjusted, and the adjustment information of each operator to be adjusted, when the prediction result indicates that there are one or more operators to be adjusted among the multiple operators corresponding to the target instance that are expected to have an abnormality, and indicates the adjustment information of each of the one or more operators to be adjusted.
[0160] In some possible examples, the instance monitoring device provided by this embodiment may be embedded in the target computing engine in the form of a static link library.
[0161] Next, combine Figures 4 to 7 An example of the process of instance monitoring performed by the client and server is given below:
[0162] First, execute S501 to S502 on the client 400:
[0163] S501, the client 400 obtains the URL of the target instance input in the browser 401. For example, Figure 6 As shown, the user can enter the URL of the target instance "http: / / target instance address:target instance port number / common / call_graph" in the address bar 602 of the browser 601 of the client used by the user.
[0164] S502 , the client 400 adds the URL of the target instance to a query request of the target instance, and sends the query request of the target instance to the server 410 .
[0165] Execute S511 to S515 on the server 410:
[0166] S511: The server 410 receives a query request for the target instance through the HTTP service interface 402. The HTTP service interface may be provided in a communication module of the instance monitoring device.
[0167] S512: The HTTP service interface 402 of the server forwards the query request of the target instance to the processing module 403. Here, the processing module of the server may also be alternatively referred to as core processing logic, core processing function module, etc.
[0168] S513, the processing module 403 of the server side obtains the current operator information of the target instance through the interface of the target computing engine 420. The current operator information of the target instance can also be called a composition code for generating an operator monitoring graph corresponding to the target instance, and the type of the operator monitoring graph corresponding to the target instance can be a vector graph. The current operator information of the target instance includes at least one of the following: the static topology of the multiple operators corresponding to the target instance, the current dynamic topology of the multiple operators corresponding to the target instance, and the current value (or dynamic monitoring value) of each operator in the multiple operators corresponding to the target instance under each monitoring indicator in one or more monitoring indicators. Specifically, obtaining the static topology of multiple operators corresponding to the target instance may include: obtaining the operator topology file 405 corresponding to the target instance from the target computing engine through the interface of the target computing engine, and obtaining the static topology of the multiple operators corresponding to the target instance based on the operator topology file corresponding to the target instance; the current dynamic topology of the multiple operators corresponding to the target instance may include: obtaining the current connection relationship 406 of each operator in the multiple operators corresponding to the target instance from the target computing engine through the interface of the target computing engine, and when the current connection relationship of at least some operators in the multiple operators corresponding to the target instance is different from the static topology of the multiple operators corresponding to the target instance, obtaining the current dynamic topology of at least some operators in the multiple operators corresponding to the target instance based on the current connection relationship of at least some operators; obtaining the current value of each operator in the multiple operators corresponding to the target instance under each monitoring indicator in one or more monitoring indicators may include: obtaining the current value 407 of each operator in the one or more monitoring indicators corresponding to the target instance from the target computing engine through the interface of the target computing engine.
[0169] S514 , the processing module 403 on the server side adds the current operator information of the target instance to the HTML template 404 to generate an HTML web page.
[0170] S515 , the processing module 403 of the server side feeds back an HTML webpage to the client 400 through the HTTP service interface 402 .
[0171] Finally, S521 is executed on the client side, where the browser 401 of the client side 400 parses the HTML page and constructs and displays the operator monitoring graph corresponding to the target instance through the image rendering engine. Here, the operator monitoring graph corresponding to the target instance should contain the same content as the current operator information of the target instance.
[0172] Combine Figure 7 The following is an example of the operator monitoring graph corresponding to the target instance displayed on the client: Figure 7 The monitoring status of each operator (operator A, operator B, operator C, operator D, operator E) in the target instance is displayed, including: static topology, dynamic monitoring value of each operator, and current dynamic topology of at least some operators. Among them, operators A, B, C, D, and E are connected by directed edges (i.e. Figure 7 ), indicating the static topology of multiple operators corresponding to the target instance. Next to each operator is the dynamic monitoring value of the operator in the monitoring indicator, which is used to indicate the real-time operation status of each operator. The monitoring indicators in the figure can be configured on the client, including: "Operator Queue", "Operator Latency", "Total Processing", and "Number of Processing Failures". Figure 7 The dotted arrow between operator B and operator E in FIG indicates the current dynamic topology between operator B and operator E.
[0173] By displaying the operator monitoring graph corresponding to the target instance on the client, users can intuitively understand the current running status of the target instance, allowing users to quickly identify potential abnormal problems.
[0174] To minimize server-side overhead, this embodiment implements operator monitoring graph rendering within the client's browser. This means that the HTML webpage transmitted via the HTTP service interface can be parsed and converted into a real monitoring graph within the client's browser, eliminating the need to directly convert and transmit the original image on the server. This approach offers the following advantages: Both computation and transmission speeds are extremely fast, with essentially zero server-side overhead and no additional computational burden. This is because the server only needs to transmit the original key information and encoding of the key composition parameters, which is less than 1KB. Rendering the image on the server would not only require extensive composition calculations (which consume significant CPU and memory resources), but also consume significant bandwidth due to the large size of the image itself, severely impacting the computing engine's service capabilities and putting the cart before the horse. Furthermore, the link library is very small, resulting in zero server compilation and deployment costs. The server-side encoding eliminates the need for embedded rendering engines within the server itself, requiring only the processing of core parameter logic. The client browser itself is adaptable across multiple operating system environments, so you can directly use an open-source browser to render and display the operator monitoring graph. The client can use HTML5 Canvas for rendering and display, or use the Graphviz graph expression engine for rendering and display, but this embodiment does not limit or exhaustively list these methods.
[0175] In the technical solutions disclosed herein, the acquisition, storage, and application of user personal information involved comply with the provisions of relevant laws and regulations and do not violate public order and good morals.
[0176] According to an embodiment of the present disclosure, the present disclosure also provides an electronic device, a readable storage medium, and a computer program product.
[0177] Figure 8 A schematic block diagram of an example electronic device 800 that can be used to implement embodiments of the present disclosure is shown. The electronic device is intended to represent various forms of digital computers, such as laptop computers, desktop computers, workstations, personal digital assistants, servers, blade servers, mainframe computers, and other suitable computers. The electronic device can also represent various forms of mobile devices, such as personal digital assistants, cellular phones, smartphones, wearable devices, and other similar computing devices. The components shown herein, their connections and relationships, and their functions are provided as examples only and are not intended to limit the implementation of the present disclosure described and / or claimed herein.
[0178] like Figure 8 As shown, the electronic device 800 includes a computing unit 801, which can perform various appropriate actions and processes according to a computer program stored in a read-only memory (ROM) 802 or a computer program loaded from a storage unit 808 into a random access memory (RAM) 803. In the RAM 803, various programs and data required for the operation of the electronic device 800 can also be stored. The computing unit 801, the ROM 802, and the RAM 803 are connected to each other via a bus 804. An input / output (I / O) interface 805 is also connected to the bus 804.
[0179] Multiple components in the electronic device 800 are connected to the I / O interface 805, including an input unit 806, such as a keyboard, a mouse, etc.; an output unit 807, such as various types of displays, speakers, etc.; a storage unit 808, such as a magnetic disk, an optical disk, etc.; and a communication unit 809, such as a network card, a modem, a wireless communication transceiver, etc. The communication unit 809 allows the electronic device 800 to exchange information / data with other devices via a computer network such as the Internet and / or various telecommunication networks.
[0180] The computing unit 801 can be a variety of general-purpose and / or specialized processing components with processing and computing capabilities. Some examples of the computing unit 801 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various dedicated artificial intelligence (AI) computing chips, various computing units that run machine learning model algorithms, a digital signal processor (DSP), and any appropriate processor, controller, microcontroller, etc. The computing unit 801 performs the various methods and processes described above, such as the instance monitoring method. For example, in some embodiments, the instance monitoring method can be implemented as a computer software program that is tangibly contained in a machine-readable medium, such as the storage unit 808. In some embodiments, part or all of the computer program can be loaded and / or installed on the electronic device 800 via the ROM 802 and / or the communication unit 809. When the computer program is loaded into the RAM 803 and executed by the computing unit 801, one or more steps of the instance monitoring method described above can be performed. Alternatively, in other embodiments, the computing unit 801 can be configured to perform the instance monitoring method by any other appropriate means (e.g., by means of firmware).
[0181] Various embodiments of the systems and techniques described herein can be implemented in digital electronic circuit systems, integrated circuit systems, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), application specific standard products (ASSPs), system-on-chip systems (SOCs), programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments can include being implemented in one or more computer programs that are executable and / or interpreted on a programmable system that includes at least one programmable processor, which can be a special purpose or general purpose programmable processor that can receive data and instructions from a storage system, at least one input device, and at least one output device, and transmit data and instructions to the storage system, the at least one input device, and the at least one output device.
[0182] The program code for implementing the method of the present disclosure can be written in any combination of one or more programming languages. These program codes can be provided to a processor or controller of a general-purpose computer, a special-purpose computer, or other programmable data processing device so that when the program code is executed by the processor or controller, the functions / operations specified in the flow chart and / or block diagram are implemented. The program code can be executed entirely on the machine, partially on the machine, as a stand-alone software package, partially on the machine and partially on a remote machine, or entirely on a remote machine or server.
[0183] In the context of the present disclosure, a machine-readable medium can be a tangible medium that can contain or store a program for use by or in conjunction with an instruction execution system, device or equipment. A machine-readable medium can be a machine-readable signal medium or a machine-readable storage medium. A machine-readable medium can include, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or equipment, or any suitable combination of the foregoing. A more specific example of a machine-readable storage medium can include an electrical connection based on one or more lines, a portable computer disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.
[0184] To provide interaction with a user, the systems and techniques described herein can be implemented on a computer having: a display device (e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor) for displaying information to the user; and a keyboard and pointing device (e.g., a mouse or trackball) through which the user can provide input to the computer. Other types of devices can also be used to provide interaction with the user; for example, the feedback provided to the user can be any form of sensory feedback (e.g., visual feedback, auditory feedback, or tactile feedback); and input from the user can be received in any form (including acoustic input, voice input, or tactile input).
[0185] The systems and techniques described herein can be implemented in a computing system that includes back-end components (e.g., as a data server), or a computing system that includes middleware components (e.g., an application server), or a computing system that includes front-end components (e.g., a user computer having a graphical user interface or a web browser through which a user can interact with implementations of the systems and techniques described herein), or a computing system that includes any combination of such back-end components, middleware components, or front-end components. The components of the system can be interconnected by any form or medium of digital data communication (e.g., a communication network). Examples of communication networks include a local area network (LAN), a wide area network (WAN), and the Internet.
[0186] A computer system may include a client and a server. The client and server are generally remote from each other and typically interact through a communication network. The client-server relationship arises through computer programs running on the respective computers and having a client-server relationship with each other. The server may be a cloud server, a server in a distributed system, or a server integrated with a blockchain.
[0187] It should be understood that the various forms of processes shown above can be used to reorder, add, or delete steps. For example, the steps described in this disclosure can be performed in parallel, sequentially, or in a different order, as long as the desired results of the technical solutions of this disclosure can be achieved, and this document is not limited here.
[0188] The above specific embodiments do not constitute a limitation on the scope of protection of this disclosure. Those skilled in the art will appreciate that various modifications, combinations, sub-combinations, and substitutions may be made based on design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this disclosure shall be included within the scope of protection of this disclosure.
Claims
1. An instance monitoring method, comprising: Receive a query request for a target instance from a client; Obtaining current operator information of the target instance, wherein the current operator information of the target instance includes at least one of the following: static topology of multiple operators corresponding to the target instance, current dynamic topology of multiple operators corresponding to the target instance, and current value of each operator in the multiple operators corresponding to the target instance under each monitoring indicator of one or more monitoring indicators; Generate web page code based on current operator information of the target instance; Returning a query response to the client, wherein the query response carries the webpage code, and the webpage code is used by the client to display an operator monitoring graph corresponding to the target instance; The method also includes: inputting current operator information of the target instance and historical operator information of the target instance into a prediction model to obtain a prediction result output by the prediction model, wherein the prediction result is used to indicate whether there are one or more operators to be adjusted that are expected to have abnormalities among the multiple operators corresponding to the target instance.
2. The method according to claim 1, wherein The acquiring of the current operator information of the target instance includes at least one of the following: Obtain an operator topology file corresponding to the target instance, and obtain a static topology of multiple operators corresponding to the target instance based on the operator topology file corresponding to the target instance; Obtaining a current connection relationship of each operator among the multiple operators corresponding to the target instance, and if the current connection relationship of at least some of the multiple operators corresponding to the target instance is different from the static topology of the multiple operators corresponding to the target instance, obtaining a current dynamic topology of at least some of the multiple operators corresponding to the target instance based on the current connection relationship of at least some of the operators; Obtain the current value of each operator corresponding to the target instance under each monitoring indicator of one or more monitoring indicators.
3. The method according to claim 2, further comprising: Receive indication information from the client, wherein the indication information is used to indicate the one or more monitoring indicators.
4. The method according to claim 1, wherein The acquiring the current operator information of the target instance includes: Obtaining a current operator vector map corresponding to the target instance, wherein the current operator vector map corresponding to the target instance is composed of at least one of the following: a static topology of multiple operators corresponding to the target instance, a current dynamic topology of at least some of the multiple operators corresponding to the target instance, and a current value of each of the multiple operators corresponding to the target instance under each monitoring indicator of one or more monitoring indicators; The current operator vector map corresponding to the target instance is used as the current operator information of the target instance.
5. The method according to any one of claims 1 to 4, wherein: Generating webpage code based on current operator information of the target instance includes: When it is determined based on the current operator information of the target instance that one or more current abnormal operators exist among the multiple operators corresponding to the target instance, generating current alarm information, wherein the current alarm information is used to indicate an abnormal state of the one or more current abnormal operators; The webpage code is generated based on the current operator information of the target instance and the current alarm information.
6. The method according to claim 1, wherein Generating the webpage code based on the operator information of the target instance includes: When the prediction result indicates that there are one or more operators to be adjusted that are expected to have an abnormality among the multiple operators corresponding to the target instance, the web page code is generated based on the current operator information of the target instance and the one or more operators to be adjusted.
7. The method according to claim 6, wherein: When the prediction result indicates that one or more operators to be adjusted are expected to be abnormal among the multiple operators corresponding to the target instance, generating the webpage code based on current operator information of the target instance and the one or more operators to be adjusted includes: When the prediction result indicates that one or more operators to be adjusted are expected to have an exception among the multiple operators corresponding to the target instance, and indicates an expected exception type of each of the one or more operators to be adjusted, obtaining adjustment information for each operator to be adjusted based on the expected exception type of each operator to be adjusted; The webpage code is generated based on the current operator information of the target instance, each operator to be adjusted, and the adjustment information of each operator to be adjusted.
8. The method according to claim 1, wherein The generating the webpage code based on the current operator information of the target instance includes: When the prediction result indicates that there are one or more operators to be adjusted among the multiple operators corresponding to the target instance and that an abnormality is expected to occur, and indicates adjustment information of each of the one or more operators to be adjusted, the web page code is generated based on the current operator information of the target instance, each operator to be adjusted, and the adjustment information of each operator to be adjusted.
9. An instance monitoring device, comprising: a communication module, configured to receive a query request for a target instance from a client and return a query response to the client, wherein the query response carries a web page code, and the web page code is used by the client to display an operator monitoring graph corresponding to the target instance; An operator information acquisition module is configured to acquire current operator information of the target instance, wherein the current operator information of the target instance includes at least one of the following: a static topology of multiple operators corresponding to the target instance, a current dynamic topology of multiple operators corresponding to the target instance, and a current value of each operator in the multiple operators corresponding to the target instance under each of one or more monitoring indicators; A processing module, configured to generate a webpage code based on current operator information of the target instance; A prediction module is used to input the current operator information of the target instance and the historical operator information of the target instance into a prediction model to obtain a prediction result output by the prediction model, wherein the prediction result is used to indicate whether there are one or more operators to be adjusted that are expected to have abnormalities among the multiple operators corresponding to the target instance.
10. The device according to claim 9, wherein The operator information acquisition module is configured to perform at least one of the following: Obtain an operator topology file corresponding to the target instance, and obtain a static topology of multiple operators corresponding to the target instance based on the operator topology file corresponding to the target instance; Obtaining a current connection relationship of each operator among the multiple operators corresponding to the target instance, and if the current connection relationship of at least some of the multiple operators corresponding to the target instance is different from the static topology of the multiple operators corresponding to the target instance, obtaining a current dynamic topology of at least some of the multiple operators corresponding to the target instance based on the current connection relationship of at least some of the operators; Obtain the current value of each operator corresponding to the target instance under each monitoring indicator of one or more monitoring indicators.
11. The device according to claim 10, wherein the communication module is further configured to receive instruction information from the client, wherein: The indication information is used to indicate the one or more monitoring indicators.
12. The device according to claim 9, wherein The operator information acquisition module is used to obtain a current operator vector map corresponding to the target instance, wherein the current operator vector map corresponding to the target instance is composed of at least one of the following: a static topology of multiple operators corresponding to the target instance, a current dynamic topology of at least some of the multiple operators corresponding to the target instance, and a current value of each operator in the multiple operators corresponding to the target instance under each monitoring indicator in one or more monitoring indicators; and the current operator vector map corresponding to the target instance is used as the current operator information of the target instance.
13. The device according to any one of claims 9 to 12, wherein: The processing module is used to generate current alarm information when it is determined that there are one or more current abnormal operators based on the current operator information of the target instance, wherein the current alarm information is used to indicate the abnormal status of the one or more current abnormal operators; and generate the web page code based on the current operator information of the target instance and the current alarm information.
14. The device according to claim 9, wherein The processing module is used to generate the web page code based on the current operator information of the target instance and the one or more operators to be adjusted when the prediction result indicates that there are one or more operators to be adjusted among the multiple operators corresponding to the target instance and an abnormality is expected to occur.
15. The device according to claim 14, wherein The processing module is configured to, when the prediction result indicates that there are one or more operators to be adjusted that are expected to have an exception among the multiple operators corresponding to the target instance, and indicates the expected exception type of each of the one or more operators to be adjusted, obtain adjustment information for each operator to be adjusted based on the expected exception type of each operator to be adjusted; The webpage code is generated based on the current operator information of the target instance, each operator to be adjusted, and the adjustment information of each operator to be adjusted.
16. The device according to claim 9, wherein The processing module is configured to generate the web page code based on the current operator information of the target instance, each operator to be adjusted, and the adjustment information of each operator to be adjusted, when the prediction result indicates that there are one or more operators to be adjusted among the multiple operators corresponding to the target instance and that an abnormality is expected to occur, and indicates adjustment information of each of the one or more operators to be adjusted.
17. An electronic device comprising: at least one processor; as well as a memory communicatively connected to the at least one processor; wherein, The memory stores instructions that can be executed by the at least one processor, and the instructions are executed by the at least one processor to enable the at least one processor to perform the method according to any one of claims 1 to 8.
18. A non-transitory computer-readable storage medium storing computer instructions, wherein: The computer instructions are used to cause the computer to execute the method according to any one of claims 1-8.
19. A computer program product comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Webpage encoding identifying method and device
CN104361021A
Operator arrangement method and device, electronic equipment and storage medium
CN117032887A