SaaS multi-tenant observability platform, observability methods, and computing devices

By creating a unified naming format for multi-level tag information and query interface mapping in a multi-tenant SaaS environment, combined with a visual interface and variable options, unified monitoring and management across clusters and tenants is achieved, solving the problem of low efficiency in multi-tenant data management and monitoring, and improving data management and operation efficiency.

CN120849499BActive Publication Date: 2025-11-21BEIJING FENYANG TECH CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511367680.5
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2025-09-24
Publication Date
2025-11-21
Estimated Expiration
2045-09-24

AI Technical Summary

Technical Problem

In a multi-tenant SaaS environment, enterprise systems are distributed across multiple Kubernetes clusters, making it impossible to achieve unified monitoring through a single cluster-level tool. This results in fragmented monitoring data, which cannot be managed in a unified manner, leading to low efficiency in data monitoring and operation.

Method used

This provides a SaaS multi-tenant observable platform that collects multiple types of observation data across multiple clusters through a data acquisition component, creates multi-layered tag information with a unified naming format, and creates a query interface through a data management component to realize the mapping relationship between multi-layered tag information and the query interface. Combined with a data visualization component, it provides a visual interface and variable options to achieve unified monitoring and management across clusters and tenants.

Benefits of technology

It has realized a unified observable and monitoring platform for multiple data sources across clusters and tenants, which has improved the efficiency of data management, monitoring and operation and maintenance, and solved the problem of low efficiency in multi-tenant data management and monitoring.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN120849499B_ABST
    Figure CN120849499B_ABST
Patent Text Reader

Abstract

The application discloses a SaaS multi-tenant observable platform, an observation method and computing equipment, relates to the technical field of cloud computing, and the observation platform comprises a data collection component, which is used for collecting multiple types of observation data in multiple clusters, and creating multiple layers of label information in a unified naming format for the observation data; a data management component, which is used for creating a corresponding query interface for the observation data, and creating a mapping relationship between the multiple layers of label information of the observation data and the query interface; and a data visualization component, which is used for providing a visualization interface and variable options set based on the multiple layers of label information, confirming target label information according to a target variable option when a user selects the target variable option, determining a target query interface corresponding to the target label information in the mapping relationship, accessing a corresponding database through the target query interface to obtain target observation data, and displaying the target observation data through the visualization interface. The application solves the technical problem of low multi-tenant data management and monitoring efficiency in the prior art.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of cloud computing, in particular to a SaaS multi-tenant observable platform, an observation method and a computing device. BACKGROUND

[0002] SaaS (Software as a Service) is a service mode that provides software applications through the Internet. Users can directly access functions through browsers or mobile devices as if they are "renting" software, while SaaS service providers are responsible for hosting, maintaining and updating all software and hardware in the cloud, and users can use them by paying for them.

[0003] With the rapid development of cloud computing technology, the SaaS mode has become the mainstream delivery method. In the SaaS platform, the multi-tenant environment is a common architecture mode that allows multiple different tenants to use the same software service by sharing resources. However, in the multi-tenant SaaS environment, enterprise systems are usually distributed in multiple Kubernetes clusters, namespaces, and cannot be monitored by a single cluster-level tool. There are multiple data sources such as Prometheus, ClickHouse, Pyroscope, Loki, etc., resulting in fragmented monitoring data, which cannot be uniformly managed, resulting in low monitoring and operation efficiency.

[0004] In view of the technical problems of low multi-tenant data management and monitoring efficiency in the prior art, no effective solution has been proposed so far. SUMMARY

[0005] The embodiments of the present application provide a SaaS multi-tenant observable platform, an observation method and a computing device to at least solve the technical problem of low multi-tenant data management and monitoring efficiency in the prior art.

[0006] According to an aspect of an embodiment of the present application, a SaaS multi-tenant observable platform is provided, comprising:

[0007] a data collection component configured to collect multiple types of observation data in multiple clusters, and create multi-layer label information in a unified naming format for the observation data according to a preset collection strategy;

[0008] a data management component configured to create a corresponding query interface for the observation data, the query interface being configured to access a database to which the observation data belongs, and create a mapping relationship between the multi-layer label information of the observation data and the query interface;

