Data batch operation method, device and equipment based on zabbix and storage medium

By acquiring and processing client request data, identifying Zabbix data sources, and performing batch operations, the problem of low management efficiency for multiple Zabbix systems was solved, achieving efficient operation and maintenance management.

CN115587137BActive Publication Date: 2026-04-07SHANGHAI GRANDAGE DATA SYST CO LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Filing Date
2022-11-04
Publication Date
2026-04-07

AI Technical Summary

Technical Problem

In multiple data centers and different versions of Zabbix systems, the operation and maintenance costs are high and the efficiency is low, making it difficult to manage multiple Zabbix data sources efficiently.

Method used

By acquiring the client's request data, the Zabbix data source corresponding to the data to be processed is determined and the corresponding method is executed to generate associated configuration data, thereby enabling batch processing operations and reducing operation and maintenance costs.

Benefits of technology

It enables batch operation and maintenance management of multiple Zabbix data sources, reducing manpower, improving operation and maintenance efficiency, and lowering operation and maintenance costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115587137B_ABST
    Figure CN115587137B_ABST
Patent Text Reader

Abstract

The application discloses a data batch operation method and device based on zabbix, equipment and a storage medium. The method is applied to a background server and comprises the following steps: acquiring first request data sent by a client; determining zabbix data sources corresponding to each to-be-processed data according to the first request data, and determining a first execution method of the zabbix data sources required for processing each to-be-processed data; calling each zabbix data source to execute the first execution method, obtaining and feeding back associated configuration data associated with each to-be-processed data, so that the client generates and feeds back second request data in response to a selection operation on each associated configuration data; and calling corresponding zabbix data sources to perform batch processing on each to-be-processed data according to to-be-configured information of each to-be-processed data in the second request data, and obtaining and feeding back a batch processing result. The application embodiment reduces the operation and maintenance cost of zabbix and improves the operation and maintenance efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

TECHNICAL FIELD

[0001] The present application relates to the technical field of data processing, and in particular to a data batch operation method and device based on zabbix, equipment and storage medium. BACKGROUND

[0002] With the continuous development of IT (Internet Technology) operation and maintenance, realizing efficient and low-cost operation and maintenance has become an important part in the development process of IT operation and maintenance technology. Zabbix, an enterprise-level open source solution based on WEB interface, provides distributed system monitoring and network monitoring functions, can support real-time monitoring of tens of thousands of servers, virtual machines and network devices, and can collect millions of monitoring indicators, maximize the efficiency of user management, and more and more enterprises choose to use Zabbix.

[0003] However, with more and more devices involved in the operation and maintenance process of enterprises, the deployment is also more and more complex, and often a set of Zabbix is not enough to adapt to the growing operation and maintenance scene. In the process of maintaining multiple data centers and multiple sets of different versions of Zabbix, the operation and maintenance cost is greatly increased, and the operation and maintenance efficiency is greatly reduced. SUMMARY

[0004] The present application provides a data batch operation method and device based on zabbix, equipment and storage medium, so as to reduce the operation and maintenance cost of zabbix and improve the operation and maintenance efficiency.

[0005] According to an aspect of the present application, a data batch operation method based on zabbix is provided, applied to a background server, the method comprising:

[0006] Obtaining first request data sent by a client; wherein the first request data is generated by the client in response to batch data processing operation; the first request data comprises related information of at least one to-be-processed data;

[0007] According to the first request data, determining the zabbix data source corresponding to each to-be-processed data, and determining the first execution method of the zabbix data source required for processing each to-be-processed data;

[0008] Calling each zabbix data source to execute the first execution method, obtaining and feeding back associated configuration data associated with each to-be-processed data, so as to generate and feed back second request data in response to the selection operation of each associated configuration data by the client;

[0009] According to the to-be-configured information of each of the to-be-processed data in the second request data, a corresponding zabbix data source is called to perform batch processing on each of the to-be-processed data, and a batch processing result is obtained and fed back.

[0010] According to another aspect of the present application, a zabbix-based data batch processing method applied to a client is provided, and the method comprises:

[0011] In response to a batch data processing operation, first request data is generated, wherein the first request data comprises relevant information of at least one to-be-processed data;

[0012] The first request data is sent to a background server, so that the background server determines a zabbix data source corresponding to each of the to-be-processed data according to the first request data, and determines and calls a first execution method of the zabbix data source required to process each of the to-be-processed data, to obtain and feed back associated configuration data associated with each of the to-be-processed data;

[0013] In response to a selection operation on each of the associated configuration data, second request data is generated and fed back, so that the background server calls a corresponding zabbix data source to perform batch processing on each of the to-be-processed data according to to-be-configured information of each of the to-be-processed data in the second request data;

[0014] The batch processing result fed back by the background server is received.

[0015] According to another aspect of the present application, a zabbix-based data batch processing device configured in a background server is provided, and the device comprises:

[0016] A first request data acquisition module is configured to acquire first request data sent by a client, wherein the first request data is generated by the client in response to a batch data processing operation, and the first request data comprises relevant information of at least one to-be-processed data;

[0017] A first execution method determination module is configured to determine a zabbix data source corresponding to each of the to-be-processed data according to the first request data, and determine a first execution method of the zabbix data source required to process each of the to-be-processed data;

[0018] An associated configuration data determination module is configured to call each of the zabbix data sources to execute the first execution method, to obtain and feed back associated configuration data associated with each of the to-be-processed data, so that the client generates and feeds back second request data in response to a selection operation on each of the associated configuration data;

[0019] The batch processing result determination module is configured to call a corresponding zabbix data source to perform batch processing on each of the to-be-processed data according to to-be-configured information of each of the to-be-processed data in the second request data, and obtain and feed back a batch processing result.

[0020] According to another aspect of the present application, there is provided a zabbix-based data batch operation apparatus configured at a client, comprising:

[0021] The first request data generation module is configured to generate first request data in response to a batch data processing operation; wherein the first request data comprises relevant information of at least one to-be-processed data.

[0022] The first request data sending module is configured to send the first request data to a background server, so that the background server determines a zabbix data source corresponding to each of the to-be-processed data according to the first request data, and determines and calls a first execution method of the zabbix data source required for processing each of the to-be-processed data, to obtain and feed back associated configuration data associated with each of the to-be-processed data.

[0023] The second request data generation module is configured to generate and feed back second request data in response to a selection operation on each of the associated configuration data, so that the background server calls a corresponding zabbix data source to perform batch processing on each of the to-be-processed data according to to-be-configured information of each of the to-be-processed data in the second request data.

[0024] The batch processing result receiving module is configured to receive a batch processing result fed back by the background server.

[0025] According to another aspect of the present application, there is provided an electronic device, comprising:

[0026] at least one processor; and

[0027] a memory in communication connection with the at least one processor; wherein

[0028] The memory stores a computer program executable by the at least one processor, and the computer program is executed by the at least one processor to enable the at least one processor to execute the zabbix-based data batch operation method according to any one of the embodiments of the present application.

[0029] According to another aspect of the present application, there is provided a computer readable storage medium storing computer instructions for enabling a processor to execute the zabbix-based data batch operation method according to any one of the embodiments of the present application when executed by the processor.

[0030] The embodiment of the present application obtains the first request data, determines the zabbix data source corresponding to each to-be-processed data, and determines the first execution method of the zabbix data source required for processing each to-be-processed data; calls each zabbix data source to execute the first execution method, obtains and feeds back the associated configuration data associated with each to-be-processed data, so that the client generates and feeds back the second request data in response to the selection operation of each associated configuration data; and according to the to-be-configured information of each to-be-processed data in the second request data, calls the corresponding zabbix data source to perform batch processing on each to-be-processed data, and obtains and feeds back the batch processing result. The above scheme realizes the operation and maintenance management of multiple zabbix data sources, does not need to log in multiple zabbix data sources to perform operation and maintenance operations, can simultaneously perform batch operations on the data of multiple zabbix data sources, reduces the operation and maintenance cost of zabbix, reduces human resources, and improves the operation and maintenance efficiency.