[0009] The data visualization component is configured to provide a visualization interface and variable options based on the multi-layer tag information settings. When a user selects a target variable option, the target tag information is confirmed according to the target variable option, the target query interface corresponding to the target tag information is determined in the mapping relationship, the target observation data is obtained by accessing the corresponding database through the target query interface, and the target observation data is displayed through the visualization interface.

[0010] In any of the above embodiments, the multi-layer tag information includes cluster tags, namespace tags, tenant tags, and user tags.

[0011] In any of the above embodiments, the plurality of types of observation data includes index type observation data, log type observation data, performance type observation data, and link type observation data.

[0012] In any of the above embodiments, the data collection component includes:

[0013] The first data collection unit collects index type observation data, obtains cluster tags, namespace tags, and user tags of the index type observation data according to the preset collection strategy, adds tenant tags to the index type observation data, writes the index type observation data into a Prometheus database, and creates a first query interface.

[0014] The second data collection unit collects log type observation data, obtains cluster tags, namespace tags, and user tags of the log type observation data according to the preset collection strategy, adds tenant tags to the log type observation data, writes the log type observation data into a ClickHouse database or a Loki database, and creates a second query interface.

[0015] The third data collection unit collects performance type observation data, obtains cluster tags, namespace tags, tenant tags, user tags, and service tags of the performance type observation data according to the preset collection strategy, uploads the performance type observation data to a database of a server, and creates a third query interface.

[0016] The fourth data collection unit collects link type observation data, obtains cluster tags, namespace tags, and user tags of the link type observation data according to the preset collection strategy, associates business requests, adds tenant tags to the link type observation data, writes the link type observation data into a ClickHouse database, and creates a fourth query interface.

[0017] In any of the above embodiments, the data management component creates a mapping relationship between the multi-layer tag information of the observation data and the query interface, including:

[0018] Each layer of the multi-layer tag information corresponds to a query interface of the multiple types of observation data.

[0019] On the basis of any of the above embodiments, the data visualization component provides a visualization interface and variable options set based on the multi-layer tag information, including:

[0020] The data visualization component uses a JSON template in a Grafana dashboard to make the visualization interface display a unified template and unified variable options.

[0021] On the basis of any of the above embodiments, the data visualization component confirms target tag information according to the target variable option, including:

[0022] The data visualization component extracts all tag information in the target variable option as the target tag information in order of the multi-layer tag information.

[0023] On the basis of any of the above embodiments, the data visualization component is further used for:

[0024] When a user inputs a query statement corresponding to the current type of observation data in a monitoring dashboard interface, the data visualization component reconstructs the query statement based on a Query template function and displays the query result.

[0025] According to another aspect of the embodiments of the present application, a SaaS multi-tenant observation method is provided, which is applied to a SaaS multi-tenant observable platform, and the method includes:

[0026] Collecting multiple types of observation data in multiple clusters, and creating multi-layer tag information in a unified naming format for the observation data according to a preset collection strategy;

[0027] Creating a corresponding query interface for the observation data, the query interface being used to access a database to which the observation data belongs, and creating a mapping relationship between the multi-layer tag information of the observation data and the query interface;

[0028] Providing a visualization interface and variable options set based on the multi-layer tag information, when a user selects a target variable option, confirming target tag information according to the target variable option, determining a target query interface corresponding to the target tag information in the mapping relationship, accessing a corresponding database through the target query interface to obtain target observation data, and displaying the target observation data through the visualization interface.

[0029] According to another aspect of the embodiments of the present application, a computing device is provided, including a processor configured to run a program, wherein the program is configured to perform the method of any of the above embodiments when running.

[0030] In this embodiment, a unified naming format for multi-layered label information and a unified query interface can be created for various types of observation data through a preset acquisition strategy. A mapping relationship between the multi-layered label information and the query interface is established, and a visual interface and variable options based on the multi-layered label information settings are provided. This allows the acquisition and display of the target observation data corresponding to the target label information when the user selects a target variable option. This application can realize a unified observable and monitoring platform for multiple data sources across clusters and tenants, improving the platform's data management, monitoring, and operation and maintenance efficiency and observability capabilities. Therefore, it solves the technical problem of low efficiency in multi-tenant data management and monitoring in existing technologies. Attached Figure Description

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

[0032] Figure 1 This is a hardware structure block diagram of a computer terminal (or mobile device) of a SaaS multi-tenant observable platform according to an embodiment of this application;

[0033] Figure 2 This is a schematic diagram of the structure of a SaaS multi-tenant observable platform according to an embodiment of this application;

[0034] Figure 3 This is a schematic diagram of the component deployment topology of a SaaS multi-tenant observable platform according to an embodiment of this application;

[0035] Figure 4 This is a schematic diagram of the naming format according to an embodiment of this application;

[0036] Figure 5 This is a schematic diagram of the variable selection interface according to an embodiment of this application;

[0037] Figure 6 This is a schematic diagram of the data source interface for observation data in a cluster according to an embodiment of this application;

[0038] Figures 7a-7b This is a schematic diagram of a monitoring dashboard interface according to an embodiment of this application;

[0039] Figure 8 This is a flowchart of a SaaS multi-tenant observation method according to an embodiment of this application. Detailed Implementation

[0040] To enable those skilled in the art to better understand the present application, the technical solutions in the embodiments of the present application will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present application, and not all embodiments. Based on the embodiments in the present application, all other embodiments obtained by those of ordinary skill in the art without creative effort should fall within the scope of protection of the present application.

[0041] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this application are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of this application described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.

[0042] Example 1

[0043] According to an embodiment of this application, a SaaS multi-tenant observable platform embodiment is also provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.

[0044] The method embodiment provided in Embodiment 1 of this application can be executed on a mobile terminal, computer terminal, or similar computing device. Figure 1 A hardware architecture block diagram of a computer terminal (or mobile device) for a SaaS multi-tenant observable platform is shown. Figure 1 As shown, the computer terminal 10 (or mobile device) may include one or more processors 102 (shown as 102a, 102b, ..., 102n in the figure) 102 (processor 102 may include, but is not limited to, a microprocessor MCU or a programmable logic device FPGA, etc.), a memory 104 for storing data, and a transmission device 106 for communication functions. In addition, it may also include: a display, an input / output interface (I / O interface), a universal serial bus (USB) port (which may be included as one of the ports of the I / O interface), a network interface, a power supply, and / or a camera. Those skilled in the art will understand that... Figure 1The structure shown is for illustrative purposes only and does not limit the structure of the aforementioned electronic device. For example, computer terminal 10 may also include... Figure 1 The more or fewer components shown, or having the same Figure 1 The different configurations shown.

[0045] It should be noted that the aforementioned one or more processors 102 and / or other data processing circuits are generally referred to herein as "data processing circuits". These data processing circuits may be embodied, in whole or in part, in software, hardware, firmware, or any other combination thereof. Furthermore, the data processing circuits may be a single, independent processing module, or may be integrated, in whole or in part, into any other element within the computer terminal 10 (or mobile device). As involved in the embodiments of this application, the data processing circuits serve as a processor control mechanism (e.g., selection of a variable resistor termination path connected to an interface).

[0046] The memory 104 can be used to store software programs and modules of application software, such as the program instructions / data storage device corresponding to the SaaS multi-tenant observable platform in this embodiment. The processor 102 executes various functional applications and data processing by running the software programs and modules stored in the memory 104, thereby realizing the aforementioned SaaS multi-tenant observable platform. The memory 104 may include high-speed random access memory, and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory 104 may further include memory remotely located relative to the processor 102, and these remote memories can be connected to the computer terminal 10 via a network. Examples of such networks include, but are not limited to, the Internet, corporate intranets, local area networks, mobile communication networks, and combinations thereof.

[0047] The transmission device 106 is used to receive or send data via a network. Specific examples of the network described above may include a wireless network provided by the communication provider of the computer terminal 10. In one example, the transmission device 106 includes a Network Interface Controller (NIC), which can connect to other network devices via a base station to communicate with the Internet. In another example, the transmission device 106 may be a Radio Frequency (RF) module, used for wireless communication with the Internet.

[0048] The display may be, for example, a touchscreen liquid crystal display (LCD) that allows the user to interact with the user interface of the computer terminal 10 (or mobile device).

[0049] It should be noted here that, in some optional embodiments, the above...Figure 1 The computer device (or mobile device) shown may include hardware elements (including circuitry), software elements (including computer code stored on a computer-readable medium), or a combination of both hardware and software elements. It should be noted that... Figure 1 This is only one instance of a specific particular instance and is intended to illustrate the types of components that may exist in the aforementioned computer device (or mobile device).