[0031] It should be understood that the content described in this part is not intended to identify the key or important features of the embodiments of the present application, nor is it intended to limit the scope of the present application. Other features of the present application will become apparent from the following description. BRIEF DESCRIPTION OF DRAWINGS

[0032] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings needed in the embodiment description will be briefly introduced below. Obviously, the drawings in the following description are only some embodiments of the present application, and other drawings can be obtained by those skilled in the art without creative labor.

[0033] Figure 1 is a flowchart of a zabbix-based data batch operation method according to an embodiment of the present application;

[0034] Figure 2 is a flowchart of a zabbix-based data batch operation method according to an embodiment of the present application;

[0035] Figure 3 is an interaction schematic diagram of a zabbix-based data batch operation method according to an embodiment of the present application;

[0036] Figure 4 is an interaction schematic diagram of a zabbix-based data batch operation method according to an embodiment of the present application;

[0037] Figure 5 is a structural schematic diagram of a zabbix-based data batch operation device according to an embodiment of the present application;

[0038] Figure 6 is a structural schematic diagram of a zabbix-based data batch operation device according to an embodiment of the present application;

[0039] Figure 7 is a structural schematic diagram of an electronic device implementing a zabbix-based data batch operation method according to an embodiment of the present application. DETAILED DESCRIPTION

[0040] In order to make the personnel in the technical field better understand the present application scheme, the technical scheme in the embodiment of the present application will be described clearly and completely below in combination with the drawings in the embodiment of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, not all. Based on the embodiments in the present application, all other embodiments obtained by the person skilled in the art without creative labor should belong to the scope of protection of the present application.

[0041] It should be noted that the terms "first", "second" and the like in the specification and claims of the present application and the above-mentioned drawings are used to distinguish similar objects, and do not necessarily indicate a specific order or sequence. It should be understood that the data thus used can be interchanged under appropriate circumstances, so that the embodiments of the present application described herein can be implemented in an order other than that illustrated or described herein. In addition, the terms "include" and "have" and any variations thereof are intended to cover non-exclusive inclusion, for example, a process, method, system, product or device including a series of steps or units does not necessarily have to be limited to those steps or units clearly listed, but can include other steps or units not clearly listed or inherent to these processes, methods, products or devices.

[0042] Embodiment one

[0043] Figure 1 A flowchart of a zabbix-based data batch operation method according to an embodiment of the present application is provided. The present embodiment can be applied to the batch management of data based on a zabbix data source. The method can be performed by a zabbix-based data batch operation device, which can be implemented in the form of hardware and / or software and can be configured in an electronic device. The method can be applied to a background server, as shown in the figure, and the method comprises the following steps. Figure 1

[0044] S110, obtaining first request data sent by a client; wherein the first request data is generated by the client in response to a batch data processing operation; the first request data includes relevant information of at least one data to be processed.

[0045] ​Among them, batch data processing operations can include adding hosts, modifying monitoring items, adding templates, deleting templates, or viewing triggers in batches on Zabbix data sources deployed in the same or different data centers.

[0046] The requester can select or import the batch data processing operations to be performed on the client's operation page. For example, if the batch data processing operation is to add hosts, the requester can manually enter or import the relevant information of the hosts to be added via an Excel spreadsheet.

[0047] It's important to note that adding hosts in batch processing can involve simultaneously adding different hosts to the same or different versions of the Zabbix data source. However, adding hosts to a Zabbix data source typically requires manual addition one by one, which is labor-intensive, inefficient, and requires significant manpower. Therefore, when the requester performs a host addition operation, they need to select the corresponding Zabbix data source for each host to be added. For example, if there are three hosts to be added: host A, host B, and host C, and two Zabbix data sources: Zabbix 4.0 and Zabbix 5.0, and host A and host C need to be added to the Zabbix 4.0 data source, then Zabbix 4.0 becomes the Zabbix data source for host A and host C; similarly, if host B needs to be added to Zabbix 5.0, then Zabbix 5.0 becomes the Zabbix data source for host B.

[0048] The first request data may include information related to at least one piece of data to be processed. This data is related to a batch data processing operation; for example, if the batch data processing operation is a host addition operation, the data to be processed may be related data of the host to be added; if the batch data processing operation is a monitoring item modification operation, the data to be processed may be monitoring item query conditions. For example, monitoring item query conditions may be information on all monitoring items containing the letter "t". The data format of the first request data may be a JSON (JavaScript Object Notation) data stream.

[0049] The first request data also includes information about the Zabbix data source corresponding to the data to be processed. For example, if the data to be processed is related to a host to be added, the first request data may include the host address, hostname, and Zabbix data source corresponding to the host to be added.

[0050] For example, the requester performs batch data processing operations on the client's operation page. The client will generate corresponding first request data based on the batch data processing operations and send it to the backend server, which will then obtain and process the first request data.

[0051] S120. Based on the first request data, determine the Zabbix data source corresponding to each piece of data to be processed, and determine the first execution method of the Zabbix data source required to process each piece of data to be processed.

[0052] The Zabbix data source corresponding to each piece of data to be processed can be obtained by parsing the first request data.

[0053] The first execution method corresponds to the data to be processed. Different batch data processing operations correspond to different data to be processed, and therefore different first execution methods. For example, the first execution method for adding a host is different from the first execution method for modifying a monitoring item; the number of execution methods required is different, and so are the required execution methods. Specifically, the backend server can determine the first execution method of the Zabbix data source to be used based on the data to be processed.

[0054] S130. Call each Zabbix data source to execute the first execution method, obtain and return the associated configuration data associated with each data to be processed, so that the client can respond to the selection operation of each associated configuration data, and generate and return the second request data.

[0055] It should be noted that the backend server is pre-configured with various versions of Zabbix data sources to perform monitoring tasks. This includes the API (Application Program Interface) access addresses of each Zabbix data source, as well as the account information for each Zabbix data source.

[0056] In one optional embodiment, the batch data processing operation is a host addition operation; the first request data includes host information of at least one host to be added; correspondingly, the first execution method includes a group acquisition method, a template acquisition method, and a proxy acquisition method; accordingly, each Zabbix data source is invoked to execute the first execution method to obtain and return the associated configuration data associated with each data to be processed, including: invoking each Zabbix data source to execute the group acquisition method to obtain at least one associated group data associated with each host to be added; invoking each Zabbix data source to execute the template acquisition method to obtain at least one associated template data associated with each host to be added; invoking each Zabbix data source to execute the proxy acquisition method to obtain at least one associated proxy data associated with each host to be added; and returning each associated group data, each associated template data, and each associated proxy data as the associated configuration data associated with each host to be added to the client.

[0057] Among them, the group acquisition method can be the execution method for obtaining available groups under the Zabbix data source, the template acquisition method can be the execution method for obtaining available templates under the Zabbix data source, and the proxy acquisition method can be the execution method for obtaining available templates under the Zabbix data source.

[0058] For example, if the batch data processing operation is a host addition operation, the corresponding data to be processed is at least one host selected or imported by the requester to be added; the first request data includes the host information of each host to be added; wherein, the host information may include the host address, hostname, and corresponding Zabbix data source of the host to be added. After the backend server obtains the first request data, it can parse the first request data to obtain the required Zabbix data source for each host to be added. After logging in with the account information of each Zabbix data source stored in the backend server, it calls the execution methods of the Zabbix data source, including the group retrieval method hostgroup.get(), the template retrieval method template.get(), and the proxy retrieval method proxy.get().

[0059] The backend server can obtain at least one associated group data by calling the group retrieval method of the corresponding Zabbix data source; the associated group data may include available group IDs (identity documents, unique coded identifiers), etc. It can also obtain at least one associated template data by calling the template retrieval method of the corresponding Zabbix data source; the associated template data may include available template IDs, etc. Furthermore, it can obtain at least one associated proxy data by calling the proxy retrieval method of the corresponding Zabbix data source; the associated proxy data may include proxy IDs, etc. All associated group data, associated template data, and associated proxy data are used as the association configuration data for each host to be associated, encapsulated into a JSON data stream, and then fed back to the client.