[0050] This application operates under the aforementioned operating environment as follows: Figure 2 This illustrates a SaaS multi-tenant observable platform. Figure 2 This is a flowchart of a SaaS multi-tenant observable platform according to an embodiment of this application. The method can be applied to... Figure 1 The computer terminal or other device shown.

[0051] See Figure 2 As shown, the aforementioned SaaS multi-tenant observable platform 20 may include:

[0052] The data acquisition component 21 is used to acquire multiple types of observation data in multiple clusters and create multi-layer tag information with a unified naming format for the observation data according to a preset acquisition strategy.

[0053] Data management component 22 is used to create a corresponding query interface for the observation data. The query interface is used to access the database to which the observation data belongs and to create a mapping relationship between the multi-level label information of the observation data and the query interface.

[0054] The data visualization component 23 is used to provide a visualization interface and variable options based on the multi-layer label information. When the user selects a target variable option, the target label information is confirmed according to the target variable option. The target query interface corresponding to the target label information is determined in the mapping relationship. The target observation data is obtained by accessing the corresponding database through the target query interface. The target observation data is displayed through the visualization interface.

[0055] In this embodiment, a unified naming format for multi-layered label information and a unified query interface can be created for various types of observation data through a preset acquisition strategy. A mapping relationship between the multi-layered label information and the query interface is established, and a visual interface and variable options based on the multi-layered label information settings are provided. This allows the acquisition and display of the target observation data corresponding to the target label information when the user selects a target variable option. This application can realize a unified observable and monitoring platform for multiple data sources across clusters and tenants, improving the platform's data management, monitoring, and operation and maintenance efficiency and observability capabilities. Therefore, it solves the technical problem of low efficiency in multi-tenant data management and monitoring in existing technologies.

[0056] In one alternative approach, such asFigure 3 As shown, a SaaS multi-tenant observable platform can include data exposure components, data acquisition components, data management components, and data visualization components. In a multi-cloud environment, the data exposure and data acquisition components can be deployed uniformly across clusters, the data management component can be deployed on demand, and the data visualization component can be deployed for unified visualization and monitoring or in a 1+N configuration. Specifically, the data exposure component can deploy multiple agents (intelligent agents) in the cluster to discover observational data and synchronize it to the data acquisition component. The data acquisition component can be multiple collectors or data acquisition units deployed in the cluster, collecting observational data, uniformly naming it, and then reporting it to the data management component. When users query data, a query interface is provided to the data visualization component, which obtains the data source corresponding to the query interface and visualizes the observational data.

[0057] In one alternative approach, the aforementioned multi-layered label information may include: cluster label, namespace label, tenant label, and user label. For example... Figure 4 As shown, the multi-layered label information is as follows: cluster_id → namespace → tenant_id → user_id. The cluster label can be used to identify different cluster names, such as multiple clusters like foneshare and ale; the namespace label can be used to identify permission levels, such as VIP or regular permissions; the tenant label is used to identify different tenants; and the user label is used to identify different users.

[0058] Compared to traditional tools that lack tenant awareness and data isolation capabilities, this application can identify and manage observation data based on the aforementioned multi-layered label information during both the data collection and data query stages, thereby effectively achieving multi-tenant data isolation.

[0059] In one alternative approach, the aforementioned types of observation data may include: indicator-based observation data, log-based observation data, performance-based observation data, and link-based observation data.

[0060] In one alternative embodiment, the data acquisition component 21 may include the following units:

[0061] The first data acquisition unit can, when acquiring indicator-type observation data (such as Prometheus), obtain the cluster label, namespace label, and user label of the indicator-type observation data according to the preset acquisition strategy, add tenant labels to the indicator-type observation data, write the indicator-type observation data into the Prometheus database, and create a first query interface to provide access to the Prometheus database, such as the Thanos query interface.

[0062] The second data acquisition unit can collect log-type observation data (such as Fluent-Bit), obtain the cluster label, namespace label, and user label of the log-type observation data according to the preset acquisition strategy, add tenant labels to the log-type observation data, write the log-type observation data into the ClickHouse database or Loki database, and create a second query interface to provide access to the ClickHouse database or Loki database.

[0063] The third data acquisition unit can collect performance-related observation data (such as Pyroscope), obtain cluster tags, namespace tags, tenant tags, user tags, and service tags (such as service names) based on the preset acquisition strategy, upload the performance-related observation data to the server's database, and create a third query interface to provide database access to the server.