[0060] It should be noted that during the execution of the first execution method of each Zabbix data source, in order to improve execution efficiency, each Zabbix data source can be executed in parallel in batches. After all Zabbix data sources have been executed, the obtained associated configuration data is encapsulated into a JSON data stream and fed back to the client.

[0061] In another optional embodiment, the batch data processing operation is a monitoring item modification operation; the first request data includes at least one monitoring item query condition; correspondingly, the first execution method includes a monitoring item acquisition method; correspondingly, each Zabbix data source is invoked to execute the execution method to obtain and return the associated configuration data associated with each piece of data to be processed, including: invoking each Zabbix data source to execute the monitoring item acquisition method; obtaining at least one monitoring item to be modified based on the monitoring item query condition and the monitoring item acquisition method; and returning each monitoring item to be modified as the associated configuration data corresponding to each monitoring item query condition to the client.

[0062] One method for obtaining monitoring items is to retrieve all monitoring items supported by the corresponding Zabbix data source.

[0063] For example, if the batch data processing operation is a monitoring item modification operation, the corresponding data to be processed is at least one monitoring item query condition selected or input by the requester; the first request data includes relevant information about each monitoring item query condition; wherein, the first request data includes the Zabbix data source to which each monitoring item query condition applies. After the backend server obtains the first request data, it can parse the first request data to obtain the Zabbix data source to which each monitoring query condition applies. After logging in using the stored account information of each Zabbix data source, the backend server calls the monitoring item retrieval method item.get() of the Zabbix data source to obtain at least one monitoring item to be modified corresponding to the monitoring item query condition. The monitoring item to be modified is used as the associated configuration data corresponding to each monitoring item query condition, and encapsulated into a JSON data stream, which is then fed back to the client.

[0064] It should be noted that during the execution of the first execution method of each Zabbix data source, in order to improve execution efficiency, each Zabbix data source can be executed in parallel in batches. After all Zabbix data sources have been executed, the obtained associated configuration data is encapsulated into a JSON data stream and fed back to the client.

[0065] For example, after the client obtains the associated configuration data, the associated configuration data is displayed on the operation page for the operator to select. For instance, if the batch data processing operation is a host addition operation, the corresponding associated configuration data includes associated group data, associated template data, and associated proxy data. The operator can then select each group, template, and proxy. For example, the operator can pull the corresponding host to be added to the sub-level of the corresponding group, template, or proxy. After the selection is completed, the client generates the corresponding second request data and sends the second request data to the backend server.

[0066] It should be noted that different versions of Zabbix data sources require different input parameters during batch processing. Therefore, after the backend server receives the first request data, it can determine the version information of the Zabbix data source corresponding to each piece of data to be processed based on the first request data, and then send the version information and associated configuration data back to the client.

[0067] For example, if the batch data processing operation is a host addition operation, the client determines whether host tags and SNMP (Simple Network Management Protocol) type details are needed based on the version information of the obtained Zabbix data source. If the batch data processing operation is a monitoring item modification operation, the client determines whether application set and tag information are needed based on the version information of the obtained Zabbix data source. For example, monitoring items in Zabbix 4.0 require application set information, while monitoring items in Zabbix 6.0 require tag information.

[0068] It is understandable that some Zabbix data sources require host tags or detailed host SNMP type information, while others do not. The client displays the generated host tags and detailed host SNMP type information as detailed configuration information, along with the associated configuration data, to the requesting party. In response to the requesting party's selection of associated configuration data and detailed configuration information, a second request is generated and sent back to the backend server.

[0069] The second request data includes detailed configuration information and associated configuration data selected by the requester that are related to the data to be processed. For example, the second request data may include the group, agent, and template to which the data to be added belongs, as well as the tag and SNMP type details of the data to be added. For example, if the batch data processing operation is a monitoring item modification operation, the second request data may include the modified monitoring item attribute information. If the batch data processing operation is a host addition operation, the second request data may be the corresponding group, template, and agent selected by the requester for each host to be added.

[0070] S140. Based on the configuration information of each data to be processed in the second request data, call the corresponding Zabbix data source to perform batch processing on each data to be processed, and obtain and return the batch processing results.

[0071] If the batch data processing operation is a monitoring item modification operation, the configuration information to be configured in the second request data may include the modified monitoring item attribute information, etc. If the batch data processing operation is a host addition operation, the configuration information to be configured in the second request data may include the corresponding group, template, and agent selected by the requester for each host to be added, etc.

[0072] For example, for different batch data processing operations and corresponding second request data, different execution methods of Zabbix data sources can be used to batch process each data to be processed, obtain batch processing results, and feed them back to the client.

[0073] In one optional embodiment, based on the configuration information of each data to be processed in the second request data, the corresponding Zabbix data source is invoked to perform batch processing on each data to be processed, and the batch processing results are obtained and fed back. This includes: dividing each data to be processed belonging to the same Zabbix data source into the same data source group to obtain at least one data to be processed group; selecting a preset number of data to be processed from each data to be processed group to obtain the target data to be processed corresponding to each data to be processed group; determining a second execution method in the Zabbix data source for each data to be processed to process the corresponding target data to be processed; obtaining the corresponding batch processing results based on the configuration information of each target data to be processed and the target execution method, and feeding back the batch processing results to the client.

[0074] For example, the backend server groups the acquired data to be processed. Specifically, data belonging to the same Zabbix data source is grouped into the same processing group, resulting in at least one processing group. For instance, if there are data to be processed A, B, C, D, E, and F; and Zabbix data sources A, B, and C, where the versions of the three Zabbix data sources can be the same or different: If data to be processed A and F correspond to Zabbix data source A, then data to be processed A and F are grouped into the same processing group M, indicating that the data in this group will be processed in batches by Zabbix data source A. If data to be processed B and E correspond to Zabbix data source B, then data to be processed B and E are grouped into the same processing group N, indicating that the data in this group will be processed in batches by Zabbix data source B. If the required data source for both data C and data D is Zabbix data source C, then data C and data D will be assigned to the same processing group Z, indicating that the data in this group will be processed in batches by Zabbix data source C.

[0075] The preset quantity can be pre-set by relevant technical personnel. For example, the preset quantity could be 3. Each preset quantity of data to be processed in the pending group is used as the target pending data, and the corresponding Zabbix data source is invoked for canary deployment processing. Based on the target execution method of the corresponding Zabbix data source, the batch processing results of the corresponding Zabbix data source are obtained. The target execution method varies depending on the batch data processing operation. For example, for a host addition operation, the corresponding target execution method could be the host.create() method; for a monitoring item modification operation, the corresponding target execution method could be the monitoring item update() method.

[0076] For example, if there are three groups to be processed: A, B, and C; where each of groups A and B contains 10 pieces of data to be processed, and each of group C contains 9 pieces of data to be processed; and the preset quantity is 3, then 3 pieces of data to be processed are arbitrarily selected from each of the three groups as target data to be processed. This yields target data Aa, Ab, and Ac for group A; target data Ba, Bb, and Bc for group B; and target data Ca, Cb, and Cc for group C.

[0077] If the batch data processing operation is a host addition operation, then the three Zabbix data sources corresponding to the three pending groups simultaneously perform batch processing on the target pending data under each pending group. The host addition method `host.create()` is called to add the three hosts corresponding to the three target pending data in the corresponding pending group, and the corresponding addition result is returned. If the addition is successful, the remaining pending data and their corresponding hosts are added; if the addition fails, the operation is terminated, the reason for the failure is recorded, and the addition result is returned to the client as the batch processing result.

[0078] If the batch data processing operation is a monitoring item modification operation, then the three Zabbix data sources corresponding to the three pending groups simultaneously perform batch processing on the target pending data under each pending group. The monitoring item update method `item.update()` is called to update the three monitoring items to be modified corresponding to the three target pending data in the corresponding pending group, and the update results are fed back. If the update is successful, the remaining pending data corresponding to the monitoring items to be modified are updated; if the update fails, the operation is terminated, the reason for the failure is recorded, and the update result is fed back to the client as the batch processing result.

[0079] This invention's embodiment determines the Zabbix data source corresponding to each piece of data to be processed based on the acquired first request data, and determines a first execution method for the Zabbix data source required to process each piece of data. It then calls each Zabbix data source to execute the first execution method, obtaining and returning associated configuration data related to each piece of data to be processed, allowing the client to respond to selection operations on each associated configuration data, and generating and returning second request data. Based on the configuration information of each piece of data to be processed in the second request data, it calls the corresponding Zabbix data source to perform batch processing on each piece of data to be processed, obtaining and returning the batch processing results. This solution enables the operation and maintenance management of multiple Zabbix data sources without requiring separate logins to each Zabbix data source for operation and maintenance. It allows for simultaneous batch operations on data from multiple Zabbix data sources, reducing Zabbix operation and maintenance costs, minimizing manpower, and improving operation and maintenance efficiency.

[0080] Example 2

[0081] Figure 2 This is a flowchart illustrating a Zabbix-based batch data operation method according to Embodiment 2 of the present invention. This embodiment is applicable to batch management of data based on a Zabbix data source. The method can be executed by a Zabbix-based batch data operation device, which can be implemented in hardware and / or software and can be configured in an electronic device. This method can be applied to a client, such as... Figure 2 As shown, the method includes:

[0082] S210. In response to the batch data processing operation, generate first request data; wherein the first request data includes information related to at least one piece of data to be processed.

[0083] Among them, batch data processing operations can include adding hosts, modifying monitoring items, adding templates, deleting templates, or viewing triggers in batches on Zabbix data sources deployed in the same or different data centers.

[0084] The requester can select or import the batch data processing operations to be performed on the client's operation page. For example, if the batch data processing operation is to add hosts, the requester can manually enter or import the relevant information of the hosts to be added via an Excel spreadsheet.

[0085] It's important to note that adding hosts in batch processing can involve simultaneously adding different hosts to the same or different versions of the Zabbix data source. However, adding hosts to a Zabbix data source typically requires manual addition one by one, which is labor-intensive, inefficient, and requires significant manpower. Therefore, when the requester performs a host addition operation, they need to select the corresponding Zabbix data source for each host to be added. For example, if there are three hosts to be added: host A, host B, and host C, and two Zabbix data sources: Zabbix 4.0 and Zabbix 5.0, and host A and host C need to be added to the Zabbix 4.0 data source, then Zabbix 4.0 becomes the Zabbix data source for host A and host C; similarly, if host B needs to be added to Zabbix 5.0, then Zabbix 5.0 becomes the Zabbix data source for host B.

[0086] The first request data may include information related to at least one piece of data to be processed. This data is related to a batch data processing operation; for example, if the batch data processing operation is a host addition operation, the data to be processed may be related data of the host to be added; if the batch data processing operation is a monitoring item modification operation, the data to be processed may be monitoring item query conditions. For example, the monitoring item query conditions may be information on all monitoring items containing the letter "t". The data format of the first request data may be a JSON data stream.

[0087] The first request data also includes information about the Zabbix data source corresponding to the data to be processed. For example, if the data to be processed is related to a host to be added, the first request data may include the host address, hostname, and Zabbix data source corresponding to the host to be added.

[0088] For example, the requester performs batch data processing operations on the client's operation page. The client will generate corresponding first request data based on the batch data processing operations and send it to the backend server, which will then obtain and process the first request data.

[0089] S220. The first request data is sent to the backend server so that the backend server can determine the Zabbix data source corresponding to each piece of data to be processed based on the first request data, and determine and call the first execution method of the Zabbix data source required to process each piece of data to be processed, and obtain and return the associated configuration data associated with each piece of data to be processed.

[0090] The Zabbix data source corresponding to each piece of data to be processed can be obtained by parsing the first request data.

[0091] The first execution method corresponds to the data to be processed. Different batch data processing operations correspond to different data to be processed, and therefore different first execution methods. For example, the first execution method for adding a host is different from the first execution method for modifying a monitoring item; the number of execution methods required is different, and so are the required execution methods. Specifically, the backend server can determine the first execution method of the Zabbix data source to be used based on the data to be processed.

[0092] It should be noted that the backend server is pre-configured with various versions of Zabbix data sources to perform monitoring tasks. This includes the API access addresses and account information for each Zabbix data source.

[0093] In one optional embodiment, the batch data processing operation can be a host addition operation; the first request data can include host information of at least one host to be added; correspondingly, the first execution method can include a group acquisition method, a template acquisition method, and a proxy acquisition method; accordingly, calling each Zabbix data source to execute the first execution method to obtain and return the associated configuration data associated with each data to be processed can specifically be as follows: calling each Zabbix data source to execute the group acquisition method to obtain at least one associated group data associated with each host to be added; calling each Zabbix data source to execute the template acquisition method to obtain at least one associated template data associated with each host to be added; calling each Zabbix data source to execute the proxy acquisition method to obtain at least one associated proxy data associated with each host to be added; and returning each associated group data, each associated template data, and each associated proxy data as the associated configuration data associated with each host to be added to the client.

[0094] Among them, the group acquisition method can be the execution method for obtaining available groups under the Zabbix data source, the template acquisition method can be the execution method for obtaining available templates under the Zabbix data source, and the proxy acquisition method can be the execution method for obtaining available templates under the Zabbix data source.

[0095] For example, if the batch data processing operation is a host addition operation, the corresponding data to be processed is at least one host selected or imported by the requester to be added; the first request data includes the host information of each host to be added; wherein, the host information may include the host address, hostname, and corresponding Zabbix data source of the host to be added. After the backend server obtains the first request data, it can parse the first request data to obtain the required Zabbix data source for each host to be added. After logging in with the account information of each Zabbix data source stored in the backend server, it calls the execution methods of the Zabbix data source, including the group retrieval method hostgroup.get(), the template retrieval method template.get(), and the proxy retrieval method proxy.get().

[0096] The backend server can obtain at least one associated group data by calling the group retrieval method of the corresponding Zabbix data source; the associated group data may include available group IDs, etc. It can also obtain at least one associated template data by calling the template retrieval method of the corresponding Zabbix data source; the associated template data may include available template IDs, etc. Furthermore, it can obtain at least one associated proxy data by calling the proxy retrieval method of the corresponding Zabbix data source; the associated proxy data may include proxy IDs, etc. All associated group data, associated template data, and associated proxy data are used as the association configuration data for each host to be associated, encapsulated into a JSON data stream, and then fed back to the client.

[0097] It should be noted that during the execution of the first execution method of each Zabbix data source, in order to improve execution efficiency, each Zabbix data source can be executed in parallel in batches. After all Zabbix data sources have been executed, the obtained associated configuration data is encapsulated into a JSON data stream and fed back to the client.

[0098] In another optional embodiment, the batch data processing operation can also be a monitoring item modification operation; the first request data can include at least one monitoring item query condition; correspondingly, the first execution method includes a monitoring item acquisition method; accordingly, each Zabbix data source is called to execute the execution method to obtain and return the associated configuration data associated with each data to be processed, specifically: calling each Zabbix data source to execute the monitoring item acquisition method; based on the monitoring item query condition and the monitoring item acquisition method, obtaining at least one monitoring item to be modified; and returning each monitoring item to be modified as the associated configuration data corresponding to the monitoring item query condition to the client.

[0099] One method for obtaining monitoring items is to retrieve all monitoring items supported by the corresponding Zabbix data source.

[0100] For example, if the batch data processing operation is a monitoring item modification operation, the corresponding data to be processed is at least one monitoring item query condition selected or input by the requester; the first request data includes relevant information about each monitoring item query condition; wherein, the first request data includes the Zabbix data source to which each monitoring item query condition applies. After the backend server obtains the first request data, it can parse the first request data to obtain the Zabbix data source to which each monitoring query condition applies. After logging in using the stored account information of each Zabbix data source, the backend server calls the monitoring item retrieval method item.get() of the Zabbix data source to obtain at least one monitoring item to be modified corresponding to the monitoring item query condition. The monitoring item to be modified is used as the associated configuration data corresponding to each monitoring item query condition, and encapsulated into a JSON data stream, which is then fed back to the client.