[0064] The fourth data acquisition unit can collect link-type observation data (such as Jaeger / Tempo), obtain the cluster label, namespace label, and user label of the link-type observation data according to the preset acquisition strategy, associate it with business requests, add tenant labels to the link-type observation data, write the link-type observation data into the ClickHouse database, and create a fourth query interface to provide access to the ClickHouse database.

[0065] In an alternative approach, the aforementioned data acquisition component 21 can provide a unified data query interface through the Grafana data source plugin.

[0066] In this embodiment, by constructing a unified collection strategy based on naming conventions for monitoring metric tags, log data, and performance metrics, the fragmentation of monitoring data caused by enterprise systems distributed across multiple Kubernetes clusters and namespaces is effectively solved, enabling cross-tenant data analysis and real-time monitoring. Furthermore, by employing Grafana multi-data source plugin extension technology, unified collection, aggregation, and analysis of heterogeneous data sources such as Prometheus, ClickHouse, Pyroscope, and Loki are achieved, resolving the data silo problem caused by multiple data sources within the same system and realizing cross-data source integration.

[0067] In one alternative approach, when the data management component 22 creates the mapping relationship between the multi-layered label information and query interfaces of the observation data, it can do so based on the query interfaces of the multiple types of observation data corresponding to each layer of label information. For example, a cluster label can correspond to query interfaces of multiple types of observation data. This establishes a correspondence between each layer of label information and multiple types of observation data, enabling rapid retrieval of observation data from multiple databases when querying observation data based on label information.

[0068] In an alternative approach, when the data visualization component 23 provides a visualization interface and variable options based on the multi-layered label information, a JSON template can be used in the Grafana dashboard to ensure a consistent template and variable options are displayed on the visualization interface. Data can be exported in formats such as JSON and CSV for easier version management, import / export, and batch distribution.

[0069] This application adopts a unified JSON template design, which realizes the reusability and template storage of the monitoring dashboard, supports batch deployment and management across tenants and environments, improves the observability and maintainability of the system, and can also support the reuse of monitoring templates, greatly improving the efficiency of new tenants and cluster access; and due to the loose coupling of the structure, it supports the access of more data sources and observability capabilities, such as alarms and comparison functions.

[0070] In an optional implementation, the data visualization component 23 can provide a visualization interface and variable options based on the multi-level tag information. For example, when the multi-level tag information includes cluster tags, namespace tags, tenant tags, and user tags, the visualization interface can provide cluster variable options, namespace variable options, tenant variable options, and user variable options that correspond one-to-one with the multi-level tag information. Other variable options, such as application, service, and business, can also be customized according to actual monitoring needs. Figure 5 As shown, the variable options in the visualization interface can be environment (i.e., cluster), namespace, tenant, and application. After the user selects a target variable option, all tag information in the target variable option can be extracted as the target tag information according to the order of the multi-level tag information. For example, the target variable can be filtered based on the order of ${cluster_id}, ${namespace}, ${tenant_id}, and ${user_id}.

[0071] Optionally, when the user selects the cluster variable option as the target variable, multiple query interfaces corresponding to multiple types of observation data can be queried based on the mapping relationship. These query interfaces can then be used to access multiple corresponding databases to obtain observation data from multiple databases. When the user enters "foneshare" as the cluster variable, all types of databases under that cluster can be retrieved, such as... Figure 6 As shown. Furthermore, when a user inputs multiple variable options, a multi-dimensional joint index can be performed based on the multiple label information corresponding to those options to find the corresponding observation data.

[0072] In an alternative embodiment, the aforementioned data visualization component 23 can also be used to reconstruct the query statement based on the Query template function and display the query results when a user enters a query statement corresponding to the current type of observation data in the monitoring dashboard interface. For example, when a user enters a query statement corresponding to the current type of observation data in the monitoring dashboard interface... Figure 7a When the monitoring dashboard interface is shown, it displays charts and data of indicator-based observation data. Users can enter query statements in the input area at the bottom of the interface, based on the query statement type of the Prometheus database, to perform more detailed queries on the indicator-based observation data. Users can also... Figures 7a-7b The area indicated by the red arrow in the image allows you to switch the observation data type. If you switch to log-type observation data, it will display as shown below. Figure 7b The monitoring dashboard interface shown has different templates for different types of observation data. Users can enter query statements in the input area below, based on the query statement type of the ClickHouse database, to perform refined queries on log-type observation data. Because this application can encapsulate multi-data source syntax adaptation into Query template functions, it enables different query syntaxes (PromQL, SQL, etc.) from heterogeneous data sources to query the same tenant's data.