[0101] It should be noted that during the execution of the first execution method of each Zabbix data source, in order to improve execution efficiency, each Zabbix data source can be executed in parallel in batches. After all Zabbix data sources have been executed, the obtained associated configuration data is encapsulated into a JSON data stream and fed back to the client.

[0102] For example, after the client obtains the associated configuration data, the associated configuration data is displayed on the operation page for the operator to select. For instance, if the batch data processing operation is a host addition operation, the corresponding associated configuration data includes associated group data, associated template data, and associated proxy data. The operator can then select each group, template, and proxy. For example, the operator can pull the corresponding host to be added to the sub-level of the corresponding group, template, or proxy. After the selection is completed, the client generates the corresponding second request data and sends the second request data to the backend server.

[0103] S230. In response to the selection operation of each associated configuration data, generate and return second request data, so that the backend server can call the corresponding Zabbix data source to process each data in batches according to the configuration information of each data to be processed in the second request data.

[0104] It should be noted that different versions of Zabbix data sources require different input parameters during batch processing. Therefore, after the backend server receives the first request data, it can determine the version information of the Zabbix data source corresponding to each piece of data to be processed based on the first request data, and then send the version information and associated configuration data back to the client.

[0105] In one optional embodiment, the associated configuration data includes version information of each Zabbix data source; correspondingly, before generating and feeding back the second request data in response to the selection operation of each associated configuration data, the method further includes: generating detailed configuration information of each data to be processed corresponding to the Zabbix data source based on the version information of each Zabbix data source; correspondingly, generating and feeding back the second request data in response to the selection operation of each associated configuration data includes: generating and feeding back the second request data in response to the selection operation of each associated configuration data and detailed configuration information.

[0106] For example, if the batch data processing operation is a host addition operation, the client determines whether host tags and host SNMP type details are needed based on the version information of the obtained Zabbix data source. If the batch data processing operation is a monitoring item modification operation, the client determines whether application set and tag information are needed based on the version information of the obtained Zabbix data source. For example, monitoring items in Zabbix 4.0 require application set information, while monitoring items in Zabbix 6.0 require tag information.

[0107] It is understandable that some Zabbix data sources require host tags or detailed host SNMP type information, while others do not. The client displays the generated host tags and detailed host SNMP type information as detailed configuration information, along with the associated configuration data, to the requesting party. In response to the requesting party's selection of associated configuration data and detailed configuration information, a second request is generated and sent back to the backend server.

[0108] The second request data includes detailed configuration information and associated configuration data selected by the requester that are related to the data to be processed. For example, the second request data may include the group, agent, and template to which the data to be added belongs, as well as the tag and SNMP type details of the data to be added. For example, if the batch data processing operation is a monitoring item modification operation, the second request data may include the modified monitoring item attribute information. If the batch data processing operation is a host addition operation, the second request data may be the corresponding group, template, and agent selected by the requester for each host to be added.

[0109] If the batch data processing operation is a monitoring item modification operation, the configuration information to be configured in the second request data may include the modified monitoring item attribute information, etc. If the batch data processing operation is a host addition operation, the configuration information to be configured in the second request data may include the corresponding group, template, and agent selected by the requester for each host to be added, etc.

[0110] For example, for different batch data processing operations and corresponding second request data, different execution methods of Zabbix data sources can be used to batch process each data to be processed, obtain batch processing results, and feed them back to the client.

[0111] In one optional embodiment, the data to be processed belonging to the same Zabbix data source are divided into groups of the same data source to obtain at least one group to be processed; a preset number of data to be processed are selected from each group to obtain the target data to be processed corresponding to each group; a second execution method is determined for each group to be processed in the Zabbix data source to process the corresponding target data to be processed; based on the configuration information of each target data to be processed, the corresponding batch processing result is obtained based on the target execution method, and the batch processing result is fed back to the client.

[0112] For example, the backend server groups the acquired data to be processed. Specifically, data belonging to the same Zabbix data source is grouped into the same processing group, resulting in at least one processing group. For instance, if there are data to be processed A, B, C, D, E, and F; and Zabbix data sources A, B, and C, where the versions of the three Zabbix data sources can be the same or different: If data to be processed A and F correspond to Zabbix data source A, then data to be processed A and F are grouped into the same processing group M, indicating that the data in this group will be processed in batches by Zabbix data source A. If data to be processed B and E correspond to Zabbix data source B, then data to be processed B and E are grouped into the same processing group N, indicating that the data in this group will be processed in batches by Zabbix data source B. If the required data source for both data C and data D is Zabbix data source C, then data C and data D will be assigned to the same processing group Z, indicating that the data in this group will be processed in batches by Zabbix data source C.

[0113] The preset quantity can be pre-set by relevant technical personnel. For example, the preset quantity could be 3. Each preset quantity of data to be processed in the pending group is used as the target pending data, and the corresponding Zabbix data source is invoked for canary deployment processing. Based on the target execution method of the corresponding Zabbix data source, the batch processing results of the corresponding Zabbix data source are obtained. The target execution method varies depending on the batch data processing operation. For example, for a host addition operation, the corresponding target execution method could be the host.create() method; for a monitoring item modification operation, the corresponding target execution method could be the monitoring item update() method.

[0114] For example, if there are three groups to be processed: A, B, and C; where each of groups A and B contains 10 pieces of data to be processed, and each of group C contains 9 pieces of data to be processed; and the preset quantity is 3, then 3 pieces of data to be processed are arbitrarily selected from each of the three groups as target data to be processed. This yields target data Aa, Ab, and Ac for group A; target data Ba, Bb, and Bc for group B; and target data Ca, Cb, and Cc for group C.

[0115] If the batch data processing operation is a host addition operation, then the three Zabbix data sources corresponding to the three pending groups simultaneously perform batch processing on the target pending data under each pending group. The host addition method `host.create()` is called to add the three hosts corresponding to the three target pending data in the corresponding pending group, and the corresponding addition result is returned. If the addition is successful, the remaining pending data and their corresponding hosts are added; if the addition fails, the operation is terminated, the reason for the failure is recorded, and the addition result is returned to the client as the batch processing result.

[0116] If the batch data processing operation is a monitoring item modification operation, then the three Zabbix data sources corresponding to the three pending groups simultaneously perform batch processing on the target pending data under each pending group. The monitoring item update method `item.update()` is called to update the three monitoring items to be modified corresponding to the three target pending data in the corresponding pending group, and the update results are fed back. If the update is successful, the remaining pending data corresponding to the monitoring items to be modified are updated; if the update fails, the operation is terminated, the reason for the failure is recorded, and the update result is fed back to the client as the batch processing result.

[0117] S240: Receive the batch processing results from the backend server.

[0118] This invention provides a solution that, in response to a batch data processing operation, generates and feeds back first request data. Based on this first request data, the backend server determines the Zabbix data source corresponding to each piece of data to be processed, and determines and invokes a first execution method for the Zabbix data source required to process each piece of data, obtaining associated configuration data for each piece of data. In response to a selection operation on each associated configuration data, a second request data is generated and fed back. Based on the configuration information for each piece of data to be processed in the second request data, the backend server invokes the corresponding Zabbix data source to perform batch processing on each piece of data. The solution then receives the batch processing results from the backend server. This solution enables the operation and maintenance management of multiple Zabbix data sources without requiring separate logins to each data source. It allows for simultaneous batch operations on data from multiple Zabbix data sources, reducing Zabbix operation and maintenance costs, minimizing manpower, and improving operational efficiency.

[0119] Example 3

[0120] Figure 3 This is a flowchart of a batch data operation method based on Zabbix provided in Embodiment 3 of the present invention. This embodiment provides a preferred example based on the above embodiments.

[0121] like Figure 3 As shown, the method includes the following specific steps:

[0122] S310. The client responds to the requester's host addition operation by generating first request data; wherein, the first request data includes information related to at least one host to be added.

[0123] S320: The client sends the first request data to the backend server.

[0124] S330: Based on the first request data, the backend server determines the Zabbix data source corresponding to each host to be added, and determines the execution method for processing the Zabbix data source required by each host to be added.