[0073] This application's embodiments enable unified query management of different data sources across different clusters, as well as flexible filtering and querying of variable options. Therefore, it supports multi-dimensional data filtering and complex query conditions, enabling multi-level data analysis and reporting.

[0074] It should be noted that, for the sake of simplicity, the foregoing method embodiments are all described as a series of actions. However, those skilled in the art should understand that this application is not limited to the described order of actions, as some steps may be performed in other orders or simultaneously according to this application. Furthermore, those skilled in the art should also understand that the embodiments described in the specification are preferred embodiments, and the actions and modules involved are not necessarily essential to this application.

[0075] Through the above description of the embodiments, those skilled in the art can clearly understand that the path planning method according to the above embodiments can be implemented by means of software plus necessary general-purpose hardware platform. Of course, it can also be implemented by hardware, but in many cases the former is a better implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a storage medium (such as ROM / RAM, magnetic disk, optical disk) and includes several instructions to cause a terminal device (which may be a mobile phone, computer, server, or network device, etc.) to execute the methods of the various embodiments of this application.

[0076] Example 2

[0077] According to an embodiment of this application, a method for implementing the above-described SaaS multi-tenant observation method is also provided. This method is applied to a SaaS multi-tenant observable platform, and the device is implemented in software or hardware. Figure 1 The aforementioned computer terminal.

[0078] like Figure 8 As shown, this SaaS multi-tenant observation method includes:

[0079] Step S801: Collect multiple types of observation data in multiple clusters, and create multi-layered tag information with a unified naming format for the observation data according to the preset collection strategy;

[0080] Step S802: Create a corresponding query interface for the observation data. The query interface is used to access the database to which the observation data belongs and to create a mapping relationship between the multi-level label information of the observation data and the query interface.

[0081] Step S803: Provide a visualization interface and variable options based on the multi-layer label information. When the user selects the target variable option, confirm the target label information according to the target variable option, determine the target query interface corresponding to the target label information in the mapping relationship, access the corresponding database through the target query interface to obtain target observation data, and display the target observation data through the visualization interface.

[0082] It should be noted here that the above steps S801, S802, and S803 correspond to the data acquisition component 21, data management component 22, and data visualization component 23 in Embodiment 1. The above three steps and the corresponding three components implement the same instances and application scenarios, but are not limited to the content disclosed in Embodiment 1.

[0083] Optionally, the above-mentioned multi-layered label information may include: cluster label, namespace label, tenant label, and user label.

[0084] Optionally, the above-mentioned multiple types of observation data may include: indicator-based observation data, log-based observation data, performance-based observation data, and link-based observation data.

[0085] Optionally, step S801 specifically includes:

[0086] When collecting indicator-type observation data, the cluster label, namespace label, and user label of the indicator-type observation data are obtained according to the preset collection strategy, and a tenant label is added to the indicator-type observation data. The indicator-type observation data is then written into the Prometheus database and a first query interface is created.

[0087] Collect log-type observation data, obtain the cluster label, namespace label and user label of the log-type observation data according to the preset collection strategy, add tenant label to the log-type observation data, write the log-type observation data into the ClickHouse database or Loki database, and create a second query interface;

[0088] Collect performance-related observation data, and create cluster tags, namespace tags, tenant tags, user tags, and service tags based on the preset collection strategy. Upload the performance-related observation data to the server's database and create a third query interface.

[0089] Collect link-type observation data, obtain cluster tags, namespace tags, and user tags of the link-type observation data according to the preset collection strategy, associate business requests, add tenant tags to the link-type observation data, write the link-type observation data into the ClickHouse database, and create a fourth query interface.

[0090] Optionally, the mapping relationship between the multi-layer label information of the observation data and the query interface in step S802 above includes:

[0091] Each layer of label information in the multi-layered label information corresponds to a query interface for the multiple types of observation data.

[0092] Optionally, step S803 above provides a visual interface and variable options based on the multi-layer label information, including:

[0093] The data visualization component uses a JSON template in the Grafana dashboard to ensure that the visualization interface displays a unified template and unified variable options.

[0094] Optionally, confirming the target label information based on the target variable option in step S803 above includes:

[0095] The data visualization component extracts all the label information from the target variable options in the order of the multi-layer label information as the target label information.

[0096] Optionally, after step S803 above, the method further includes:

[0097] When a user enters a query statement corresponding to the current type of observation data in the monitoring dashboard interface, the query statement is reconstructed based on the Query template function, and the query results are displayed.

[0098] Example 3

[0099] Embodiments of this application may provide a computing device, which can be any computer terminal device in a group of computer terminals. Optionally, in this embodiment, the computing device may also be replaced by a mobile terminal or other terminal device. Optionally, in this embodiment, the computer device may implement the aforementioned SaaS multi-tenant observation method.

[0100] Optionally, in this embodiment, the computing device described above may be located in at least one of a plurality of network devices in a computer network.

[0101] Optionally, in this embodiment, the computing device includes one or more processors, a memory, and a transmission device. The memory can be used to store software programs and modules, such as the program instructions / modules corresponding to the SaaS multi-tenant observability platform and device in this embodiment. The processor executes various functional applications and data processing by running the software programs and modules stored in the memory, thereby implementing the aforementioned SaaS multi-tenant observability method.

[0102] Optionally, the memory may include high-speed random access memory (RAM), and may also include non-volatile memory, such as one or more magnetic storage devices, flash memory, or other non-volatile solid-state memory. In some instances, the memory may further include memory remotely located relative to the processor, which can be connected to the computing device 120 via a network. Examples of such networks include, but are not limited to, the Internet, intranets, local area networks (LANs), mobile communication networks, and combinations thereof.

[0103] In this embodiment, when the processor in the above-mentioned computing device runs the stored program code, it can perform the following method steps:

[0104] Multiple types of observation data are collected in multiple clusters, and multi-layered tag information with a unified naming format is created for the observation data according to a preset collection strategy;

[0105] Create a corresponding query interface for the observation data. The query interface is used to access the database to which the observation data belongs and to create a mapping relationship between the multi-level label information of the observation data and the query interface.

[0106] The system provides a visual interface and variable options based on the multi-layered label information. When the user selects a target variable option, the system confirms the target label information based on the target variable option, determines the target query interface corresponding to the target label information in the mapping relationship, accesses the corresponding database through the target query interface to obtain target observation data, and displays the target observation data through the visual interface.

[0107] Furthermore, in this embodiment, when the processor in the above-mentioned computing device runs the stored program code, it can execute any of the method steps listed in Embodiment 1, which will not be repeated here due to space limitations.

[0108] Example 4

[0109] Embodiments of this application also provide a storage medium. Optionally, in this embodiment, the storage medium can be used to store the program code executed by the aforementioned SaaS multi-tenant observable platform.

[0110] Optionally, in this embodiment, the storage medium may be located in any computer terminal in a group of computer terminals in a computer network, or in any mobile terminal in a group of mobile terminals.

[0111] Optionally, in this embodiment, the storage medium is configured to store program code for performing the following steps:

[0112] Multiple types of observation data are collected in multiple clusters, and multi-layered tag information with a unified naming format is created for the observation data according to a preset collection strategy;

[0113] Create a corresponding query interface for the observation data. The query interface is used to access the database to which the observation data belongs and to create a mapping relationship between the multi-level label information of the observation data and the query interface.

[0114] The system provides a visual interface and variable options based on the multi-layered label information. When the user selects a target variable option, the system confirms the target label information based on the target variable option, determines the target query interface corresponding to the target label information in the mapping relationship, accesses the corresponding database through the target query interface to obtain target observation data, and displays the target observation data through the visual interface.

[0115] Furthermore, in this embodiment, the storage medium is configured to store program code for performing any of the method steps listed in Embodiment 1, which will not be elaborated further due to space limitations.

[0116] The sequence numbers of the embodiments in this application are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.

[0117] In the above embodiments of this application, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.

[0118] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units is only a logical functional division, and in actual implementation, there may be other division methods. For example, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the coupling or direct coupling or communication connection shown or discussed may be through some interfaces; the indirect coupling or communication connection of units or modules may be electrical or other forms.

[0119] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.