[0125] S340. The backend server determines the version information of the Zabbix data source corresponding to the host to be added.

[0126] S350: The backend server calls the group acquisition method, template acquisition method, and proxy acquisition method of each Zabbix data source to obtain at least one associated configuration data associated with each host to be added.

[0127] The associated configuration data includes associated group data obtained through the group retrieval method hostgroup.get, associated template data obtained through the template retrieval method template.get, and associated configuration data obtained through the proxy retrieval method proxy.get.

[0128] S360 and the backend server send the associated configuration data and version information of each Zabbix data source to the client.

[0129] S370: The client determines whether host tags and host SNMP type details are needed based on the version information of each Zabbix data source, and generates detailed configuration information for the hosts to be added.

[0130] S380: The client displays detailed configuration information and associated configuration data to the requester, and generates second request data based on the data selected by the requester.

[0131] S390, The client sends the second request data to the backend server.

[0132] S3100: The backend server will group all hosts to be added that belong to the same Zabbix data source into the same data source group, resulting in at least one group to be processed.

[0133] S3110: The backend server randomly selects three hosts to be added from each pending group as target hosts to be added.

[0134] S3120: The backend server calls the host addition method of the corresponding Zabbix data source, processes each target host to be added in the corresponding pending group in parallel, and obtains the host addition result.

[0135] S3130. If the host is added successfully, continue adding the remaining hosts to be added in the corresponding pending group; if the host addition fails, terminate the process of adding the host to be added.

[0136] S3140, the backend server sends the host addition result back to the client.

[0137] Example 4

[0138] Figure 4 This is a flowchart illustrating a batch data operation method based on Zabbix, as provided in Embodiment 4 of the present invention. This embodiment provides a preferred example based on the above embodiments.

[0139] like Figure 4 As shown, the method includes the following specific steps:

[0140] S410. The client responds to the monitoring item modification operation of the requester and generates first request data; wherein, the first request data includes at least one monitoring item query condition and at least one Zabbix data source on which each monitoring item query condition is applied.

[0141] S420: The client sends the first request data to the backend server.

[0142] S430. Based on the first request data, the backend server determines the execution method of the Zabbix data source required to process the modification operations of each monitoring item.

[0143] S440, the backend server determines the version information of each Zabbix data source.

[0144] S450: The backend server calls the monitoring item retrieval method of each Zabbix data source to obtain at least one associated configuration data related to the query conditions of each monitoring item.

[0145] The associated configuration data includes at least one monitoring item to be modified, which is associated with the monitoring item query conditions and obtained through the monitoring acquisition method item.get().

[0146] S460: The backend server sends the associated configuration data and version information of each Zabbix data source to the client.

[0147] S470: The client determines whether host tag information and application set are needed based on the version information of each Zabbix data source, and obtains detailed configuration information.

[0148] S480: The client displays detailed configuration information and associated configuration data to the requester, and generates second request data based on the data selected by the requester.

[0149] S490, The client sends the second request data to the backend server; wherein, the second request data includes at least one modified monitoring item.

[0150] S4100: The backend server will group the monitoring items to be modified that belong to the same Zabbix data source into the same data source group, resulting in at least one group to be processed.

[0151] S4110: The backend server randomly selects three monitoring items to be modified from each pending group as the target monitoring items to be modified.

[0152] S4120. The backend server calls the monitoring item update method of the corresponding Zabbix data source, processes each target monitoring item to be modified in the corresponding pending group in parallel, and obtains the monitoring item update result.

[0153] S4130. If the update is successful, continue to update the remaining monitoring items to be modified in the corresponding pending group; if the update fails, terminate the update process for the monitoring items to be modified.

[0154] S4140: The backend server sends the update results of the monitored items back to the client.

[0155] Example 5

[0156] Figure 5 This is a schematic diagram of a Zabbix-based batch data processing device provided in Embodiment 5 of the present invention. The Zabbix-based batch data processing device provided in this embodiment of the present invention is suitable for batch management of data based on a Zabbix data source. This Zabbix-based batch data processing device can be implemented in hardware and / or software, such as... Figure 5 As shown, the device can be configured on a backend server, and specifically includes: a first request data acquisition module 501, a first execution method determination module 502, an associated configuration data determination module 503, and a batch processing result determination module 504. Among them,

[0157] The first request data acquisition module 501 is used to acquire first request data sent by the client; wherein, the first request data is generated by the client in response to a batch data processing operation; the first request data includes information related to at least one piece of data to be processed;

[0158] The first execution method determination module 502 is used to determine the Zabbix data source corresponding to each of the data to be processed based on the first request data, and to determine the first execution method of the Zabbix data source required to process each of the data to be processed.

[0159] The associated configuration data determination module 503 is used to call each of the Zabbix data sources to execute the first execution method, obtain and return the associated configuration data associated with each of the data to be processed, so that the client can respond to the selection operation of each of the associated configuration data, and generate and return the second request data;

[0160] The batch processing result determination module 504 is used to call the corresponding Zabbix data source to perform batch processing on each of the data to be processed according to the configuration information of each of the data to be processed in the second request data, and to obtain and return the batch processing result.

[0161] This invention's embodiment determines the Zabbix data source corresponding to each piece of data to be processed based on the acquired first request data, and determines a first execution method for the Zabbix data source required to process each piece of data. It then calls each Zabbix data source to execute the first execution method, obtaining and returning associated configuration data related to each piece of data to be processed, allowing the client to respond to selection operations on each associated configuration data, and generating and returning second request data. Based on the configuration information of each piece of data to be processed in the second request data, it calls the corresponding Zabbix data source to perform batch processing on each piece of data to be processed, obtaining and returning the batch processing results. This solution enables the operation and maintenance management of multiple Zabbix data sources without requiring separate logins to each Zabbix data source for operation and maintenance. It allows for simultaneous batch operations on data from multiple Zabbix data sources, reducing Zabbix operation and maintenance costs, minimizing manpower, and improving operation and maintenance efficiency.

[0162] Optionally, the batch data processing operation is a host addition operation; the first request data includes host information of at least one host to be added; correspondingly, the first execution method includes a group acquisition method, a template acquisition method, and a proxy acquisition method;

[0163] Accordingly, the associated configuration data determination module 503 includes:

[0164] The associated group data determination unit is used to call each of the Zabbix data sources to execute the group acquisition method and obtain at least one associated group data associated with each of the hosts to be added;

[0165] The associated template data determination unit is used to call each of the Zabbix data sources to execute the template acquisition method and obtain at least one associated template data associated with each of the hosts to be added;

[0166] The associated proxy data determination unit is used to call each of the Zabbix data sources to execute the proxy acquisition method and obtain at least one associated proxy data associated with each of the hosts to be added;

[0167] The first association configuration data determination unit is used to take the association group data, the association template data, and the association agent data as the association configuration data of the host to be added and feed them back to the client.

[0168] Optionally, the batch data processing operation is a monitoring item modification operation; the first requested data includes at least one monitoring item query condition; correspondingly, the first execution method includes a monitoring item acquisition method;

[0169] Accordingly, the associated configuration data determination module 503 includes:

[0170] The monitoring item acquisition method execution unit is used to call each of the Zabbix data sources to execute the monitoring item acquisition method;

[0171] The monitoring item acquisition unit is used to acquire at least one monitoring item to be modified based on the monitoring item acquisition method and the query conditions for each monitoring item.

[0172] The second associated configuration data determination unit is used to take each of the monitoring items to be modified as associated configuration data corresponding to the query conditions of each monitoring item and feed it back to the client.

[0173] Optionally, the batch processing result determination module 504 includes:

[0174] The pending group determination unit is used to divide each pending data belonging to the same Zabbix data source into the same data source group to obtain at least one pending group;

[0175] The target data to be processed determination unit is used to select a preset number of data to be processed from each of the data to be processed groups to obtain the target data to be processed corresponding to each data to be processed group.

[0176] The second execution method determination unit is used to determine the second execution method for processing the corresponding target data in the Zabbix data source for each of the groups to be processed.