[0120] Furthermore, the functional units in the various embodiments of this application can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.

[0121] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of this application. The aforementioned storage medium includes various media capable of storing program code, such as a USB flash drive, read-only memory (ROM), random access memory (RAM), portable hard drive, magnetic disk, or optical disk.

[0122] The above description is only a preferred embodiment of this application. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of this application, and these improvements and modifications should also be considered within the scope of protection of this application.

Claims

1. A SaaS multi-tenant observable platform, characterized in that, include: The data acquisition component is used to collect multiple types of observation data in multiple clusters and create multi-layered tag information with a unified naming format for the observation data according to a preset acquisition strategy. A data management component is used to create a corresponding query interface for the observation data. The query interface is used to access the database to which the observation data belongs and to create a mapping relationship between the multi-level tag information of the observation data and the query interface. A data visualization component is used to provide a visualization interface and variable options based on the multi-layered label information. When the user selects a target variable option, the target label information is confirmed according to the target variable option. The target query interface corresponding to the target label information is determined in the mapping relationship. The target observation data is obtained by accessing the corresponding database through the target query interface. The target observation data is displayed through the visualization interface. The multi-layered label information includes: cluster label, namespace label, tenant label, and user label; The various types of observation data include: indicator-based observation data, log-based observation data, performance-based observation data, and link-based observation data; The data acquisition component includes: The first data acquisition unit, when acquiring indicator-type observation data, obtains the cluster label, namespace label, and user label of the indicator-type observation data according to the preset acquisition strategy, adds a tenant label to the indicator-type observation data, writes the indicator-type observation data into the Prometheus database, and creates a first query interface. The second data acquisition unit collects log-type observation data, obtains the cluster label, namespace label, and user label of the log-type observation data according to the preset acquisition strategy, adds tenant labels to the log-type observation data, writes the log-type observation data into the ClickHouse database or Loki database, and creates a second query interface. The third data acquisition unit collects performance observation data, and according to the preset acquisition strategy, obtains the performance observation data to create cluster tags, namespace tags, tenant tags, user tags, and service tags. It then uploads the performance observation data to the server's database and creates a third query interface. The fourth data acquisition unit collects link-type observation data, obtains the cluster label, namespace label, and user label of the link-type observation data according to the preset acquisition strategy, associates it with business requests, adds tenant labels to the link-type observation data, writes the link-type observation data into the ClickHouse database, and creates a fourth query interface.

2. The platform according to claim 1, characterized in that, The data management component creates a mapping relationship between the multi-layered label information of the observation data and the query interface, including: Each layer of label information in the multi-layered label information corresponds to a query interface for the multiple types of observation data.

3. The platform according to claim 1, characterized in that, The data visualization component provides a visualization interface and variable options based on the multi-layered label information, including: The data visualization component uses a JSON template in the Grafana dashboard to ensure that the visualization interface displays a unified template and unified variable options.

4. The platform according to claim 1, characterized in that, The data visualization component confirms the target label information based on the target variable options, including: The data visualization component extracts all the label information from the target variable options in the order of the multi-layer label information as the target label information.

5. The platform according to claim 1, characterized in that, The data visualization component is also used for: When a user enters a query statement corresponding to the current type of observation data in the monitoring dashboard interface, the query statement is reconstructed based on the Query template function, and the query results are displayed.

6. A method for observing SaaS multi-tenancy, characterized in that, This method is applied to the SaaS multi-tenant observable platform as described in claim 1, the method comprising: Multiple types of observation data are collected in multiple clusters, and multi-layered tag information with a unified naming format is created for the observation data according to a preset collection strategy; Create a corresponding query interface for the observation data. The query interface is used to access the database to which the observation data belongs and to create a mapping relationship between the multi-level label information of the observation data and the query interface. The system provides a visual interface and variable options based on the multi-layered label information. When the user selects a target variable option, the system confirms the target label information based on the target variable option, determines the target query interface corresponding to the target label information in the mapping relationship, accesses the corresponding database through the target query interface to obtain target observation data, and displays the target observation data through the visual interface.

7. A computing device, characterized in that, Includes a processor for running a program, wherein the program executes the method as described in claim 6 during runtime.

Citation Information

Patent Citations

  • Multi-tenant service implementation method and system

    CN115480914A

  • SaaS multi-tenant data isolation method and system

    CN117389684A