[0177] The batch processing result determination unit is used to obtain the corresponding batch processing result based on the configuration information of each target data to be processed and the target execution method, and to feed back the batch processing result to the client.

[0178] The data batch operation device based on Zabbix provided in the embodiments of the present invention can execute the data batch operation method based on Zabbix provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the method execution.

[0179] Example 6

[0180] Figure 6 This is a schematic diagram of a Zabbix-based batch data processing device provided in Embodiment 5 of the present invention. The Zabbix-based batch data processing device provided in this embodiment of the present invention is suitable for batch management of data based on a Zabbix data source. This Zabbix-based batch data processing device can be implemented in hardware and / or software, such as... Figure 6As shown, the device can be configured on a client side, and specifically includes: a first request data generation module 601, a first request data sending module 602, a second request data generation module 603, and a batch processing result receiving module 604. Among them,

[0181] The first request data generation module 601 is used to generate first request data in response to a batch data processing operation; wherein the first request data includes information related to at least one piece of data to be processed;

[0182] The first request data sending module 602 is used to send the first request data to the backend server, so that the backend server can determine the Zabbix data source corresponding to each of the data to be processed based on the first request data, and determine and call the first execution method of the Zabbix data source required to process each of the data to be processed, and obtain and return the associated configuration data associated with each of the data to be processed.

[0183] The second request data generation module 603 is used to generate and return second request data in response to the selection operation of each of the associated configuration data, so that the backend server can call the corresponding Zabbix data source to batch process each of the data to be processed according to the configuration information of each of the data to be processed in the second request data;

[0184] The batch processing result receiving module 604 is used to receive the batch processing results fed back by the background server.

[0185] This invention provides a solution that, in response to a batch data processing operation, generates and feeds back first request data. Based on this first request data, the backend server determines the Zabbix data source corresponding to each piece of data to be processed, and determines and invokes a first execution method for the Zabbix data source required to process each piece of data, obtaining associated configuration data for each piece of data. In response to a selection operation on each associated configuration data, a second request data is generated and fed back. Based on the configuration information for each piece of data to be processed in the second request data, the backend server invokes the corresponding Zabbix data source to perform batch processing on each piece of data. The solution then receives the batch processing results from the backend server. This solution enables the operation and maintenance management of multiple Zabbix data sources without requiring separate logins to each data source. It allows for simultaneous batch operations on data from multiple Zabbix data sources, reducing Zabbix operation and maintenance costs, minimizing manpower, and improving operational efficiency.

[0186] Optionally, the associated configuration data includes version information of each of the Zabbix data sources;

[0187] Accordingly, the device also includes:

[0188] The detailed configuration information generation module is used to generate detailed configuration information for each piece of data to be processed corresponding to the Zabbix data source based on the version information of each Zabbix data source before generating and feeding back the second request data in response to the selection operation of each of the associated configuration data.

[0189] Accordingly, the second request data generation module 603 includes:

[0190] The second request data generation unit is used to generate and feed back second request data in response to the selection operation of each of the associated configuration data and detailed configuration information.

[0191] The data batch operation device based on Zabbix provided in the embodiments of the present invention can execute the data batch operation method based on Zabbix provided in any embodiment of the present invention, and has the corresponding functional modules and beneficial effects of the method execution.

[0192] Example 7

[0193] Figure 7 A schematic diagram of an electronic device 70 that can be used to implement embodiments of the present invention 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 processors, cellular phones, smartphones, wearable devices (e.g., helmets, glasses, watches, etc.), and other similar computing devices. The components shown herein, their connections and relationships, and their functions are merely illustrative and are not intended to limit the implementation of the invention described and / or claimed herein.

[0194] like Figure 7 As shown, the electronic device 70 includes at least one processor 71 and a memory, such as a read-only memory (ROM) 72 and a random access memory (RAM) 73, communicatively connected to the at least one processor 71. The memory stores computer programs executable by the at least one processor. The processor 71 can perform various appropriate actions and processes based on the computer program stored in the ROM 72 or loaded from storage unit 78 into the RAM 73. The RAM 73 can also store various programs and data required for the operation of the electronic device 70. The processor 71, ROM 72, and RAM 73 are interconnected via a bus 74. An input / output (I / O) interface 75 is also connected to the bus 74.

[0195] Multiple components in electronic device 70 are connected to I / O interface 75, including: input unit 76, such as keyboard, mouse, etc.; output unit 77, such as various types of monitors, speakers, etc.; storage unit 78, such as disk, optical disk, etc.; and communication unit 79, such as network card, modem, wireless transceiver, etc. Communication unit 79 allows electronic device 70 to exchange information / data with other devices through computer networks such as the Internet and / or various telecommunications networks.

[0196] Processor 71 can be a variety of general-purpose and / or special-purpose processing components with processing and computing capabilities. Some examples of processor 71 include, but are not limited to, a central processing unit (CPU), a graphics processing unit (GPU), various special-purpose artificial intelligence (AI) computing chips, various processors running machine learning model algorithms, a digital signal processor (DSP), and any suitable processor, controller, microcontroller, etc. Processor 71 performs the various methods and processes described above, such as Zabbix-based data batching methods.

[0197] In some embodiments, the Zabbix-based data bulk manipulation method can be implemented as a computer program tangibly contained in a computer-readable storage medium, such as storage unit 78. In some embodiments, part or all of the computer program can be loaded and / or installed on electronic device 70 via ROM 72 and / or communication unit 79. When the computer program is loaded into RAM 73 and executed by processor 71, one or more steps of the Zabbix-based data bulk manipulation method described above can be performed. Alternatively, in other embodiments, processor 71 can be configured to perform the Zabbix-based data bulk manipulation method by any other suitable means (e.g., by means of firmware).

[0198] Various embodiments of the systems and techniques described above 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), systems-on-a-chip (SoCs), payload-programmable logic devices (CPLDs), computer hardware, firmware, software, and / or combinations thereof. These various embodiments may include implementations in one or more computer programs that can be executed and / or interpreted on a programmable system including at least one programmable processor, which may be a dedicated or general-purpose programmable processor, capable of receiving data and instructions from a storage system, at least one input device, and at least one output device, and transmitting data and instructions to the storage system, the at least one input device, and the at least one output device.

[0199] Computer programs used to implement the methods of the present invention may be written in any combination of one or more programming languages. These computer programs may be provided to a processor of a general-purpose computer, a special-purpose computer, or other programmable data processing device, such that when executed by the processor, the computer programs cause the functions / operations specified in the flowcharts and / or block diagrams to be performed. The computer programs may be executed entirely on a machine, partially on a machine, or as a standalone software package, partially on a machine and partially on a remote machine, or entirely on a remote machine or server.

[0200] In the context of this invention, a computer-readable storage medium can be a tangible medium that may contain or store a computer program for use by or in conjunction with an instruction execution system, apparatus, or device. A computer-readable storage medium may include, but is not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, apparatus, or devices, or any suitable combination thereof. Alternatively, a computer-readable storage medium may be a machine-readable signal medium. More specific examples of machine-readable storage media include electrical connections based on one or more wires, portable computer disks, hard disks, random access memory (RAM), read-only memory (ROM), erasable programmable read-only memory (EPROM or flash memory), optical fibers, portable compact disk read-only memory (CD-ROM), optical storage devices, magnetic storage devices, or any suitable combination thereof.

[0201] To provide interaction with a user, the systems and techniques described herein can be implemented on an electronic device 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 provides input to the electronic device. Other types of devices can also be used to provide interaction with the user; for example, 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 sound input, voice input, or tactile input).

[0202] The systems and technologies described herein can be implemented in computing systems that include backend components (e.g., as data servers), or computing systems that include middleware components (e.g., application servers), or computing systems that include frontend components (e.g., user computers with graphical user interfaces or web browsers through which users can interact with implementations of the systems and technologies described herein), or any combination of such backend, middleware, or frontend components. The components of the system can be interconnected via digital data communication of any form or medium (e.g., communication networks). Examples of communication networks include local area networks (LANs), wide area networks (WANs), blockchain networks, and the Internet.

[0203] A computing system can include clients and servers. Clients and servers are generally located far apart and typically interact through communication networks. The client-server relationship is created by computer programs running on the respective computers and having a client-server relationship with each other. The server can be a cloud server, also known as a cloud computing server or cloud host, which is a hosting product within the cloud computing service system to address the shortcomings of traditional physical hosts and VPS services, such as high management difficulty and weak business scalability.

[0204] It should be understood that the various forms of processes shown above can be used, with steps reordered, added, or deleted. For example, the steps described in this invention can be executed in parallel, sequentially, or in different orders, as long as the desired result of the technical solution of this invention can be achieved, and this is not limited herein.

[0205] The specific embodiments described above do not constitute a limitation on the scope of protection of this invention. Those skilled in the art should understand that various modifications, combinations, sub-combinations, and substitutions can be made according to design requirements and other factors. Any modifications, equivalent substitutions, and improvements made within the spirit and principles of this invention should be included within the scope of protection of this invention.

Claims

1. A method for batch data operations based on Zabbix, characterized in that, Applied to a backend server, the method includes: Obtain first request data sent by the client; wherein the first request data is generated by the client in response to a batch data processing operation; the first request data includes information related to at least one piece of data to be processed; Based on the first request data, the Zabbix data source corresponding to each of the data to be processed is determined, and a first execution method for the Zabbix data source required to process each of the data to be processed is determined; the backend server is pre-configured with various versions of Zabbix data sources for performing monitoring work, including the application interface API access address of each Zabbix data source and the account information of the Zabbix data source. The first execution method is executed by calling each of the Zabbix data sources to obtain and return the associated configuration data associated with each of the data to be processed, so that the client can respond to the selection operation of each of the associated configuration data, and generate and return the second request data; Based on the configuration information of each data to be processed in the second request data, the corresponding Zabbix data source is invoked to perform batch processing on each data to be processed, and the batch processing results are obtained and fed back.

2. The method according to claim 1, characterized in that, The batch data processing operation is a host addition operation; the first request data includes host information of at least one host to be added; correspondingly, the first execution method includes a group acquisition method, a template acquisition method, and a proxy acquisition method; Accordingly, the step of invoking each of the Zabbix data sources to execute the first execution method, obtaining and returning the associated configuration data associated with each of the data to be processed, includes: The group acquisition method is executed by calling each of the Zabbix data sources to obtain at least one associated group data associated with each of the hosts to be added; The template acquisition method is executed by calling each of the Zabbix data sources to obtain at least one associated template data associated with each of the hosts to be added; The agent acquisition method is executed by calling each of the Zabbix data sources to obtain at least one associated agent data associated with each of the hosts to be added; The associated group data, associated template data, and associated agent data are used as the associated configuration data for each host to be associated, and are fed back to the client.

3. The method according to claim 1, characterized in that, The batch data processing operation is a monitoring item modification operation; the first request data includes at least one monitoring item query condition; correspondingly, the first execution method includes a monitoring item acquisition method; Accordingly, the step of calling each of the Zabbix data sources to execute the execution method, obtaining and returning the associated configuration data associated with each of the data to be processed, includes: The method for obtaining the monitoring item is executed by calling each of the aforementioned Zabbix data sources; Based on the query conditions for each monitoring item, and using the monitoring item acquisition method, at least one monitoring item to be modified is obtained. The monitoring items to be modified are used as associated configuration data corresponding to the query conditions of each monitoring item, and then fed back to the client.

4. The method according to any one of claims 1-3, characterized in that, The step of calling the corresponding Zabbix data source to batch process each piece of data to be processed based on the configuration information of each piece of data to be processed in the second request data, and obtaining and returning the batch processing results, includes: Each piece of data to be processed belonging to the same Zabbix data source is divided into a group of the same data source, resulting in at least one group to be processed; A preset number of data to be processed are selected from each of the groups to be processed to obtain the target data to be processed corresponding to each group to be processed. Determine the target execution method for processing the corresponding target data in the Zabbix data source for each of the aforementioned groups to be processed. Based on the configuration information of each target data to be processed, and based on the target execution method, the corresponding batch processing results are obtained, and the batch processing results are fed back to the client.

5. A data batching method based on Zabbix, characterized in that, Applied to a client, the method includes: In response to a batch data processing operation, a first request data is generated; wherein the first request data includes information related to at least one piece of data to be processed; The first request data is sent to the backend server, so that the backend server can determine the Zabbix data source corresponding to each piece of data to be processed based on the first request data, and determine and call the first execution method of the Zabbix data source required to process each piece of data to be processed, and obtain and return the association configuration data associated with each piece of data to be processed; the backend server is pre-configured with various versions of Zabbix data sources for performing monitoring work, including the application interface API access address of each Zabbix data source and the account information of the Zabbix data source; In response to the selection operation of each of the associated configuration data, a second request data is generated and fed back, so that the backend server can call the corresponding Zabbix data source to batch process each of the data to be processed according to the configuration information of each of the data to be processed in the second request data; Receive the batch processing results from the backend server.

6. The method according to claim 5, characterized in that, The associated configuration data includes version information for each of the Zabbix data sources; Accordingly, before generating and feeding back the second request data in response to the selection operation of each of the associated configuration data, the method further includes: Based on the version information of each Zabbix data source, generate detailed configuration information for each piece of data to be processed corresponding to the Zabbix data source. Accordingly, the step of generating and feeding back second request data in response to the selection operation of each of the associated configuration data includes: In response to the selection operation of each of the associated configuration data and detailed configuration information, a second request data is generated and fed back.

7. A data batch operation device based on Zabbix, characterized in that, Configured on the backend server, including: The first request data acquisition module is used to acquire first request data sent by the client; wherein, the first request data is generated by the client in response to a batch data processing operation; the first request data includes information related to at least one piece of data to be processed; The first execution method determination module is used to determine the Zabbix data source corresponding to each of the data to be processed based on the first request data, and to determine the first execution method of the Zabbix data source required to process each of the data to be processed; the backend server is pre-configured with various versions of Zabbix data sources for performing monitoring work, including the application interface API access address of each Zabbix data source and the account information of the Zabbix data source. The associated configuration data determination module is used to call each of the Zabbix data sources to execute the first execution method, obtain and return the associated configuration data associated with each of the data to be processed, so that the client can respond to the selection operation of each of the associated configuration data, and generate and return the second request data; The batch processing result determination module is used to call the corresponding Zabbix data source to perform batch processing on each of the data to be processed according to the configuration information of each of the data to be processed in the second request data, and to obtain and return the batch processing result.

8. A data batch operation device based on Zabbix, characterized in that, Configuration on the client side includes: The first request data generation module is used to generate first request data in response to a batch data processing operation; wherein, the first request data includes information related to at least one piece of data to be processed; The first request data sending module is used to send the first request data to the backend server, so that the backend server can determine the Zabbix data source corresponding to each piece of data to be processed based on the first request data, and determine and call the first execution method of the Zabbix data source required to process each piece of data to be processed, and obtain and return the association configuration data associated with each piece of data to be processed; the backend server is pre-configured with various versions of Zabbix data sources for performing monitoring work, including the application interface API access address of each Zabbix data source and the account information of the Zabbix data source. The second request data generation module is used to generate and return second request data in response to the selection operation of each of the associated configuration data, so that the backend server can call the corresponding Zabbix data source to batch process each of the data to be processed according to the configuration information of each of the data to be processed in the second request data; The batch processing result receiving module is used to receive the batch processing results fed back by the backend server.

9. An electronic device, characterized in that, The electronic device includes: At least one processor; and A memory communicatively connected to the at least one processor; wherein, The memory stores a computer program that can be executed by the at least one processor to enable the at least one processor to perform the Zabbix-based data batching method according to any one of claims 1-4 and / or claims 5-6.

10. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores computer instructions that cause a processor to execute the data batching method based on any one of claims 1-4 and / or claims 5-6.

Citation Information

Patent Citations

  • Method for monitoring trigger notification based on Zabbix

    CN110445694A

  • Unified monitoring method based on zabbix and related equipment

    CN115022168A